Aller au contenu

Etherpad#

Etherpad est une plateforme d'édition collaborative libre très légère. Elle permet de travailler à plusieurs sur un même brouillon très facilement et de les partager.

Une instance est disponible sur pad.animath.live.

La documentation de l'application est présente sur etherpad.org.

Installation#

L'installation se fait grâce à son image Docker officielle.

Sa configuration dans le fichier docker-compose.yml est standard :

  etherpad:
    build:
      context: https://github.com/ether/etherpad-lite.git
      args:
        - "ETHERPAD_PLUGINS=ep_adminpads2 ep_align ep_delete_after_delay ep_delete_empty_pads ep_comments_page ep_font_size ep_headings2"
    restart: always
    links:
      - postgres
    env_file:
      - /srv/Animath/secrets/etherpad.env
    volumes:
      - /srv/Animath/data/etherpad/settings.json:/opt/etherpad-lite/settings.json
    networks:
      - global
    labels:
      - "traefik.http.routers.etherpad.rule=Host(`pad.example.com`)"
      - "traefik.http.routers.etherpad.entrypoints=websecure"
      - "traefik.http.routers.etherpad.tls.certresolver=mytlschallenge"
      - "traefik.http.services.etherpad.loadbalancer.server.port=9001"

Les variables d'environnement contiennent les paramètres d'installation de l'application. La documentation complète est disponible sur Github.

TITLE=Etherpad - Animath
ADMIN_PASSWORD=
DB_TYPE=
DB_HOST=
DB_PORT=
DB_NAME=
DB_USER=
DB_PASS=
PAD_OPTIONS_LANG=fr
DISABLE_IP_LOGGING=true  # Pour des connexions anonymes
TRUST_PROXY=true         # Pour suivre le reverse-proxy

Les plugins sont à installer à la construction de l'image, dans l'argument ETHERPAD_PLUGINS, comme indiqué ci-dessus. La liste exhaustive des plugins est disponible sur static.etherpad.org.

Les paramètres des plugins sont à définir dans le fichier settings.json, et ne peuvent pas être définies par des variables d'environnement. Avant de volumer le fichier de configuration, on peut lancer une première fois Etherpad, puis récupérer le fichier :

sudo docker cp animath_etherpad_1:/opt/etherpad-lite/settings.json /srv/Animath/data/etherpad/settings.json

On peut ensuite modifier le fichier à souhait et le volumer, comme dans la configuration ci-dessus. Il est préférable de ne pas toucher aux options de Etherpad qui peuvent être définies par des variables d'environnement, mais uniquement d'ajouter la configuration des plugins.

Pour le plugin ep_delete_after_delay permettant de laisser les pads expirer au bout d'un certain temps, on ajoute la configuration :

  /* Configure automatic deletion */
  "ep_delete_after_delay": {
    "delay": 2419200, // one month, in seconds
    "loop": true,
     "loopDelay": 43200, // twelve hours, in seconds
     "deleteAtStart": true
  }

Dernière mise à jour: 23 novembre 2020