Created
September 5, 2024 17:23
-
-
Save galer7/777e8399713fa7f6b5e7cef9f53dca52 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x-postgres-env: &postgres-env | |
POSTGRES_USER: $SERVICE_USER_POSTGRES | |
POSTGRES_PASSWORD: $SERVICE_PASSWORD_POSTGRES | |
POSTGRES_DB: "${POSTGRES_DB:-trigger}" | |
POSTGRES_HOST: postgres | |
x-webapp-env: &webapp-env | |
LOGIN_ORIGIN: $SERVICE_FQDN_WEBAPP | |
APP_ORIGIN: $SERVICE_FQDN_WEBAPP | |
DEV_OTEL_EXPORTER_OTLP_ENDPOINT: "${SERVICE_FQDN_WEBAPP}/otel" | |
MAGIC_LINK_SECRET: $SERVICE_PASSWORD_32_MAGIC | |
SESSION_SECRET: $SERVICE_PASSWORD_32_SESSION | |
ENCRYPTION_KEY: $SERVICE_PASSWORD_32_ENCRYPTION | |
DATABASE_URL: "postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB}" | |
DIRECT_URL: "postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB}" | |
RESEND_API_KEY: "${RESEND_API_KEY}" | |
FROM_EMAIL: "${FROM_EMAIL}" | |
RUNTIME_PLATFORM: docker-compose | |
NODE_ENV: production | |
PORT: 3000 | |
V3_ENABLED: true | |
x-worker-env: &worker-env | |
PLATFORM_HOST: webapsp | |
PLATFORM_WS_PORT: 3000 | |
SECURE_CONNECTION: "false" | |
OTEL_EXPORTER_OTLP_ENDPOINT: "${SERVICE_FQDN_WEBAPP}/otel" | |
x-redis-env: &redis-env | |
REDIS_HOST: redis | |
REDIS_PORT: 6379 | |
REDIS_TLS_DISABLED: true | |
x-registry-env: ®istry-env | |
DEPLOY_REGISTRY_HOST: docker.io | |
DEPLOY_REGISTRY_NAMESPACE: <update-me> | |
services: | |
webapp: | |
image: "ghcr.io/triggerdotdev/trigger.dev:self-host-rc.3" | |
restart: unless-stopped | |
environment: | |
<<: *webapp-env | |
<<: *postgres-env | |
<<: *redis-env | |
depends_on: | |
- postgres | |
- redis | |
postgres: | |
image: "postgres:16" | |
restart: unless-stopped | |
volumes: | |
- "postgres-data:/var/lib/postgresql/data/" | |
environment: | |
<<: *postgres-env | |
healthcheck: | |
test: | |
- CMD-SHELL | |
- "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}" | |
interval: 5s | |
timeout: 20s | |
retries: 10 | |
redis: | |
image: "redis:7" | |
restart: unless-stopped | |
volumes: | |
- "redis-data:/data" | |
environment: | |
REDIS_HOST: redis | |
REDIS_PORT: 6379 | |
REDIS_TLS_DISABLED: true | |
docker-provider: | |
image: "ghcr.io/triggerdotdev/provider/docker:self-host-rc.3" | |
restart: unless-stopped | |
volumes: | |
- "/var/run/docker.sock:/var/run/docker.sock" | |
user: root | |
depends_on: | |
- webapp | |
environment: | |
<<: *worker-env | |
<<: *registry-env | |
PLATFORM_SECRET: $SERVICE_PASSWORD_64_PROVIDER | |
coordinator: | |
image: "ghcr.io/triggerdotdev/coordinator:self-host-rc.3" | |
restart: unless-stopped | |
volumes: | |
- "/var/run/docker.sock:/var/run/docker.sock" | |
user: root | |
depends_on: | |
- webapp | |
environment: | |
<<: *worker-env | |
<<: *registry-env | |
PLATFORM_SECRET: $SERVICE_PASSWORD_64_COORDINATOR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
generate_random_string() { | |
length=$1 | |
openssl rand -base64 $((length * 2)) | tr -dc 'A-Za-z0-9!#$%&()*+,-./:;<=>?@[]^_`{|}~' | head -c $length | |
} | |
# Generate secrets | |
POSTGRES_PASSWORD=$(generate_random_string 32) | |
MAGIC_LINK_SECRET=$(generate_random_string 32) | |
SESSION_SECRET=$(generate_random_string 32) | |
ENCRYPTION_KEY=$(generate_random_string 32) | |
PROVIDER_PASSWORD=$(generate_random_string 64) | |
COORDINATOR_PASSWORD=$(generate_random_string 64) | |
# Set other variables | |
SERVICE_USER_POSTGRES=postgres | |
POSTGRES_DB=trigger | |
POSTGRES_HOST=postgres | |
SERVICE_FQDN_WEBAPP=https://... | |
WHITELISTED_EMAILS=... | |
ADMIN_EMAILS=... | |
AUTH_GITHUB_ID=... | |
AUTH_GITHUB_SECRET=... | |
RUNTIME_PLATFORM=docker-compose | |
NODE_ENV=production | |
V3_ENABLED=true | |
# Evaluate DATABASE_URL and DIRECT_URL | |
DATABASE_URL="postgresql://${SERVICE_USER_POSTGRES}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/${POSTGRES_DB}" | |
DIRECT_URL="${DATABASE_URL}" | |
# Create .env content with evaluated values | |
cat << EOF | |
# PostgreSQL settings | |
SERVICE_USER_POSTGRES=$SERVICE_USER_POSTGRES | |
SERVICE_PASSWORD_POSTGRES=$POSTGRES_PASSWORD | |
POSTGRES_DB=$POSTGRES_DB | |
POSTGRES_HOST=$POSTGRES_HOST | |
DATABASE_URL='$DATABASE_URL' | |
DIRECT_URL='$DIRECT_URL' | |
# Webapp settings | |
SERVICE_FQDN_WEBAPP=$SERVICE_FQDN_WEBAPP | |
SERVICE_PASSWORD_32_MAGIC=$MAGIC_LINK_SECRET | |
SERVICE_PASSWORD_32_SESSION=$SESSION_SECRET | |
SERVICE_PASSWORD_32_ENCRYPTION=$ENCRYPTION_KEY | |
RESEND_API_KEY= | |
FROM_EMAIL= | |
# Admin | |
WHITELISTED_EMAILS="$WHITELISTED_EMAILS" | |
ADMIN_EMAILS="$ADMIN_EMAILS" | |
# GitHub settings | |
AUTH_GITHUB_ID=$AUTH_GITHUB_ID | |
AUTH_GITHUB_SECRET=$AUTH_GITHUB_SECRET | |
# Worker settings | |
SERVICE_PASSWORD_64_PROVIDER=$PROVIDER_PASSWORD | |
SERVICE_PASSWORD_64_COORDINATOR=$COORDINATOR_PASSWORD | |
# Registry settings | |
DEPLOY_REGISTRY_NAMESPACE= | |
# Other settings | |
RUNTIME_PLATFORM=$RUNTIME_PLATFORM | |
NODE_ENV=$NODE_ENV | |
V3_ENABLED=$V3_ENABLED | |
EOF |
what is the resource catalog?
Hey @AkaCoder404 , that would be the page you see when you go to your project > Resources > New, and you should see a big list with databases and other OSS services. You should see something like this in the list:
Let me know if you have any more questions!
Thanks!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If someone ever encounters this, I updated coolify to
v4.0.0-beta.329
shortly after creating this gist and the simple trigger template from the resource catalog just works ™️!