From 2a7451c052c772aaa54893be75e47c04b61cf8c6 Mon Sep 17 00:00:00 2001 From: thomas Date: Mon, 28 Jul 2025 10:15:22 +0000 Subject: [PATCH] =?UTF-8?q?docmost/docker-compose.yml=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docmost/docker-compose.yml | 75 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 docmost/docker-compose.yml diff --git a/docmost/docker-compose.yml b/docmost/docker-compose.yml new file mode 100644 index 0000000..61f89bf --- /dev/null +++ b/docmost/docker-compose.yml @@ -0,0 +1,75 @@ +services: + # DocMost Anwendungsdienst + docmost: + # Das Docker-Image für die DocMost-Anwendung. + # Dies wird direkt hier definiert und nicht über .env gesteuert. + image: docmost/docmost:latest + # Stellt sicher, dass die Datenbank- und Redis-Dienste vor DocMost gestartet werden. + # HINWEIS: 'depends_on' verwendet die festen Dienstnamen, nicht Umgebungsvariablen. + depends_on: + - docmost-db + - docmost-redis + # Der Name des Docker-Containers. Kann aus .env geladen werden. + # Umgebungsvariablen, die an den DocMost-Container übergeben werden. + # Diese werden aus der .env-Datei geladen. + environment: + APP_URL: ${APP_URL} + APP_SECRET: ${APP_SECRET} + # Datenbank-URL verwendet den DB_HOST aus .env + DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DB_HOST}:${DB_PORT}/${POSTGRES_DB} + # Redis-URL verwendet den REDIS_HOST aus .env + REDIS_URL: redis://${REDIS_HOST}:${REDIS_PORT} + # E-Mail-Treiber ist fest auf "smtp" gesetzt. + MAIL_DRIVER: "smtp" + # SMTP-Host und -Port werden aus der .env-Datei geladen. + SMTP_HOST: "${SMTP_HOST}" + SMTP_PORT: "${SMTP_PORT}" + SMTP_USERNAME: ${SMTP_USERNAME} + SMTP_PASSWORD: ${SMTP_PASSWORD} + # SMTP_SECURE: Diese Zeile ist auskommentiert, kann aber bei Bedarf aktiviert werden. + # Wenn in .env aktiviert, hier uncommenten. + # SMTP_SECURE: "${SMTP_SECURE}" + MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS} + MAIL_FROM_NAME: ${MAIL_FROM_NAME} + # Port-Mapping vom Host zum Container. + # Der Host-Port wird aus der .env-Datei geladen. + ports: + - "${APP_PORT}:3000" # Host-Port ist jetzt konfigurierbar über .env + # Startet den Container automatisch neu, es sei denn, er wird explizit gestoppt. + restart: unless-stopped + # Volume-Mapping für persistente Daten. + # Der Host-Pfad wird aus der .env-Datei geladen. + volumes: + - ${DOCMOST_DATA_PATH}:/app/data/storage + + # PostgreSQL Datenbankdienst für DocMost + docmost-db: + # Das Docker-Image für PostgreSQL. + # Dies wird direkt hier definiert und nicht über .env gesteuert. + image: postgres:16-alpine + # Der Name des Docker-Containers. Kann aus .env geladen werden. + # Umgebungsvariablen für die PostgreSQL-Konfiguration. + # POSTGRES_DB, POSTGRES_USER und POSTGRES_PASSWORD werden aus der .env-Datei geladen. + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + # Startet den Container automatisch neu, es sei denn, er wird explizit gestoppt. + restart: unless-stopped + # Volume-Mapping für persistente Datenbankdaten. + # Der Host-Pfad wird aus der .env-Datei geladen. + volumes: + - ${DB_DATA_PATH}:/var/lib/postgresql/data + + # Redis Cache-Dienst für DocMost + docmost-redis: + # Das Docker-Image für Redis. + # Dies wird direkt hier definiert und nicht über .env gesteuert. + image: redis:7.2-alpine + # Der Name des Docker-Containers. Kann aus .env geladen werden. + # Startet den Container automatisch neu, es sei denn, er wird explizit gestoppt. + restart: unless-stopped + # Volume-Mapping für persistente Redis-Daten (optional, aber empfohlen). + # Der Host-Pfad wird aus der .env-Datei geladen. + volumes: + - ${REDIS_DATA_PATH}:/data \ No newline at end of file