Installer Etherpad avec Docker
Etherpad

Installer Etherpad avec Docker

Table des matières

GitHub - ether/etherpad-lite: Etherpad: A modern really-real-time collaborative document editor.
Etherpad: A modern really-real-time collaborative document editor. - ether/etherpad-lite

Parfois il se peut que vous ayez besoin de collaborer sur un texte pour diverses raisons, il existe bien un service Google dont je ne me souviens absolument plus du nom et c'est très bien comme ça, mais si vous êtes un féru de self-hosting, vous pourrez héberger ce service vous-même et tout ce que l'on peu dire, c'est qu'il est efficace et performant!

Vous pouvez aussi vous en servir comme bloc-note en ligne.

Aujourd’hui nous allons parler d'Etherpad et on va creuser un peu les détails!


⚡Caractéristiques

Etherpad est un éditeur en ligne open source hautement personnalisable offrant une édition collaborative en temps réel.

  • Modifier des documents de manière collaborative en temps réel.
  • Inviter des connaissances pour collaborer avec vous.
  • 290 Plugins.
  • 105 langues, dont le français bien entendu!
  • Clavardage, autrement dit, une fenêtre pour discuter avec les personnes qui collaborent avec vous.
  • Changez l'apparence de votre instance Etherpad.

L'installation

  1. Créez votre docker-compose.yml:
sudo nano docker-compose.yml
  1. Collez ça dedans:
services:
  app:
    user: "0:0"
    image: etherpad/etherpad:latest
    tty: true
    stdin_open: true
    volumes:
      - plugins:/opt/etherpad-lite/src/plugin_packages
      - etherpad-var:/opt/etherpad-lite/var
    depends_on:
      - postgres
    environment:
      NODE_ENV: production
      #REQUIRE_AUTHENTICATION: true
      ADMIN_PASSWORD: ${DOCKER_COMPOSE_APP_ADMIN_PASSWORD:-admin}
      #USER_PASSWORD: ${DOCKER_COMPOSE_APP_USER_PASSWORD:-user}
      DB_CHARSET: ${DOCKER_COMPOSE_APP_DB_CHARSET:-utf8mb4}
      DB_HOST: postgres
      DB_NAME: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
      DB_PASS: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
      DB_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
      DB_TYPE: "postgres"
      DB_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
      # For now, the env var DEFAULT_PAD_TEXT cannot be unset or empty; it seems to be mandatory in the latest version of etherpad
      DEFAULT_PAD_TEXT: ${DOCKER_COMPOSE_APP_DEFAULT_PAD_TEXT:- }
      DISABLE_IP_LOGGING: ${DOCKER_COMPOSE_APP_DISABLE_IP_LOGGING:-false}
      SOFFICE: ${DOCKER_COMPOSE_APP_SOFFICE:-null}
      TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
    restart: always
    ports:
      - "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"

  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
      POSTGRES_PASSWORD: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
      POSTGRES_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
      POSTGRES_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
      PGDATA: /var/lib/postgresql/data/pgdata
    restart: always
    # Exposing the port is not needed unless you want to access this database instance from the host.
    # Be careful when other postgres docker container are running on the same port
    # ports:
    #   - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data/pgdata

volumes:
  postgres_data:
  plugins:
  • REQUIRE_AUTHENTICATION: true => Si vous souhaitez une fenêtre d'authentification, retirer l'# devant la ligne et faites de même pour la ligne suivante.
  • USER_PASSWORD: ${DOCKER_COMPOSE_APP_USER_PASSWORD:-user} => Si vous avez activé l'authentification, donc la ligne précédente, retirez également l'# devant la ligne.

Ce qui donne:

NODE_ENV: production
REQUIRE_AUTHENTICATION: true
ADMIN_PASSWORD: ${DOCKER_COMPOSE_APP_ADMIN_PASSWORD:-admin}
USER_PASSWORD: ${DOCKER_COMPOSE_APP_USER_PASSWORD:-user}
DB_CHARSET: ${DOCKER_COMPOSE_APP_DB_CHARSET:-utf8mb4}
  1. Créez votre .env:
sudo nano .env
  1. Collez ça dedans:
DOCKER_COMPOSE_APP_PORT_PUBLISHED=9001
DOCKER_COMPOSE_APP_PORT_TARGET=9001

DOCKER_COMPOSE_APP_DEV_ENV_DEFAULT_PAD_TEXT="Bienvenue sur Etherpad!"

DOCKER_COMPOSE_APP_ADMIN_PASSWORD=MotDePasseFort
#DOCKER_COMPOSE_APP_USER_PASSWORD=meuh

