Pica Etherpad
Ce dossier contient une image d'Etherpad Lite maintenue par l'association.
Tous les fichiers présents ici suffisent à lancer correctement les deux conteneurs (application et base de données), si un Traefik tourne sur la machine cible. Sinon, il faut simplement adapter l'URL présente dans entrypoint.sh
et exposer un port du conteneur, mais c'est hors-propos.
Environnement
Etherpad se configure au lancement du conteneur avec des variables d'environnement. Elles sont présentes à trois endroits :
- Le fichier
etherpad-app.secrets.example
contient les variables possibles pour créer un administrateur Etherpad, qui pourra par exemple modifier la configuration depuis l'interface graphique. Copiez le fichier en enlevant.example
et remplacez les valeurs. Ce fichier est importé depuisdocker-compose.yml
. - Le fichier
etherpad-db.secrets.example
contient les variables nécéssaires pour créer un utilisateur de la base de données. Le reste est similaire à l'autre fichier secret. - Le reste des variables d'environnement non-confidentielles est affecté directement dans le fichier
docker-compose.yml
, via la directiveenvironment
.
Les valeurs par défaut des variables (si elles ne sont pas affectées) se trouve dans entrypoint.sh
.
Pour information, les variables que l'on peut affecter directement dans le docker-compose.yml
sont :
ETHERPAD_MINIFY
ETHERPAD_THEME
ETHERPAD_TITLE
ETHERPAD_PORT
Elles ont toutes une valeur par défaut fonctionnelle ; à ne modifier qu'en cas particulier.
Configuration
Ajouter ou modifier un paramètre
Le fichier de configuration se trouve, dans le conteneur, à l'emplacement /opt/etherpad-lite/settings.json
. Il est construit dynamiquement à chaque lancement du conteneur par le script entrypoint.sh
.
Pour modifier la configuration, il faudra donc changer la valeur de la variable d'environnement associée et relancer le conteneur.
Pour ajouter un paramètre de configuration, il faudra :
- Créer une nouvelle variable d'environnement que l'on peut affecter dans le
docker-compose.yml
- Récupérer cette valeur dans
entrypoint.sh
et lui substituer une valeur par défaut si elle n'existe pas - Rajouter le paramètre de configuration lors de la construction du fichier
settings.json
- Tester en local que tout fonctionne
- Reconstruire l'image et la pousser sur le Registry
- Modifier le
docker-compose.yml
d'exemple et de production avec la nouvelle variable d'environnement, puis l'ajouter à ce README.
Mise à jour de l'image
Pour mettre à jour la version d'Etherpad, il faut simplement reconstruire l'image en ayant préalablement modifié la variable ETHERPAD_VERSION_BUILD
du Dockerfile.
Ensuite, on construit l'image, on la teste, on la tag et on la pousse sur le registry (procédure classique).
Il faut ensuite mettre à jour le docker-compose
d'exemple pour refléter la nouvelle version.
Ajout d'un plugin
Etherpad maintient une liste officielle des plugins.
Pour installer un plugin, on évitera de passer par l'interface administrateur et on préfèrera modifier le Dockerfile directement.
Il suffit pour ce faire d'ajouter le nom du package npm correspondant à l'endroit où ils sont tous installés (npm install
...), en respectant l'ordre alphabétique pour la facilité de lecture.
Il suffit ensuite de mettre à jour l'image.