Isometric illustration of a laptop with a server beside it and internet-related icons around it.
Agence web » Actualités du digital » Comment héberger votre propre site Web avec Docker et Nginx Proxy Manager

Comment héberger votre propre site Web avec Docker et Nginx Proxy Manager

Résumé

  • Un service comme CloudFlare DDNS met automatiquement à jour l'IP de votre domaine avec l'IP de votre maison.

  • Nginx Proxy Manager achemine le trafic et fournit des certificats SSL via Let's Encrypt and Deploys dans Docker.

  • Ghost est une plate-forme de blogs conviviale avec une prise en charge de Markdown et des plugins qui est facile à déployer à l'aide de Docker.

Avez-vous voulu gérer votre propre site Web, mais détester l'idée de payer des frais d'hébergement? C'est là que je me suis récemment retrouvé, alors voici comment j'ai tourné un site Web rapide en utilisant Docker, Nginx Proxy Manager et Ghost.

De quoi avez-vous besoin pour gérer un site Web personnel?

La gestion d'un site Web personnel a quelques conditions préalables. Au moment où vous êtes opérationnel, vous devriez avoir un nom de domaine, un serveur pour héberger votre site Web (qui peut même être un ancien ordinateur portable, NUC ou Raspberry Pi), Docker et quelques conteneurs déployés.

En rapport

Vous envisagez de démarrer un HomeLab? Vous avez besoin d'un NAS

Aucun domicile n'est complet sans un.

Le premier est le serveur sur lequel héberger votre site Web. Il n'est pas nécessaire que ce soit ultra-puissant, et il peut même être un ordinateur que vous avez traîné à la maison. Un Raspberry Pi, Nuc, Old Desktop ou même un ancien ordinateur portable pourrait fonctionner très bien pour ce service. Vous avez juste besoin de quelque chose fabriqué au cours des 15 dernières années qui peuvent toujours exécuter un système d'exploitation moderne (ICAMELLY LINUX, mais Windows ou MacOS fonctionneront également).

Ensuite, un nom de domaine. Vous pouvez acheter votre domaine de n'importe où, mais je recommanderais d'en trouver un qui prend en charge les DDN nativement, comme CloudFlare. Bien que vous obteniez une IP fixe lorsque vous utilisez un serveur privé virtuel (VPS) ou une autre plate-forme d'hébergement, lorsque vous hébergez votre site Web à la maison, il y a de fortes chances que votre IP change au fil du temps. C'est là qu'un DDNS (DNS dynamique) entre.

En plus d'une configuration de domaine et DDNS, vous aurez également besoin de Docker pour la méthode d'hébergement que je vais recommander ici. Docker est capable d'exécuter autant, mais, pour votre site Web, nous aurons besoin d'un conteneur DDNS, d'un proxy inversé Nginx et, bien sûr, de votre site Web lui-même.

En rapport

Docker pour les débutants: tout ce que vous devez savoir

Apprenez à utiliser cet outil de développement incroyablement populaire.

Pour configurer le conteneur DDNS DDNS CloudFlare, vous aurez besoin d'une clé API pour CloudFlare qui peut modifier les enregistrements DNS pour le domaine spécifique que vous utiliserez, le domaine lui-même et tous les sous-domaines que vous souhaitez rester à jour. Tout cela sera défini par des drapeaux environnementaux dans Docker, ce qui facilite le changement ou l'ajout de nouveaux sous-domaines et domaines à l'avenir.

Pour descendre rapidement, vous pouvez visiter un site comme quelle est mon adresse IP pour trouver votre IP publique. Allez-y et saisissez cette IP dans l'enregistrement A du domaine que vous souhaitez utiliser pour votre site Web. Votre DDNS gardera cela à jour si le domaine change, mais le saisir manuellement aidera à accélérer les choses sur la route.

Le gestionnaire de proxy Nginx gère vos besoins proxy inverses

Le premier conteneur Docker à tourner après votre DDNS sera Nginx Proxy Manager. Avec Nginx Proxy Manager, vous pourrez acheminer le trafic entrant vers le conteneur Docker de votre site Web.

En rapport

Qu'est-ce qu'un proxy inversé et comment cela fonctionne-t-il?

Les proxys inversés sont un outil utile dans la boîte à outils de tout administrateur système.

Nginx Proxy Manager est un proxy inversé. Il prend un trafic entrant sur les ports: 80 et: 443 (connexions non garanties et SSL) et les transmet ailleurs sur votre réseau. Vous devrez configurer le pare-feu de votre réseau pour transmettre les ports externes 443 et 80 sur tout ce que ces ports sont mappés pour votre installation Nginx Proxy Manager.

Une fois que vous avez le conteneur Docker Ninx Proxy Manager opérationnel avec vos ports transmis, il est temps de configurer le routage. Commencez par naviguer vers les hôtes, puis cliquez sur Ajouter un nouvel hôte. Vous verrez une fenêtre contextuelle, et c'est là que vous entrerez les informations dans votre site Web. Tapez simplement le domaine, le serveur IP et le port sur lequel vous exécuterez le site. Le port peut être ce que vous voulez et est généralement dicté par le logiciel que vous exécutez.

