34 lines
1.0 KiB
YAML
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
|