Etherpad lite Docker Installation mit Soffice

etherpad

Voraussetzung

  • Docker
  • Docker-Compose
  • SSH Zugang
  • Lokal auf einem Server/Proxmox
  • VPS/Dediziert bei einem Provider

(Nicht zwingend notwendig, soll Etherpad nur lokal im LAN erreichbar sein)

  • NGINX Proxy Manager
  • DynDNS oder Domain/Subdomain

Meine öffentliche Etherpad Instanz
https://etherpad.perron-service.de/

Inhaltsverzeichnis

Installation

Meine Installation befindet sich bei mir in /opt/docker da ich hier schon andere Apps wie Jitsi-Meet laufen habe. Natürlich könnt ihr auch einen anderen Ort nehmen. Passt dazu einfach die Konfiguration nach euren Wünschen an.

Verbindet euch per SSH mit eurem Server

Nun downloaden wir die aktuelle Etherpad-lite Version in den Installationsordner.

vim
				git clone https://github.com/ether/etherpad-lite.git /opt/docker/etherpad-lite
			

Dann öffnen wir die .yml Datei, welche bereits eine Bespielkonfiguration enthält.

vim
				nano /opt/docker/etherpad-lite/docker-compose.yml
			

Individuelle Konfiguration

Für individuelle Einstellungen müsst ihr die folgenden Zeilen anpassen. Weicht die Installation nicht von meiner ab, dann springt weiter zu „Meine angepasste .yml.“

change from development to production if needed
target: production

./src:/opt/docker/etherpad-lite/src
./bin:/opt/docker/etherpad-lite/bin

environment:
.# change from development to production if needed
NODE_ENV: production
ADMIN_PASSWORD: DeinPasswort
DB_CHARSET: utf8mb4
DB_HOST: postgres
DB_NAME: etherpad
DB_PASS: DeinPasswort
DB_PORT: 5432
DB_TYPE: postgres
DB_USER: etherpad

Das ADMIN_PASSWORD braucht ihr später für den Adminbereich von Etherpad

DISABLE_IP_LOGGING: true

TRUST_PROXY: true

Ich nutze den NGNX Proxy Manager.

SOFFICE: /usr/bin/soffice

notwendig wenn ihr Soffice installieren wollt. wenn nicht, gebt keinen Pfad an.

ports:

  • 9001:9001

    Nur der fordere Port darf geändert werden, sofern dieser bereits von einem anderen Container genutzt wird.

environment:
POSTGRES_DB: etherpad
POSTGRES_PASSWORD: DeinPasswort
POSTGRES_PORT: 5432
POSTGRES_USER: etherpad
PGDATA: /var/lib/postgresql/data/pgdata

Datenbankserver PostgreSQL. Hier müssen die Anmeldedaten rein, welche ihr oben festgelegt habt, damit Etherpad sich mit der Datenbank verbinden kann.

Hab Ihr eure Anpassungen vorgenommen speichert und schließt Nano mit Strg+X und Y

Sollte euer Installationsort von meinem nicht abweichen, könnt ihr auch einfach meine Konfigurationsdatei kopieren. Ändert bitte die Passwörter.

Meine angepasste .yml

Docker
				version: "3.8"

# Add this file to extend the docker-compose setup, e.g.:
# docker-compose build --no-cache
# docker-compose up -d --build --force-recreate

services:
  app:
    build:
      context: .
      args:
        ETHERPAD_PLUGINS:
      # change from development to production if needed
      target: production
    tty: true
    stdin_open: true
    volumes:
      # no volume mapping of node_modules as otherwise the build-time installed plugins will be overwritten with the mount
      # the same applies to package.json and pnpm-lock.yaml in root dir as these would also get overwritten and build time installed plugins will be removed
      - ./src:/opt/docker/etherpad-lite/src
      - ./bin:/opt/docker/etherpad-lite/bin
    depends_on:
      - postgres
    environment:
      # change from development to production if needed
      NODE_ENV: production
      ADMIN_PASSWORD: mkoi865&54hjj!
      DB_CHARSET: utf8mb4
      DB_HOST: postgres
      DB_NAME: etherpad
      DB_PASS: 8658Fdh@uzfrft
      DB_PORT: 5432
      DB_TYPE: postgres
      DB_USER: etherpad
      # 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: Willkommen bei Etherpad www.perron.de
      DISABLE_IP_LOGGING: true
      SOFFICE: /usr/bin/soffice
      TRUST_PROXY: true
    restart: always
    ports:
      - 9001:9001

  postgres:
    image: postgres:15-alpine
    # Pass config parameters to the mysql server.
    # Find more information below when you need to generate the ssl-relevant file your self
    environment:
      POSTGRES_DB: etherpad
      POSTGRES_PASSWORD: 8658Fdh@uzfrft
      POSTGRES_PORT: 5432
      POSTGRES_USER: etherpad
      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:
			

Soffice (LibreOffice) Installation

Nun müssen wir schauen, dass auch noch Soffice in den Container integriert wird.
Das ermöglicht es uns später den Import und Export von DOC/PDF/ODT Dateien.

In der .yml Konfiguration haben wir bereits Soffice mit dem korrekten Pfad angelegt.

SOFFICE: /usr/bin/soffice

Öffnet nun die Dockerconfig

vim
				nano /opt/docker/etherpad-lite/Dockerfile
			

Sucht dort nach ARG INSTALL_SOFFICE und fügt ein true dahinter.

ARG INSTALL_SOFFICE=true

Speichert Strg+X und Y

 

Nun wechseln wir ins Installationsverzeichnis

vim
				cd /opt/docker/etherpad-lite
			

Nun erstellen wir unseren Container

vim
				docker-compose build
			

Ist dieser fertig erstellt, was durchaus eine Weile dauern kann, starten wir diesen mit

vim
				docker-compose -f /opt/docker/etherpad-lite/docker-compose.yml up -d
			

Erreichbar ist Etherpad nun über

http://deineip:9001

Den Adminbereich erreicht ihr über

http://deineip:9001/admin

Benutzer: admin
Passwort: Das hast du in der .yml angelegt.


Soll das ganze auch aus dem Internet erreichbar sein oder hast du die Installation auf einem VPS vorgenommen, dann muss noch der Proxy Server konfiguriert werden.

Dabei ist es dann egal, ob du nun eine DynDNS Domain oder eine Toplevel oder Subdomain hast.

Zudem soll das ganze auch noch mit einem SSL Zertifikat abgesichert werden.

NGINX Proxy Manager

Das beschreibe ich hier.

Etherpad mit Ownpad in NextCloud nutzen

Quellen

Schreibe einen Kommentar