Par exemple, vous pourriez avoir Blog.domain.com vers le 192.168.1.6:2368, qui serait l'IP de votre serveur avec le port fantôme à la fin. Chaque fois que quelqu'un visite Blog.domain.com, il se traduirait ensuite vers votre IP publique, puis le gestionnaire de proxy Nginx le acheminerait vers le conteneur approprié.

Non seulement Nginx Proxy Manager gère le routage, mais il s'occupe également des certificats SSL via Let's Encrypt. Ces certificats SSL gratuits peuvent donner à ceux qui parcourent la tranquillité d'esprit de votre blog, ajoutant une couche supplémentaire de sécurité à la session de navigation. L'ensemble du processus SSL, Start to Terven, est également transparent dans Nginx Proxy Manager.

Une fois que vous êtes en mesure de configurer un proxy inversé, il est assez simple de configurer autant que vous le souhaitez. J'ai plus de 30 proxys inversés sur mon propre réseau, pour des services tels que Caliber Web, Audiobookshelf, Tautulli, Minecraft Serveurs, un serveur satisfaisant, un serveur Ark Survival: évolué, et bien plus encore.

Ghost est une simple plateforme de blogging qui est facile à utiliser

Maintenant que vous avez à peu près tout ce qui est installé, il est temps d'installer Ghost.

Vous vous attendiez peut-être à ce que j'utilise WordPress, car il gère une majorité d'Internet. Alors que WordPress est génial et que je l'ai utilisé depuis plus de 15 ans, Ghost est ce que je gère mon propre blog personnel à cette époque. Il est léger, facile à utiliser et, honnêtement, juste plus simple que WordPress.

Ghost vise à être un blog qui peut également avoir un composant de newsletter. Les messages sont écrits dans Markdown (ma façon préférée d'écrire), et il existe plusieurs plugins pour certains des plus grands services, comme Instagram, Discord, Mailchimp, YouTube, Patreon et d'autres.

Pour lancer Ghost, vous devrez faire quelques choses. Nous allons commencer dans Nginx Proxy Manager. Allez-y et créez un nouvel hôte proxy avec votre nom de domaine dans le premier blanc, laissez le schéma en tant que HTTP, saisissez ensuite votre serveur Docker, puis le port 2368.

Je vérifie généralement les bascules des actifs de cache, bloquez les exploits communs et la prise en charge de WebSockets. Sautez à côté de l'onglet SSL, en sautant l'onglet Emplacements personnalisés. Ici, choisissez Demander un nouveau certificat SSL et acceptez les conditions, puis entrez votre e-mail. Cliquez sur Enregistrer et votre proxy inversé est configuré.

Maintenant, retournez à votre hôte Docker. J'utilise personnellement Portainer comme une interface graphique Web pour Docker, mais comme tout se fait via Docker Compose, les fichiers de configuration sont identiques de toute façon.

Si vous souhaitez utiliser le même fichier Docker Compose que j'utilise pour mon blog Ghost, consultez mon repo GitHub HomeLab. Assurez-vous de modifier le domaine avec votre propre domaine et de modifier le mot de passe MySQL pour quelque chose de plus sécurisé aussi.

Une fois que vous avez déployé le fichier Docker Compose, votre blog fantôme devrait être opérationnel dans votre nouveau domaine!

Votre site Web est en direct! Maintenant quoi?

Si tout était bien fait et que les paramètres de transfert de port sont configurés correctement sur votre routeur, vous devriez pouvoir naviguer vers votre nom de domaine que vous configurez et accédez à l'instance fantôme en externe.

Maintenant que votre site Web est la vie, quelle est la prochaine étape? Eh bien, vous voudrez commencer par la configuration du blog Ghost. Il y a beaucoup de vidéos YouTube et d'autres articles qui vous guident à travers étape par étape quoi faire là-bas. Je n'ai même pas encore complètement compris toutes les options de configuration.

À ce stade, votre site Web est en direct sur Internet et n'importe qui peut y accéder. Vous voudrez peut-être mettre une page de destination pendant que vous y travaillez, ou tout simplement, laissez-le pendant qu'il est en construction. Commencez à publier des articles de blog, à l'envoi de newsletters par e-mail et appréciez l'hébergement de votre propre site Web personnel sur le matériel chez vous, gratuitement pour l'hébergement des frais!


Démarrer un blog à part entière n'est peut-être pas exactement ce que vous recherchez. Si c'est vous, le microblogging peut être exactement ce que vous recherchez. Il est légèrement différent des blogs traditionnels et est beaucoup plus facile à configurer car il se fait généralement sur les réseaux sociaux, ce qui signifie qu'il n'y a pas de bases de données à configurer, DDNS ou procurations inversées à configurer, et c'est souvent gratuit!

★★★★★