chore(infra): update build config and deployment scripts
Update Docker configurations, nginx setup, and shared design tokens. Refresh lockfile.
This commit is contained in:
49
docker-compose.coolify.yml
Normal file
49
docker-compose.coolify.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user