89 lines
2.8 KiB
YAML
89 lines
2.8 KiB
YAML
# documentation: https://trigger.dev
|
|
# slogan: The open source Background Jobs framework for TypeScript
|
|
# tags: trigger.dev, background jobs, typescript, trigger, jobs, cron, scheduler
|
|
# logo: svgs/trigger.png
|
|
# port: 3000
|
|
|
|
services:
|
|
trigger:
|
|
image: ghcr.io/triggerdotdev/trigger.dev:main
|
|
environment:
|
|
- SERVICE_FQDN_TRIGGER_3000
|
|
- LOGIN_ORIGIN=$SERVICE_FQDN_TRIGGER
|
|
- APP_ORIGIN=$SERVICE_FQDN_TRIGGER
|
|
- ELECTRIC_ORIGIN=http://electric:3000
|
|
- MAGIC_LINK_SECRET=$SERVICE_PASSWORD_64_MAGIC
|
|
- ENCRYPTION_KEY=$SERVICE_PASSWORD_64_ENCRYPTION
|
|
- SESSION_SECRET=$SERVICE_PASSWORD_64_SESSION
|
|
- PROVIDER_SECRET=$SERVICE_PASSWORD_64_PROVIDER
|
|
- COORDINATOR_SECRET=$SERVICE_PASSWORD_64_COORDINATOR
|
|
- 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
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- REDIS_TLS_DISABLED=true
|
|
- V3_ENABLED=${V3_ENABLED:-true}
|
|
- REMIX_APP_PORT=${REMIX_APP_PORT:-3000}
|
|
- RUNTIME_PLATFORM=docker-compose
|
|
- NODE_ENV=production
|
|
- 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}
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
electric:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pwd
|
|
electric:
|
|
image: electricsql/electric
|
|
restart: always
|
|
environment:
|
|
DATABASE_URL: postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pwd
|
|
redis:
|
|
image: "redis:7"
|
|
environment:
|
|
- ALLOW_EMPTY_PASSWORD=yes
|
|
restart: always
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- "redis-cli -h localhost -p 6379 ping"
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 3
|
|
volumes:
|
|
- redis-data:/data
|
|
postgresql:
|
|
image: postgres:16-alpine
|
|
restart: always
|
|
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
|