Preview: compose.yaml
Size: 3.25 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/retool/retool-onpremise/compose.yaml
# Comment out the below 'include' block to use Retool-managed Temporal (Enterprise license)
include:
- temporal.yaml
services:
api:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=MAIN_BACKEND,DB_CONNECTOR,DB_SSH_CONNECTOR
ports:
- 3000:3000
networks:
- frontend
- backend
- code-executor
depends_on:
- postgres
restart: always
jobs-runner:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=JOBS_RUNNER
networks:
- backend
depends_on:
- postgres
restart: always
workflows-backend:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=WORKFLOW_BACKEND,DB_CONNECTOR,DB_SSH_CONNECTOR
networks:
- backend
- code-executor
depends_on:
- postgres
restart: always
workflows-worker:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=WORKFLOW_TEMPORAL_WORKER
- NODE_OPTIONS=--max_old_space_size=1024
networks:
- backend
- code-executor
depends_on:
- postgres
restart: always
agent-worker:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=WORKFLOW_TEMPORAL_WORKER
- WORKER_TEMPORAL_TASKQUEUE=agent
networks:
- backend
- code-executor
depends_on:
- postgres
restart: always
agent-eval-worker:
build:
context: .
env_file: docker.env
environment:
- SERVICE_TYPE=AGENT_EVAL_TEMPORAL_WORKER
- WORKER_TEMPORAL_TASKQUEUE=agent-eval
networks:
- backend
- code-executor
depends_on:
- postgres
restart: always
code-executor:
build:
context: .
target: code-executor
# Option 1 (preferred): Run privileged to sandbox user code in Workflows
privileged: true
# Option 2: Run unprivileged, potentially required with your host machine permissions
# user: retool_user
# environment:
# - ALLOW_UNSAFE_CODE_EXECUTION=true
networks:
- code-executor
restart: always
# Retool's internal DB, we recommend using an externally hosted database: https://docs.retool.com/docs/configuring-retools-storage-database
postgres:
image: postgres:16.8
env_file: docker.env
command: -c 'max_connections=200'
networks:
- backend
volumes:
- data:/var/lib/postgresql/data
restart: always
retooldb-postgres:
image: postgres:16.8
env_file: retooldb.env
networks:
- backend
volumes:
- retooldb-data:/var/lib/postgresql/data
restart: always
# Optional Nginx container for handling TLS for your domain (requires setting DOMAINS and STAGE)
https-portal:
image: tryretool/https-portal:latest
env_file: docker.env
environment:
# Change 'local' -> 'production' below once your domain is pointing to this server
STAGE: local
CLIENT_MAX_BODY_SIZE: 40M
KEEPALIVE_TIMEOUT: 605
PROXY_CONNECT_TIMEOUT: 600
PROXY_SEND_TIMEOUT: 600
PROXY_READ_TIMEOUT: 600
ports:
- 8880:80
- 8443:443
networks:
- frontend
restart: always
networks:
frontend:
backend:
code-executor:
volumes:
data:
retooldb-data:
Directory Contents
Dirs: 4 × Files: 9