Edit file File name : compose.yaml Content :# 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: Save