docmost/docker-compose.yml hinzugefügt

This commit is contained in:
2025-07-28 10:15:22 +00:00
parent d0637e9479
commit 2a7451c052

View File

@@ -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