This commit is contained in:
2026-03-31 11:01:15 +02:00
parent 8cb1e71665
commit 786c0a5a5a
10 changed files with 2712 additions and 0 deletions

92
docker-compose.yml Normal file
View File

@@ -0,0 +1,92 @@
services:
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./caddy/data:/data
- ./caddy/config:/config
- ./caddy/log:/var/log/caddy
networks:
- monitor-net
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
networks:
- monitor-net
loki:
image: grafana/loki:latest
container_name: loki
volumes:
- ./loki/loki-config.yml:/etc/loki/local-config.yaml
command: -config.file=/etc/loki/local-config.yaml
networks:
- monitor-net
promtail:
image: grafana/promtail:latest
container_name: promtail
volumes:
- ./caddy/log:/var/log/caddy
- ./promtail/promtail-config.yml:/etc/promtail/config.yml
command: -config.file=/etc/promtail/config.yml
networks:
- monitor-net
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
networks:
- monitor-net
backend:
image: caddymanager/caddymanager-backend:latest
container_name: caddymanager-backend
restart: unless-stopped
environment:
- PORT=3000
- DB_ENGINE=sqlite
- SQLITE_DB_PATH=/app/data/caddymanager.sqlite
- CORS_ORIGIN=*
- LOG_LEVEL=debug
- CADDY_SANDBOX_URL=http://caddy:2019
- PING_INTERVAL=30000
- PING_TIMEOUT=2000
- AUDIT_LOG_MAX_SIZE_MB=100
- AUDIT_LOG_RETENTION_DAYS=90
- METRICS_HISTORY_MAX=1000
- JWT_SECRET=your_jwt_secret_key_here
- JWT_EXPIRATION=24h
volumes:
- ./caddymanager-backend/data:/app/data
networks:
- monitor-net
frontend:
image: caddymanager/caddymanager-frontend:latest
container_name: caddymanager-frontend
restart: unless-stopped
depends_on:
- backend
environment:
- BACKEND_HOST=backend:3000
- APP_NAME=Caddy Manager
- DARK_MODE=true
ports:
- 9080:80
networks:
- monitor-net
networks:
monitor-net:
driver: bridge