slimcore-website/infra/marketing-vps/docker-compose.yml
Pascal Oelmann 3c79b63db5
Some checks failed
Deploy Marketing-Site / Lint + Smoke-Tests (push) Failing after 1m9s
Deploy Marketing-Site / Deploy auf Marketing-VPS (push) Failing after 0s
Deploy Marketing-Site / Deploy-Notification (push) Successful in 9s
Initial Astro-Build, Deployment-Setup und Forgejo-Workflow
- Astro 6 + React + Tailwind v4 Projekt-Skelett mit allen Marketing-Seiten
  (Home, Module, Tester, Souveränität, Roadmap, Kontakt, Impressum, Datenschutz)
- Self-hosted Outfit + JetBrains Mono Fonts (DSGVO)
- Marketing-Komponenten gemäss CLAUDE.md §5.6 (NumberedItem, ModuleCard,
  StatusDot, TechStrip, SovereigntyBlock, RoadmapTimeline, etc.)
- Module-Daten in src/content/module.ts als Single Source of Truth
- E2E Smoke-Tests via Playwright
- OG-Image-Generator
- Forgejo Workflow .forgejo/workflows/deploy.yml für Tier-2 Static Deploy
- Infra-as-Code Snapshot in infra/marketing-vps/
- Brand-System Submodule auf Forgejo umgezogen (war GitHub)
- Deployment- und Handoff-Dokumentation
- .DS_Store aus Tracking entfernt, .gitignore um Test-Artefakte ergaenzt
2026-05-05 01:59:35 +02:00

50 lines
1.3 KiB
YAML

# 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/<domain>/ ← 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