feat(deploy): coolify docker-compose — expose:8080, /data volume, SERVICE_FQDN_APP_8080

This commit is contained in:
Claude
2026-08-28 19:06:15 +00:00
parent a5d76e109f
commit d82705d8ab

35
docker-compose.yml Normal file
View File

@@ -0,0 +1,35 @@
services:
app:
build:
context: .
dockerfile: Dockerfile
# Coolify's Traefik connects on the container network — never publish host
# ports. Domain + TLS come from SERVICE_FQDN_APP_8080 substitution below.
expose:
- "8080"
environment:
# Coolify substitutes SERVICE_FQDN_<SVC>_<PORT> with the domain from
# docker_compose_domains and injects the Traefik router labels.
SERVICE_FQDN_APP_8080: /
ASPNETCORE_ENVIRONMENT: Production
ASPNETCORE_URLS: "http://+:8080"
DATA_DIRECTORY: /data
# Secrets — set values in Coolify's Environment Variables UI.
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
# Optional tuning; Coolify falls back to Dockerfile defaults if unset.
EXECUTION_RETENTION_DAYS: ${EXECUTION_RETENTION_DAYS:-7}
EXECUTION_KEEP_PER_WORKFLOW: ${EXECUTION_KEEP_PER_WORKFLOW:-500}
WEBHOOK_DEFAULT_TIMEOUT_SECONDS: ${WEBHOOK_DEFAULT_TIMEOUT_SECONDS:-30}
MAX_CONCURRENT_EXECUTIONS: ${MAX_CONCURRENT_EXECUTIONS:-32}
volumes:
- vc-data:/data
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8080/api/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
volumes:
vc-data: