Etherpad als Docker-Container

vorhergehende Artikel in: Docker Linux
04.04.2020

Ich habe in letzter Zeit hin und wieder neue Dienste zu meinem Docker-Zoo hinzugefügt - nunmehr noch einen weiteren...

Ich habe mich wieder einmal inspirieren lassen und einen eigenen Docker-Container in den Zoo aufgenommen. Das nachfolgende Docker-File sorgt bei mir dafür, dass sich Etherpad hinter Traefik als Dienst im Netzwerklabor einrichtet und von allen Endgeräten ausnutzbar ist:

version: "3.1"
services:
  etherpad:
    image: 'etherpad/etherpad'
    container_name: etherpad
    hostname: etherpad
#    ports:
#      - 9001:9001
    env_file:
      - etherpad.env
    secrets:
      - DB_PASS_FILE
      - ADMIN_PASSWORD_FILE
    volumes:
      - ./settings.json:/opt/etherpad-lite/settings.json
    restart: always
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.etherpad.rule=Host(`etherpad.docker.lab`)"
      - "traefik.http.services.etherpad.loadbalancer.server.port=9001"
      - "traefik.docker.network=traefik_proxy"
    networks:
      - traefik_proxy
      - default

etherpad_db: image: postgres container_name: etherpad_db volumes: - ./postgres-data:/var/lib/postgresql/data env_file: - postgres.env secrets: - POSTGRES_PASSWORD_FILE networks: - default

networks: traefik_proxy: external: name: traefik_proxy

secrets: POSTGRES_PASSWORD_FILE: file: ./crypto/javax.persistence.jdbc.password_FILE DB_PASS_FILE: file: ./crypto/javax.persistence.jdbc.password_FILE ADMIN_PASSWORD_FILE: file: ./crypto/ADMIN_PASSWORD_FILE

Das entsprechende Environment für etherpad sieht wie folgt aus:

DB_TYPE=postgres
DB_HOST=etherpad_db
DB_PORT=5432
DB_NAME=etherpad
DB_USER=etherpad
NODE_ENV=production
ADMIN_PASSWORD=<change_me>
<USER>_PASSWORD=<change_me>

Der Nutzername für den nichtprivilegierten Nutzer ist außerdem in den settings.json anzupassen, die über ein Volume in den Container gemounted werden müssen. Die Passwörter für beide Nutzer müssen im Environment lokalen Gegebenheiten angepasst werden. Die Passwörter werden nicht über Docker-Screts realisiert, da das Image nicht darauf vorbereitet ist - wenn man es versucht, werden sie einfach nicht wirksam... Natürlich ist es möglich, weitere unprivilegierte Nutzer anzulegen. Es ist in der vorliegenden Konfiguration aber auch einfach möglich, das System ohne Authentifizierung zu nutzen...

Das entsprechende Environment für etherpad_db sieht wie folgt aus:

POSTGRES_USER=etherpad
POSTGRES_DB=etherpad

Artikel, die hierher verlinken

FreePad im Docker-Zoo

28.10.2023

Ein neues Projekt ist in meinen Docker-Zoo eingezogen

Xpra und Docker

10.05.2020

Ich berichtete neulich über weiteren Zuwachs in meinem Docker-Zoo. Ich habe hier auch verschiedentlich über xpra berichtet - das Gnu-Screen-Äquivalent für X11. Nun habe ich versucht beides zu verbinden

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Neueste Artikel

  • Compartmentalization and Privilege Drop

    Eine Präsentation zum besseren Verständnis einiger Konzepte sicherer Softwareentwicklung

    Weiterlesen
  • OpenSSH PKI

    Ich habe ja bereits eine kleine Präsentation zum Thema PKI und OpenSSH verfasst - hier folgt nun - mit einigen Links zu externen Ressourcen zu diesem Thema angereichert - eine strukturierte Zusammenfassung diverser Use Cases und deren Lösung mit einer OpenSSH PKI

    Weiterlesen
  • Der Gumowski-Mira Attractor

    Und wieder habe ich mich mit einem System beschäftigt, das sich in die Themen Chaos und Fraktale oder Strange Attractors einordnen lässt.

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.