2023-11-23 08:05:22 +00:00
|
|
|
# documentation: https://trigger.dev/docs/documentation/guides/self-hosting
|
|
|
|
# slogan: The open source Background Jobs framework for TypeScript
|
|
|
|
# tags: trigger.dev, background jobs, typescript, trigger, jobs, cron, scheduler
|
|
|
|
|
|
|
|
services:
|
|
|
|
trigger:
|
|
|
|
image: ghcr.io/triggerdotdev/trigger.dev:latest
|
|
|
|
environment:
|
|
|
|
- SERVICE_FQDN_TRIGGER
|
|
|
|
- LOGIN_ORIGIN=$SERVICE_FQDN_TRIGGER
|
|
|
|
- APP_ORIGIN=$SERVICE_FQDN_TRIGGER
|
|
|
|
- MAGIC_LINK_SECRET=$SERVICE_PASSWORD_64_MAGIC
|
|
|
|
- ENCRYPTION_KEY=$SERVICE_PASSWORD_64_ENCRYPTION
|
|
|
|
- SESSION_SECRET=$SERVICE_PASSWORD_64_SESSION
|
|
|
|
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
|
|
|
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
|
|
|
- POSTGRES_DB=${POSTGRES_DB:-trigger}
|
|
|
|
- POSTGRES_HOST=postgres
|
|
|
|
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB
|
|
|
|
- DIRECT_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB
|
|
|
|
- RUNTIME_PLATFORM=docker-compose
|
|
|
|
- NODE_ENV=production
|
2023-11-24 07:38:49 +00:00
|
|
|
- AUTH_GITHUB_CLIENT_ID=${AUTH_GITHUB_CLIENT_ID}
|
|
|
|
- AUTH_GITHUB_CLIENT_SECRET=${AUTH_GITHUB_CLIENT_SECRET}
|
|
|
|
- RESEND_API_KEY=${RESEND_API_KEY}
|
|
|
|
- FROM_EMAIL=${FROM_EMAIL}
|
|
|
|
- REPLY_TO_EMAIL=${REPLY_TO_EMAIL}
|
2023-11-23 08:05:22 +00:00
|
|
|
depends_on:
|
|
|
|
postgresql:
|
|
|
|
condition: service_healthy
|
|
|
|
healthcheck:
|
|
|
|
test: ["NONE"]
|
|
|
|
postgresql:
|
2023-11-30 11:21:21 +00:00
|
|
|
image: postgres:16-alpine
|
2023-11-23 08:05:22 +00:00
|
|
|
volumes:
|
|
|
|
- postgresql-data:/var/lib/postgresql/data
|
|
|
|
environment:
|
|
|
|
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
|
|
|
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
|
|
|
- POSTGRES_DB=${POSTGRES_DB:-trigger}
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
|
|
interval: 5s
|
|
|
|
timeout: 20s
|
|
|
|
retries: 10
|
|
|
|
|