canvas-website/docker-compose.yml

34 lines
1.0 KiB
YAML

# Canvas Website Docker Compose
# Production: jeffemmett.com, www.jeffemmett.com
# Dev branch: staging.jeffemmett.com (separate container via docker-compose.dev.yml)
services:
canvas-website:
build:
context: .
dockerfile: Dockerfile
args:
- VITE_WORKER_ENV=production
# Add other build args from .env if needed
container_name: canvas-website
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-public"
- "traefik.http.services.canvas.loadbalancer.server.port=80"
# Production deployment (jeffemmett.com and www)
- "traefik.http.routers.canvas-prod.rule=Host(`jeffemmett.com`) || Host(`www.jeffemmett.com`)"
- "traefik.http.routers.canvas-prod.entrypoints=web"
- "traefik.http.routers.canvas-prod.service=canvas"
networks:
- traefik-public
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/health"]
interval: 30s
timeout: 10s
retries: 3
networks:
traefik-public:
external: true