Containeriser son blog Ghost

Containeriser son blog Ghost

Nous verrons comment utiliser une image ghost de docker pour containeriser un blog.

Pourquoi Ghost ?

Quand j'ai émis l’hypothèse de faire un blog, il y a presque un an, un amis m’avais conseillé Ghost, pour le design et pour casser du tout puissant Wordpress.

L’image Ghost pour docker a aussi un grand intérêt, c’est de pouvoir instancier un container sur pas mal d'architectures de processeur.
Aujourd’hui le blog que vous lisez est un container tournant sur une Raspberry Pi 3 B.
Capture-d--cran-2018-03-14---14.38.11

Le plus important sur un blog

Les articles ! Quoi qu’on fasse il faut faire en sorte que les articles soient sauvegardés, hors un container et par définition jetable et aucune données ne peut être stocké dedans (du moins, ce n’est pas viable) j’ai donc créé un volume à partir d’une sauvegarde de la dernière instanciation dans un simple dossier sur mon home.
On a plus qu’à monter notre volume là où tout ce passe : /var/lib/ghost/content

A ce stade notre commande docker run a cette tête

docker run -d -v /home/user/blog:/var/lib/ghost/content ghost

Capture-d--cran-2018-03-14---14.55.02

Ports

Personnellement toute connexion en 80/443 arrivant à mon IP sont redirigées vers le NAS Synology qui lui s’occupe de faire suivre toutes les requêtes vers blog.lucasehlinger.com en 80 ou 443 vers la Rasp en local sur son port 2368.
Si vous redirigez tout vers votre serveur où tourne ghost utilisez 80/443

A ce stade notre commande docker run a cette tête

docker run -d -p 2368:2368 -v /home/user/blog:/var/lib/ghost/content ghost

URL et environnement de production

Si tout été si simple …
Par défaut l’image ghost de docker est configuré en environnement de développement et l’url du blog est un truc du genre http://localhost:2368 … magnifique … certain lien de votre blogue redirigent vers cette adresse. La solution : les variables d’environement, nous allons déclarer NODE_ENV=production et url=http://adresse_externe_du_blog.

A la fin on a une raquette avec ce genre de tête

docker run -it --name my-blog -p 2368:2368 -v /home/vous/blog:/var/lib/ghost/content -e url=adresse_externe_du_blog -e NODE_ENV=production -d arm32v7/ghost

Afficher les commentaires