Ghost en conteneur : Migrer vers Ghost 5

Ghost en conteneur : Migrer vers Ghost 5
Photo by Chris Briggs / Unsplash

Les changelogs
Les nouveautés de Ghost 5 dans un article de Toolinux

Le guide mise à jour

Je suis sur Ghost 4 avec MySQL, je devrais donc suivre le guide d'update.

Entrer dans le conteneur :

$ docker exec -it bibeloinfo_ghost_dev /bin/bash

Une fois dans le conteneur :

# node -v
v14.19.2

Ma version de NodeJS étant assez récente (>= 14), je n'ai pas besoin de le mettre à jour.

En revanche, je dois mettre à jour la CLI Ghost.

Dans le conteneur, mettez à jour comme ceci :

# npm install -g ghost-cli@latest
(...)
/usr/local/bin/ghost -> /usr/local/lib/node_modules/ghost-cli/bin/ghost
+ [email protected]
added 56 packages from 72 contributors, removed 3 packages, updated 10 packages and moved 1 package in 165.242s
#

Jusqu'ici, tout va bien.

Ensuite, il est recommandé de mettre à jour à la dernière version mineure de Ghost. Vérifier d'abord la version dans le panneau d'admin de Ghost :
https://dev.bibelo.info/ghost/#/whatsnew

Pour ma part, j'avais la version 4.47.1.

Le guide nous d'update nous demande alors de simplement taper ghost update v4.

Et là c'est le drame :

root@94f1756d13ff:/var/lib/ghost# ghost update v4
You can't run commands as the 'root' user.
Switch to your regular user, or create a new user with regular account privileges and use this user to run 'ghost update'.
For more information, see https://ghost.org/docs/install/ubuntu/#create-a-new-user.

root@94f1760d13aa:/var/lib/ghost#

La commande ghost update v4 ne veut pas être exécutée en tant que root. Patatra !

Après maintes circonvolutions, j'ai décidé de faire beaucoup plus simple que tout ce bazar.

Dans le docker-compose.yml, changeons simplement la ligne suivante :

    image: ghost:4

Par :

    image: ghost:5.0.1

Il faut ensuite simplement recréer le conteneur avec la commande :

docker-compose up -d

L'image Ghost:5.0.1 sera téléchargée du Docker Hub et exécutée.

A l'exécution, a priori absolument aucun souci, je suis bien en Ghost 5.0.1.