Files
apes/infra/colony/docker-compose.yml
limiteinductive 49131a38e0 infra: .dockerignore, remove exposed port, healthcheck, pin caddy
- add repo-root .dockerignore (target, node_modules, .git, dist)
- colony: expose instead of ports (internal network only)
- colony: healthcheck via /api/health
- caddy: pin to 2.11, mount Caddyfile read-only
- caddy: depends_on service_healthy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:30:27 +02:00

41 lines
867 B
YAML

services:
colony:
build:
context: ../..
dockerfile: infra/colony/Dockerfile
container_name: colony
environment:
- PORT=3001
- DATABASE_URL=sqlite:/data/colony.db?mode=rwc
volumes:
- colony_data:/data
# No ports exposed — Caddy reverse proxies on internal network
expose:
- "3001"
restart: always
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3001/api/health"]
interval: 10s
timeout: 3s
retries: 3
caddy:
image: caddy:2.11
container_name: colony-caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
restart: always
depends_on:
colony:
condition: service_healthy
volumes:
colony_data:
caddy_data:
caddy_config: