Picapad
Ce dossier contient une image d'Etherpad Lite maintenue par l'association.
Le Docker Compose associé permet de lancer deux instances : une principale et une hebdomadaire. La seule différence est la durée de la politique de rétention.
Tous les fichiers présents ici suffisent à lancer correctement les conteneurs (application et base de données), si un Traefik tourne sur la machine cible.
Mise à jour de l'image
Pour mettre à jour la version d'Etherpad, il faut simplement modifir la variable ETHERPAD_VERSION_BUILD
du Dockerfile et le tag dans l'image dans docker-compose.yml.
On vérifiera qu'il n'y a pas de nouveaux paramètres importants dans le fichier settings.json
, sur l'historique GitHub.
Notez vos changements dans le fichier CHANGELOG.md.
Avant de mettre à jour le service en production, pensez à prévenir tous les utilisateurs connectés :
- Sur https://pad.picasoft.net/admin/message_to_all pour l'instance principale
- Sur https://week.pad.picasoft.net/admin/message_to_all pour l'instance hebdomadaire
Le mot de passe administrateur est défini dans le fichier de secrets.
Configuration
Etherpad se configure au lancement du conteneur avec des variables d'environnement. Elles sont présentes à deux endroits :
- Les fichiers dans secrets contiennent les variables nécessaires pour créer une base de données, un utilisateur et stocker les mots de passe.
- Le reste des variables d'environnement non-confidentielles est affecté directement dans le docker-compose.yml, via la directive
environment
.
Lors d'un premier lancement, sur la machine cible, après avoir récupéré une version à jour de ce dépôt, copiez les fichiers en enlevant .example
et remplacez les valeurs. Ces fichiers sont importés depuis [docker-compose.yml][./docker-compose.yml]. Attention, les secrets doivent être différents pour les deux instances.
Toutes les paramètres sont configurables via l'environnement. On pourra regarder le fichier settings.json pour une référence. Des explications sont disponibles ici. Ce fichier contient uniquement les valeurs par défaut. La configuration doit avoir lieu dans le docker-compose.yml.
Séparation des instances
Le docker-compose.yml proposé inclut deux versions : une principale, usuellement sur pad.picasoft.net, et une hebdomadaire, usuellement sur week.pad.picasoft.net.
Pour les lancer sur différentes machines, on lancera :
# Pour l'instance principale, sur la machine A
docker-compose up -d etherpad-app && docker-compose logs -f
# Pour l'instance hebdomadaire, sur la machine B
docker-compose up -d etherpad-week-app && docker-compose logs -f
Attention, les fichiers de secrets doivent tous exister, même ceux non-utilisés.
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 dans le Dockerfile
, sur la ligne ARG ETHERPAD_PLUGINS
, en respectant l'ordre alphabétique pour la facilité de lecture.
Page d'accueil
La page d'accueil est présente dans le dossier landing-page et est construite (i.e. compilée, minifiée...) automatiquement lors du build de l'image.
La même page d'accueil est utilisée pour les deux instances. Pour la modifier effectivement, il faudra pousser les modifications et reconstruire l'image en lançant manuellement le build via la CI.
Administration
Les tâches d'administration se réalisent sur une interface dédiée :
- https://pad.picasoft.net/admin pour l'instance principale
- https://week.pad.picasoft.net/admin pour l'instance hebdomadaire
Le mot de passe admin se trouve dans le fichier de secrets. On peut notamment inspecter la configuration, lister les pads, les supprimer et envoyer un message aux utilisateurs connectés.