Skip to content

Instantly share code, notes, and snippets.

@daimajia
Created May 2, 2025 03:01
Show Gist options
  • Save daimajia/b9aaefcd754c90ab4c2efb9fb3e2077b to your computer and use it in GitHub Desktop.
Save daimajia/b9aaefcd754c90ab4c2efb9fb3e2077b to your computer and use it in GitHub Desktop.

Revisions

  1. daimajia created this gist May 2, 2025.
    125 changes: 125 additions & 0 deletions trigger.dev.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,125 @@
    x-webapp-env: &webapp-env
    LOGIN_ORIGIN: &trigger-url ${TRIGGER_PROTOCOL:-http}://${TRIGGER_DOMAIN:-localhost:3040}
    APP_ORIGIN: *trigger-url
    DEV_OTEL_EXPORTER_OTLP_ENDPOINT: &trigger-otel ${TRIGGER_PROTOCOL:-http}://${TRIGGER_DOMAIN:-localhost:3040}/otel
    ELECTRIC_ORIGIN: http://electric:3000

    x-worker-env: &worker-env
    PLATFORM_HOST: webapp
    PLATFORM_WS_PORT: 3030
    SECURE_CONNECTION: "false"
    OTEL_EXPORTER_OTLP_ENDPOINT: *trigger-otel

    volumes:
    postgres-data:
    redis-data:

    networks:
    webapp:
    dokploy-network:
    external: true

    services:
    webapp:
    image: ghcr.io/triggerdotdev/trigger.dev:${TRIGGER_IMAGE_TAG:-v3}
    deploy:
    resources:
    limits:
    cpus: "2"
    memory: 4G
    restart: ${RESTART_POLICY:-unless-stopped}
    env_file:
    - .env
    environment:
    <<: *webapp-env
    ports:
    - ${WEBAPP_PUBLISH_IP:-127.0.0.1}:3040:3030
    depends_on:
    - postgres
    - redis
    networks:
    - webapp
    - dokploy-network
    labels:
    - traefik.enable=true
    - traefik.http.routers.front-app.rule=Host(`v3.huntscreens.com`)
    - traefik.http.routers.front-app.entrypoints=web
    - traefik.http.routers.front-app.tls=true
    - traefik.http.services.front-app.loadbalancer.server.port=3030

    postgres:
    image: postgres:${POSTGRES_IMAGE_TAG:-16}
    restart: ${RESTART_POLICY:-unless-stopped}
    volumes:
    - postgres-data:/var/lib/postgresql/data/
    env_file:
    - .env
    networks:
    - webapp
    ports:
    - ${DOCKER_PUBLISH_IP:-127.0.0.1}:5433:5432
    command:
    - -c
    - wal_level=logical

    redis:
    image: redis:${REDIS_IMAGE_TAG:-7}
    restart: ${RESTART_POLICY:-unless-stopped}
    volumes:
    - redis-data:/data
    networks:
    - webapp
    ports:
    - ${DOCKER_PUBLISH_IP:-127.0.0.1}:6389:6379

    docker-provider:
    image: ghcr.io/triggerdotdev/provider/docker:${TRIGGER_IMAGE_TAG:-v3}
    restart: ${RESTART_POLICY:-unless-stopped}
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    user: root
    networks:
    - webapp
    depends_on:
    - webapp
    ports:
    - ${DOCKER_PUBLISH_IP:-127.0.0.1}:9021:9020
    env_file:
    - .env
    environment:
    <<: *worker-env
    PLATFORM_SECRET: $PROVIDER_SECRET
    DEPLOY_REGISTRY_HOST: docker.io
    DEPLOY_REGISTRY_NAMESPACE: daimajia

    coordinator:
    image: ghcr.io/triggerdotdev/coordinator:${TRIGGER_IMAGE_TAG:-v3}
    restart: ${RESTART_POLICY:-unless-stopped}
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    user: root
    networks:
    - webapp
    depends_on:
    - webapp
    ports:
    - ${DOCKER_PUBLISH_IP:-127.0.0.1}:9020:9020
    env_file:
    - .env
    environment:
    <<: *worker-env
    PLATFORM_SECRET: $COORDINATOR_SECRET

    electric:
    image: electricsql/electric:${ELECTRIC_IMAGE_TAG:-latest}
    restart: ${RESTART_POLICY:-unless-stopped}
    environment:
    ELECTRIC_INSECURE: false
    ELECTRIC_SECRET: SECRECT
    DATABASE_URL: ${DATABASE_URL}?sslmode=disable
    networks:
    - webapp
    depends_on:
    - postgres
    ports:
    - ${DOCKER_PUBLISH_IP:-127.0.0.1}:3061:3000