@@ -12,7 +12,6 @@ services:
1212 networks :
1313 - webapp
1414 - supervisor
15- - traefik
1615 volumes :
1716 - shared:/home/node/shared
1817 user : root
@@ -52,74 +51,6 @@ services:
5251 # TASK_RUN_METADATA_MAXIMUM_SIZE: 262144 # 256KB
5352 # DEFAULT_ENV_EXECUTION_CONCURRENCY_LIMIT: 100
5453 # DEFAULT_ORG_EXECUTION_CONCURRENCY_LIMIT: 100
55- labels :
56- - " traefik.enable=true"
57- - " traefik.http.routers.webapp.rule=Host(`webapp.localhost`)"
58- - " traefik.http.routers.webapp.entrypoints=${TRAEFIK_ENTRYPOINT:-web}"
59- # - "traefik.http.routers.webapp.tls.certresolver=letsencrypt"
60- - " traefik.http.services.webapp.loadbalancer.server.port=3000"
61-
62- supervisor :
63- image : ghcr.io/triggerdotdev/supervisor:${TRIGGER_IMAGE_TAG:-main}
64- restart : ${RESTART_POLICY:-unless-stopped}
65- depends_on :
66- - webapp
67- - docker-proxy
68- networks :
69- - supervisor
70- - docker-proxy
71- volumes :
72- - shared:/home/node/shared
73- user : root
74- command : sh -c "chown -R node:node /home/node/shared && exec /usr/bin/dumb-init -- pnpm run --filter supervisor start"
75- environment :
76- # This needs to match the token of the worker group you want to connect to
77- # TRIGGER_WORKER_TOKEN: ${TRIGGER_WORKER_TOKEN}
78- TRIGGER_WORKER_TOKEN : file:///home/node/shared/worker_token
79- MANAGED_WORKER_SECRET : ${MANAGED_WORKER_SECRET}
80- # Point this at the webapp in prod
81- TRIGGER_API_URL : http://webapp:3000
82- # Point this at the OTel collector or the webapp in prod
83- OTEL_EXPORTER_OTLP_ENDPOINT : http://webapp:3000/otel
84- TRIGGER_WORKLOAD_API_DOMAIN : supervisor
85- TRIGGER_WORKLOAD_API_PORT_EXTERNAL : 8020
86- # Optional settings
87- DEBUG : 1
88- ENFORCE_MACHINE_PRESETS : 1
89- TRIGGER_DEQUEUE_INTERVAL_MS : 1000
90- DOCKER_HOST : tcp://docker-proxy:2375
91- DOCKER_RUNNER_NETWORKS : webapp,supervisor
92- DOCKER_REGISTRY_URL : ${DOCKER_REGISTRY_URL:-localhost:5000}
93- DOCKER_REGISTRY_USERNAME : ${DOCKER_REGISTRY_USERNAME:-}
94- DOCKER_REGISTRY_PASSWORD : ${DOCKER_REGISTRY_PASSWORD:-}
95- DOCKER_AUTOREMOVE_EXITED_CONTAINERS : 0
96- healthcheck :
97- test : ["CMD", "node", "-e", "http.get('http://localhost:8020/health', res => process.exit(res.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))"]
98- interval : 30s
99- timeout : 10s
100- retries : 5
101- start_period : 10s
102-
103- docker-proxy :
104- image : tecnativa/docker-socket-proxy:${DOCKER_PROXY_IMAGE_TAG:-latest}
105- restart : ${RESTART_POLICY:-unless-stopped}
106- volumes :
107- - /var/run/docker.sock:/var/run/docker.sock:ro
108- networks :
109- - docker-proxy
110- environment :
111- - LOG_LEVEL=info
112- - POST=1
113- - CONTAINERS=1
114- - IMAGES=1
115- - INFO=1
116- - NETWORKS=1
117- healthcheck :
118- test : ["CMD", "nc", "-z", "127.0.0.1", "2375"]
119- interval : 30s
120- timeout : 5s
121- retries : 5
122- start_period : 5s
12354
12455 postgres :
12556 image : postgres:${POSTGRES_IMAGE_TAG:-14}
@@ -240,41 +171,14 @@ services:
240171 retries : 5
241172 start_period : 10s
242173
243- traefik :
244- image : traefik:${TRAEFIK_IMAGE_TAG:-v3.4}
245- restart : ${RESTART_POLICY:-unless-stopped}
246- ports :
247- - " 80:80"
248- - " 443:443"
249- - " 8080:8080" # Traefik dashboard
250- networks :
251- - traefik
252- command :
253- - --api.insecure=true
254- - --providers.docker=true
255- - --providers.docker.exposedbydefault=false
256- - --providers.docker.network=traefik
257- - --entrypoints.web.address=:80
258- - --entrypoints.websecure.address=:443
259- # - --certificatesresolvers.letsencrypt.acme.tlschallenge=true
260- # - --certificatesresolvers.letsencrypt.acme.email=local@foo.bar
261- # - --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
262- - --log.level=DEBUG
263- volumes :
264- - /var/run/docker.sock:/var/run/docker.sock:ro
265- - traefik-letsencrypt:/letsencrypt
266-
267174volumes :
268175 clickhouse :
269176 postgres :
270177 redis :
271178 shared :
272179 minio :
273- traefik-letsencrypt :
274180
275181networks :
276- traefik :
277- name : traefik
278182 docker-proxy :
279183 name : docker-proxy
280184 supervisor :
0 commit comments