diff --git a/pica-etherpad/Dockerfile b/pica-etherpad/Dockerfile index d8adde5f0c935167e78b27c57182df652d6c75e7..77dc0d5a940b37367f0d257228e3b3f86e120c4f 100644 --- a/pica-etherpad/Dockerfile +++ b/pica-etherpad/Dockerfile @@ -46,7 +46,6 @@ RUN curl -SL https://github.com/ether/etherpad-lite/archive/${ETHERPAD_VERSION}. ep_markdown \ ep_pads_stats \ ep_page_view \ - ep_print \ ep_set_title_on_pad \ ep_subscript_and_superscript \ ep_tables2 \ diff --git a/pica-etherpad/README.md b/pica-etherpad/README.md index 0f6bd459ba7077ba7ed67e2032f73d62d52056d4..68d60967fab980757a4c917eb108c9ecad2db879 100644 --- a/pica-etherpad/README.md +++ b/pica-etherpad/README.md @@ -4,41 +4,65 @@ 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. +<!-- MarkdownTOC autolink="true" --> + +- [Environnement](#environnement) +- [Configuration](#configuration) + - [Ajouter ou modifier un paramètre](#ajouter-ou-modifier-un-param%C3%A8tre) +- [Mise à jour de l'image](#mise-%C3%A0-jour-de-limage) +- [Ajout d'un plugin](#ajout-dun-plugin) + +<!-- /MarkdownTOC --> + ## 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é depuis `docker-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 directive `environment`. Les valeurs par défaut des variables (si elles ne sont pas affectées) se trouve dans `entrypoint.sh`. -Pour info, les variables que l'on peut affecter directement dans le `docker-compose.yml` sont : +Pour information, les variables que l'on peut affecter directement dans le `docker-compose.yml` sont : * `ETHERPAD_MINIFY` -* `ETHERPAD_DEFAULT_TEXT` * `ETHERPAD_THEME` * `ETHERPAD_TITLE` * `ETHERPAD_PORT` -Elles sont toute une valeur par défaut fonctionnelle ; à ne modifier qu'en cas particulier. +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 + +1. Créer une nouvelle variable d'environnement que l'on peut affecter dans le `docker-compose.yml` +2. Récupérer cette valeur dans `entrypoint.sh` et lui substituer une valeur par défaut si elle n'existe pas +3. Rajouter le paramètre de configuration lors de la construction du fichier `settings.json` +4. Tester en local que tout fonctionne +5. Reconstruire l'image et la pousser sur le Registry +6. 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. \ No newline at end of file +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](https://static.etherpad.org/plugins.html). + +Pour installer un plugin, on évitera de passer par l'interface administrateur et on préfèrera modifier le [Dockerfile](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. \ No newline at end of file diff --git a/pica-etherpad/docker-compose.yml b/pica-etherpad/docker-compose.yml index 50eff73a964bfb4574fe3485af57cf8a2a9da295..f519eec6edfd62011d7161fefe016278e80e39e5 100755 --- a/pica-etherpad/docker-compose.yml +++ b/pica-etherpad/docker-compose.yml @@ -32,9 +32,9 @@ services: - /DATA/docker/etherpad/etherpad-db/data:/var/lib/mysql env_file: ./secrets/etherpad-db.secrets healthcheck: - test: "/usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute \"SHOW DATABASES;\"" - interval: 4s - timeout: 20s - retries: 10 + test: "/usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute \"SHOW DATABASES;\"" + interval: 4s + timeout: 20s + retries: 10 restart: always