Files
website-enchun-mgr/docker-compose.coolify.yml
pkupuk 8ca609a889 chore(infra): update build config and deployment scripts
Update Docker configurations, nginx setup, and shared design tokens. Refresh lockfile.
2026-02-11 11:50:04 +08:00

50 lines
1.4 KiB
YAML

# Docker Compose for Coolify deployment
# Use this for "Docker Compose" deployment type in Coolify
services:
enchun-cms:
image: pukpuklouis/website-enchun-cms:latest
container_name: enchun-cms
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000 # Explicitly set to match EXPOSE
- DATABASE_URI=${DATABASE_URI}
- PAYLOAD_SECRET=${PAYLOAD_SECRET}
- NEXT_PUBLIC_SERVER_URL=${NEXT_PUBLIC_SERVER_URL:-https://enchun-admin.anlstudio.cc}
# Expose port 3000 (matches Next.js default)
expose:
- "3000"
# Health check
healthcheck:
test:
[
"CMD",
"node",
"-e",
"require('http').get('http://localhost:3000/', (r) => process.exit(r.statusCode < 500 ? 0 : 1)).on('error', () => process.exit(1))",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
# Traefik labels for routing
labels:
- "traefik.enable=true"
- "traefik.http.routers.enchun-cms.rule=Host(`enchun-admin.anlstudio.cc`)"
- "traefik.http.routers.enchun-cms.entrypoints=http"
- "traefik.http.services.enchun-cms.loadbalancer.server.port=3000"
- "traefik.http.middlewares.enchun-gzip.compress=true"
- "traefik.http.routers.enchun-cms.middlewares=enchun-gzip"
networks:
- coolify
networks:
coolify:
external: true