# Marketing-VPS Stack — eine Caddy-Instanz für alle statischen Marken-Sites # plus Uptime Kuma für Status-Monitoring. # # Verzeichnis-Struktur auf dem VPS: # /home/deploy/marketing/ ← diese Compose-Datei + Caddyfile # /var/www// ← rsync-Ziel pro Marke (Caddy liest read-only daraus) # /var/log/caddy/ ← Access-Logs pro Domain services: caddy: image: caddy:2-alpine container_name: marketing-caddy restart: unless-stopped ports: - '80:80' - '443:443' - '443:443/udp' # HTTP/3 - '127.0.0.1:2019:2019' # Admin-API + Metrics, nur lokal volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - /var/www:/var/www:ro - /var/log/caddy:/var/log/caddy - caddy-data:/data - caddy-config:/config networks: - marketing healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://127.0.0.1:2019/config/"] interval: 30s timeout: 5s retries: 3 uptime: image: louislam/uptime-kuma:1 container_name: marketing-uptime restart: unless-stopped ports: - '127.0.0.1:3001:3001' volumes: - ./uptime-data:/app/data networks: - marketing volumes: caddy-data: caddy-config: networks: marketing: driver: bridge