managarten/uload/docker-compose.coolify.yml

50 lines
1.5 KiB
YAML

# =============================================================================
# uload Docker Compose - Coolify Deployment
# =============================================================================
# This file is used by Coolify for deployment.
# Environment variables are injected by Coolify.
# =============================================================================
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- '3000:3000'
environment:
NODE_ENV: production
PORT: 3000
HOST: 0.0.0.0
ORIGIN: ${ORIGIN:-https://ulo.ad}
# Database (set in Coolify)
DATABASE_URL: ${DATABASE_URL}
# Redis (optional, set in Coolify)
REDIS_URL: ${REDIS_URL:-}
# Auth
AUTH_SECRET: ${AUTH_SECRET}
# External Services (set in Coolify)
RESEND_API_KEY: ${RESEND_API_KEY:-}
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY:-}
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET:-}
# R2 Storage (set in Coolify)
R2_ACCESS_KEY_ID: ${R2_ACCESS_KEY_ID:-}
R2_SECRET_ACCESS_KEY: ${R2_SECRET_ACCESS_KEY:-}
R2_BUCKET_NAME: ${R2_BUCKET_NAME:-}
R2_ENDPOINT: ${R2_ENDPOINT:-}
# Analytics (optional)
PUBLIC_UMAMI_URL: ${PUBLIC_UMAMI_URL:-}
PUBLIC_UMAMI_WEBSITE_ID: ${PUBLIC_UMAMI_WEBSITE_ID:-}
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s