Comment héberger son blog Ghost avec Docker et Traefik en SSL - Partie 1.

Héberger son blog sur un serveur dédié, avec docker, Ghost et Traefik. Le tout en SSL. Le set-up est pas simple, mais on apprends plein de choses pendant le voyage, et c'est ce qui compte non ?

Comment héberger son blog Ghost avec Docker et Traefik en SSL - Partie 1.

Ce guide est clairement pour vous une super occasion de créer quelque chose depuis rien tout en apprenant beaucoup de choses.

Et oui, créer et héberger son propre blog en 2021, en utilisant des outils stylés c’est faisable à condition de suivre le guide, on peut vite se perdre.

Alors nous ici, on va se focus sur des outils que vous avez ptet déjà entendu parlé, mais vous n’avez jamais pris le temps d’y aller à fond, bah go on va y aller.

Nous allons travailler les outils et concepts suivants

  • Docker
  • Hébergement de serveur dédié (ou VPS)
  • Nom de domaine
  • Ghost
  • Traefik, SSL et DNS pour offrir tout ça au monde
  • Cloudflare
coding is my life
Prenez un bon petit café ☕️ , votre laptop favoris on va passer 1h ensemble. Photo by Abdelrahman Sobhy / Unsplash

Hébergement

Nous allons partir sur un VPS de chez OVH (cocorico) pour faire simple et peu couteux. Il faut tout de même choisir un serveur qui peut faire tourner Docker.

  • Rendez vous sur votre serveur ou commandez en un à l’adresse suivante
VPS
Entrez dans le Cloud avec votre VPS : tous les avantages d’un serveur dédié à tarif réduit ! Jusquà 8 vCore, mémoire 32 Go, 640 Go NVME, trafic illimité .
  • Choisissez à l’installation une distribution Ubuntu LTS sur laquelle nous viendrons installer Docker.
Choisissez à l’installation une distribution Ubuntu LTS sur laquelle nous viendrons installer Docker.

Laissez vous guider par l’assistant OVH, et vous devriez recevoir par mail vos identifiants de connexion au serveur.

Nom de domaines

Maintenant que vous avez un serveur, vous allez aussi récupérer un nom de domaine pour votre blog. Imaginons que nous souhaitions héberger notre blog à l’adresse https://blog.toto.io

Pour ce tutoriel je choisi OVH également pour récupérer mon nom de domaine, rien de plus simple sur le site d’OVH dédié aux noms de domaine

Et choisissez votre nom de domaine en fonction de vos envies et votre budget.

Vous pouvez évidemment aller sur n’importe quel autre plateforme proposant l’achat d’un nom de domaine (Gandi, Google Domain, etc.)

Une fois votre domaine acheté vous devriez le voir apparaitre sur votre tableau de bord OVH. https://www.ovh.com/manager/web/#/configuration/domains

Conservez cette page ouverte dans un coin.

Bien joué ! Nous avons un serveur et un nom de domaine, ca c’est cool.

Installation du serveur

C’est là que les choses fun commencent.

Connexion à son serveur

Sortez votre plus beau client SSH (Putty sous windows par exemple) et suivez le guide proposé ici https://docs.ovh.com/fr/vps/debuter-avec-vps/#connexion-a-votre-vps-gamme-actuelle et revenez quand vous serez fièrement connecté a votre bébé serveur.

Installation de Docker sur le VPS

$ sudo apt update
On commence par update le package manager de Ubuntu
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
On ajoute quelques dépendance pour pouvoir récupérer l’installer de Docker
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Ici on récupère la clé pour pouvoir requête le repository Docker officiel
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Enfin on ajoute le repository APT pour avoir le package Docker
sudo apt update
On re met à jour APT maintenant que l’on a ajouté le repository Docker
apt-cache policy docker-ce
On s’assure de bien installer Docker depuis le repository docker que depuis les sources par défaut de Ubuntu
sudo apt install docker-ce
ET on installe enfin Docker
sudo systemctl status docker
On vérifie rapidement que docker tourne effectivement
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago
 Docs: https://docs.docker.com
 Main PID: 10096 (dockerd)
Tasks: 16
   CGroup: /system.slice/docker.service
       ├─10096 /usr/bin/dockerd -H fd://
       └─10113 docker-containerd --config /var/run/docker/containerd/containerd.toml
Vous devriez voir apparaitre ce genre de sortie dans la console

Pour plus d’infos, j’ai récupéré ces étapes sur le tutoriel de Digital Ocean qui est toujours une excellente source d’aide. Hésitez pas à bookmark leur site.

Installation de Docker-compose

Docker compose permet de gérer plus facilement les images docker sur votre serveur, on peut ainsi s’éviter de longues commande à taper dans le terminal. A l’inverse on va plutôt construire des fichier docker-compose.yml qui seront réutilisable et bien plus simple à gérer que des lignes de commandes à rallonge.

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
C’est reparti pour un tour, on récupère l’executable docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Et on attribue les droits d’execution
docker-compose --version
Testez votre installation

Et voilà !

J’ai trouvé ces commandes d’installation docker-compose sur le site de Docker, leur documentation est rarement simple, mais pour Docker-compose c’est compréhensible.

To be continued

Dans la partie deux on terminera tout cela ! Stay tuned, le plus difficile est à venir (ca donne envie hein)

Commentaires

Connectez vous ou devenez un membre de Async pour rejoindre la conversation.
Entrez un mail ici pour recevoir un lien de connexion, super simple ⚡️