DOCKER_COMPOSE_POSTGRES_DATABASE=db
DOCKER_COMPOSE_POSTGRES_PASSWORD=etherpad-lite-password
DOCKER_COMPOSE_POSTGRES_USER=etherpad-lite-user
  • DOCKER_COMPOSE_APP_DEV_ENV_DEFAULT_PAD_TEXT="Bienvenue sur Etherpad!" => Vous pouvez le changer, mais je n'ai jamais vu où cela s'affichait...
  • DOCKER_COMPOSE_APP_ADMIN_PASSWORD=MotDePasseFort => Choisissez un mot de passe fort.
  • DOCKER_COMPOSE_APP_USER_PASSWORD=meuh => Choisissez un mot de passe fort.
    ⚠️ Si vous avez désactivé l'authentification, vous pouvez laisser cette ligne commentée (donc avec le # en début de ligne). Dans le cas contraire, retirez l'# en début de ligne.
  1. On installe l'application:
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 9001 par défaut:
http://ip:9001/

ou votre domaine:

https://mondomaine.com

Créer une note

Si vous avez créé un mot de passe pour l'utilisateur, quand vous lancerez l'application vous arriverez sur une fenêtre d'authentification:

  • Nom d'utilisateur: user
  • Mot de passe: celui qui vous avez défini dans le fichier.env.

La page d'accueil:

  • Soit vous créez un Nouveau bloc-notes.
  • Soit vous ouvrez une note déjà existante en tapant son nom dans la barre de recherche.

Présentation de l'interface

Etherpad est vraiment très simple d'utilisation mais faisons un petit tour quand même.

En haut à gauche

Vous avez des options courantes pour le texte. En passant votre souris dessus vous saurez à quoi servent ces fonctions.

Dans l'ordre:

  • Pour écrire en gras.
  • Pour écrire en italique.
  • Pour souligner le texte.
  • Pour barrer le texte.
  • Liste ordonnée.
  • Indenter.
  • Désindenter.
  • Annuler.
  • Rétablir.
  • Enlever le surlignage.

En haut à droite

  • La double flèche sert à importer ou exporter un pad, c'est à dire une feuille crée grâce à Etherpad ou encore du HTML ou du texte brut:
  • La seconde option est une révision dynamique:
  • ⭐ Permet d'enregistrer la révision.
  • ⚙️ Permet de régler quelques options.
  • 🔗 Permet de partager l'espace de travail grâce à un lien ou par incorporation de lien:
  • 👥 Permet de voir les collaborateurs et de les renommer ou encore leur attribuer une couleur:

En bas à droite

Un espace pour bavarder, ou devrais-je dire "clavarder":


Atteindre la partie administrateur

Pour vous rendre dans la partie administrateur il faudra ajouter /admin/ à la fin de votre URL. Ici comme j'étais en local, ça donne ceci:

http://192.168.1.152:9001/admin/

Et vous arriverez ici:

  • Nom d'utilisateur: admin
  • Mot de passe: celui que vous avez défini dans le fichier .en

Une fois authentifié:


Changer de thème

Il y a deux façons pour arriver à changer le thème. Car le thème par défaut ressemble à ceci:

💡
Il faudra choisir l'une ou l'autre car si vous mélangez les deux façons, ça donne quelque chose de pas terrible du tout.

La première façon

La première sert à définir un thème de base, par exemple le thème que j'ai mis ici est celui par défaut pour tout utilisateur:

Pour choisir le thème par défaut, ajouter /p/test#skinvariantsbuilder à votre URL.

Dans mon cas vu que je suis en local:

http://192.168.1.152:9001/p/test#skinvariantsbuilder

Ce qui vous mène ici:

Le Skin Builder va vous permettre de configurer les couleurs et si vous le souhaitez, activer l'éditeur pleine largeur, Full Width Editor.

Cela va produire un code qu'il faudra copier et mettre dans les paramètres de la partie admin:

Vous allez avoir un long texte de configuration:

Faites une recherche, CTRL + F pour avoir plus facile et localisez:

"skinName": "${SKIN_NAME:colibris}",

Et tapez le code reçu précédemment en dessous de la ligne "skinName": "${SKIN_NAME:colibris}", ;

Vous pourrez retirer ensuite la ligne "skinName": "${SKIN_NAME:colibris}", et cliquez sur:

Et ensuite sur:

La seconde façon

Rendez-vous dans la partie admin et sélectionnez:

Tapez theme dans la barre de recherche et cliquez sur Installer pour installer: ep_themes

Ce qui donne:

Maintenant retournez sur Etherpad, dans les paramètres ⚙️:

Vous avez l'option de Theme qui n'est pas présente par défaut. Cliquez sur un thème pour l'activer.

En voici quelques-uns:

Thème Terminal:

Thème Hacker:

Monokai


Les greffons

Il existe énormément de greffons donc je ne vais pas en faire le tour mais vous pouvez les retrouver dans la partie admin:


Gérer les bloc-notes

Toujours dans la partie admin:

Vous pourrez soit les supprimer ou les voir:

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.