143 lines
4.0 KiB
YAML
143 lines
4.0 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
|
|
|
|
x-common-env: &common-env
|
|
PORT: 3030
|
|
REMIX_APP_PORT: 3000
|
|
NODE_ENV: production
|
|
RUNTIME_PLATFORM: docker-compose
|
|
V3_ENABLED: true
|
|
INTERNAL_OTEL_TRACE_DISABLED: 1
|
|
INTERNAL_OTEL_TRACE_LOGGING_ENABLED: 0
|
|
POSTGRES_USER: $SERVICE_USER_POSTGRES
|
|
POSTGRES_PASSWORD: $SERVICE_PASSWORD_POSTGRES
|
|
POSTGRES_DB: ${POSTGRES_DB:-trigger}
|
|
MAGIC_LINK_SECRET: $SERVICE_PASSWORD_64_MAGIC
|
|
SESSION_SECRET: $SERVICE_PASSWORD_64_SESSION
|
|
ENCRYPTION_KEY: $SERVICE_PASSWORD_64_ENCRYPTION
|
|
PROVIDER_SECRET: $SERVICE_PASSWORD_64_PROVIDER
|
|
COORDINATOR_SECRET: $SERVICE_PASSWORD_64_COORDINATOR
|
|
DATABASE_HOST: postgresql
|
|
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
|
|
COORDINATOR_HOST: 127.0.0.1
|
|
COORDINATOR_PORT: 9020
|
|
WHITELISTED_EMAILS: ""
|
|
ADMIN_EMAILS: ""
|
|
DEFAULT_ORG_EXECUTION_CONCURRENCY_LIMIT: 300
|
|
DEFAULT_ENV_EXECUTION_CONCURRENCY_LIMIT: 100
|
|
DEPLOY_REGISTRY_HOST: docker.io
|
|
DEPLOY_REGISTRY_NAMESPACE: trigger
|
|
REGISTRY_HOST: ${DEPLOY_REGISTRY_HOST}
|
|
REGISTRY_NAMESPACE: ${DEPLOY_REGISTRY_NAMESPACE}
|
|
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}
|
|
LOGIN_ORIGIN: $SERVICE_FQDN_TRIGGER_3000
|
|
APP_ORIGIN: $SERVICE_FQDN_TRIGGER_3000
|
|
DEV_OTEL_EXPORTER_OTLP_ENDPOINT: $SERVICE_FQDN_TRIGGER_3000/otel
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://trigger:3040/otel"
|
|
ELECTRIC_ORIGIN: http://electric:3000
|
|
|
|
services:
|
|
trigger:
|
|
image: ghcr.io/triggerdotdev/trigger.dev:v3
|
|
environment:
|
|
SERVICE_FQDN_TRIGGER_3000: ""
|
|
<<: *common-env
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
electric:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
electric:
|
|
image: electricsql/electric
|
|
environment:
|
|
<<: *common-env
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pwd
|
|
|
|
redis:
|
|
image: "redis:7"
|
|
environment:
|
|
- ALLOW_EMPTY_PASSWORD=yes
|
|
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
|
|
volumes:
|
|
- postgresql-data:/var/lib/postgresql/data
|
|
environment:
|
|
<<: *common-env
|
|
command:
|
|
- -c
|
|
- wal_level=logical
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
docker-provider:
|
|
image: ghcr.io/triggerdotdev/provider/docker:v3
|
|
platform: linux/amd64
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
user: root
|
|
depends_on:
|
|
trigger:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *common-env
|
|
PLATFORM_HOST: trigger
|
|
PLATFORM_WS_PORT: 3030
|
|
SECURE_CONNECTION: "false"
|
|
PLATFORM_SECRET: $PROVIDER_SECRET
|
|
coordinator:
|
|
image: ghcr.io/triggerdotdev/coordinator:v3
|
|
platform: linux/amd64
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
user: root
|
|
depends_on:
|
|
trigger:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *common-env
|
|
PLATFORM_HOST: trigger
|
|
PLATFORM_WS_PORT: 3030
|
|
SECURE_CONNECTION: "false"
|
|
PLATFORM_SECRET: $COORDINATOR_SECRET
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pwd
|