Docmost ist eine Lösung, um Wissen, Notizen und was weiß ich nicht noch, bequem zu verwalten. Sie bietet viele Funktionalitäten und vor allem viele Freiheiten. Docmost ist daher das, was man daraus macht. Stärken sind insbesondere
- Kollaborationsunterstützung
- Nutzung von Markups
- Nutzung eingebetteter Grafik-Tools (wie z.B. Draw.io)
- und vieles mehr.
Im Folgenden wird eine beispielhafte Datei "docker-compose.yml" dargestellt. Sie enthält die Services docmost, redis, postgresql und draw.io. Voraussetzung ist natürlich eine funktionierende Docker- und Docker-Compose-Installation.
Zunächst wird ein entsprechendes Verzeichnis erstellt und darin die benötigte Datei "docker-compose.yml" erstellt:
mkdir docmost # Erstellt das Verzeichnis im aktuellen Pfad, also z.B. /home/{USER}/
cd docmost
nano docker-compose.yml
Hier ist der Inhalt meiner docker-compose.yml:
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'https://docmost.adresse.lan' # Hier muss natürlich eine funktionierende Domain oder alternativ eine lokale IP-Adresse stehen
APP_SECRET: 'geheimespasswortvonmindestens32zeichenlaenge'
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'
REDIS_URL: 'redis://redis:6379'
MAIL_DRIVER: 'smtp'
SMTP_HOST: "smtp-addresse"
SMTP_PORT: "587"
SMTP_USERNAME: "username"
SMTP_PASSWORD: "echtgeheimesundstarkespasswort"
MAIL_FROM_ADDRESS: "docmost@pipapo.org"
MAIL_FROM_NAME: "Docmost"
DRAWIO_EMBED: "http://drawio:8082"
ports:
- "3001:3000"
restart: unless-stopped
volumes:
- /home/hanswurst/docmost/storage:/app/data/storage
networks:
- docmost-network # Stellt sicher, dass Docmost und Draw.io im selben Netzwerk sind
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD
restart: unless-stopped
volumes:
- /home/andreas/docmost/db_data:/var/lib/postgresql/data
networks:
- docmost-network
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- docmost-network
drawio:
image: jgraph/drawio:latest # Das offizielle Draw.io Docker Image
container_name: drawio-server
restart: always
ports:
# Der interne Port von Draw.io ist hier 8082.
- "8082:8080"
# volumes:
# Draw.io als reiner Editor ist meist stateless.
# Wer spezifische Konfigurationsdateien oder Anpassungen benötigt,
# muss hier entsprechende Volumes mounten.
# Für den grundlegenden Betrieb sind keine Volumes erforderlich.
networks:
- docmost-network
volumes:
docmost:
db_data:
redis_data:
networks:
docmost-network:
driver: bridge
Die Parameter für die Adresse des Systems und den eMail-Account müssen natürlich angepasst werden. Standard-Port für Docmost ist nach Hersteller-Doku 3000. Da der bei mir bereits vergeben war, habe ich 3001 gewählt. Das gleiche gilt für den Standard-Port von Draw.io. Mit den von mir gewählten Ports läuft das bei mir problemlos. Wer die Ports 3001 und/oder 8082 bereits belegt hat, wählt natürlich andere aus.
Die Anwendung startet man natürlich mit dem Befehl
docker compose up -d
Nach einigen Sekunden ist Docmost einsatzbereit. Beim ersten Aufruf sind Zugangsdaten für den Hauptbenutzer zu vergeben. Ich betreibe die Anwendung hinter einem Nginx Proxy Manager, mit dem ich ein selbst erstelltes Zertifikat für eine lokale Namensauflösung verbinde. So kann die Docmost per HTTPS aufrufen. Mehr gibt es hier eigentlich gar nicht zu sagen. Wenn man sich zunächst eine gute Struktur überlegt, dann kann man mit Docmost bequem sein Wissen managen. Ich habe damit Bookstack abgelöst.