Files
kooltab-backoffice/docker-compose.coolify.yml
T
2026-10-08 00:25:30 +02:00

47 lines
1.4 KiB
YAML

# Coolify deployment (Docker Compose build pack).
# Postgres runs as a separate Coolify database resource so it gets scheduled backups;
# set DATABASE_URL to its internal connection URL. Domains are assigned in the Coolify UI:
# api -> https://api.example.com:3001
# dashboard -> https://dashboard.example.com:3000
services:
api:
build:
context: .
dockerfile: Dockerfile
target: api
environment:
DATABASE_URL: ${DATABASE_URL}
JWT_SECRET: ${SERVICE_BASE64_64_JWT}
PORT: 3001
CORS_ORIGIN: ${DASHBOARD_URL}
RESEND_API_KEY: ${RESEND_API_KEY:-}
RESEND_FROM_EMAIL: ${RESEND_FROM_EMAIL:-KoolTap <onboarding@resend.dev>}
# Coolify's proxy is one hop; use 2 if Cloudflare proxying is also enabled
TRUST_PROXY: ${TRUST_PROXY:-1}
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3001/api/v1/health"]
interval: 15s
timeout: 5s
retries: 5
# Migrations run before the server starts
start_period: 60s
restart: unless-stopped
dashboard:
build:
context: .
dockerfile: Dockerfile
target: dashboard
args:
NEXT_PUBLIC_API_URL: ${API_URL}/api/v1
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/"]
interval: 15s
timeout: 5s
retries: 5
start_period: 30s
depends_on:
api:
condition: service_healthy
restart: unless-stopped