Zum Hauptinhalt springen

Caddy

Caddy ist ein moderner Webserver mit integriertem automatischem HTTPS. Er bezieht und erneuert SSL-Zertifikate von Let's Encrypt automatisch, ohne zusätzliche Konfiguration.

Docker Compose mit Caddy

Erstellen Sie eine Caddyfile im selben Verzeichnis wie Ihre docker-compose.yml: Ersetzen Sie docmost.example.com durch Ihre tatsächliche Domain.

Caddyfile
docmost.example.com {
reverse_proxy docmost:3000
}

Nachfolgend finden Sie eine vollständige docker-compose.yml, die Docmost mit Caddy als Reverse Proxy enthält.

docker-compose.yml
services:
caddy:
image: caddy:2
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
- docmost
restart: unless-stopped

docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'https://docmost.example.com'
APP_SECRET: 'REPLACE_WITH_LONG_SECRET'
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost'
REDIS_URL: 'redis://redis:6379'
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- docmost:/app/data/storage

db:
image: postgres:18
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql

redis:
image: redis:8
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
restart: unless-stopped
volumes:
- redis_data:/data

volumes:
docmost:
db_data:
redis_data:
caddy_data:
caddy_config:

Das war's. Caddy übernimmt automatisch die SSL-Zertifikate und die WebSocket-Verbindungen.

Dateistruktur

docmost/
├── docker-compose.yml
└── Caddyfile

Überprüfen

Nachdem Sie die Dienste mit docker compose up -d gestartet haben, rufen Sie https://docmost.example.com in Ihrem Browser auf. Sie sollten die Docmost-Einrichtungsseite sehen.