代码拉取完成,页面将自动刷新
version: '2'
services:
api:
build:
context: ./
dockerfile: Dockerfile
env_file: ./docker.env
environment:
- SERVICE_TYPE=MAIN_BACKEND
- DB_CONNECTOR_HOST=http://db-connector
- DB_CONNECTOR_PORT=3002
- DB_SSH_CONNECTOR_HOST=http://db-ssh-connector
- DB_SSH_CONNECTOR_PORT=3002
# If using Retool-managed Temporal cluster, leave workflow-related ENV vars commented
# If using self-managed cluster (Temporal Cloud or self-hosted) external to your Retool deployment, uncomment and update workflow-related ENV vars
# Compare deployment options here: https://docs.retool/self-hosted/concepts/temporal#compare-options
# - WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST=temporal
# - WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT=7233
# set these if using self-managed Temporal Cloud or require TLS for your self-managed Temporal cluster
# - WORKFLOW_TEMPORAL_TLS_ENABLED
# - WORKFLOW_TEMPORAL_TLS_CRT
# - WORKFLOW_TEMPORAL_TLS_KEY
networks:
- frontend-network
- backend-network
- db-connector-network
- db-ssh-connector-network
- workflows-network
depends_on:
- postgres
- retooldb-postgres
- db-connector
- db-ssh-connector
- jobs-runner
- workflows-worker
command: bash -c "./docker_scripts/wait-for-it.sh postgres:5432; ./docker_scripts/start_api.sh"
links:
- postgres
ports:
- '3000:3000'
restart: on-failure
volumes:
- ./keys:/root/.ssh
- ssh:/retool_backend/autogen_ssh_keys
- ./retool:/usr/local/retool-git-repo
- ${BOOTSTRAP_SOURCE:-./retool}:/usr/local/retool-repo
jobs-runner:
build:
context: ./
dockerfile: Dockerfile
env_file: ./docker.env
environment:
- SERVICE_TYPE=JOBS_RUNNER
networks:
- backend-network
depends_on:
- postgres
command: bash -c "chmod -R +x ./docker_scripts; sync; ./docker_scripts/wait-for-it.sh postgres:5432; ./docker_scripts/start_api.sh"
links:
- postgres
volumes:
- ./keys:/root/.ssh
db-connector:
build:
context: ./
dockerfile: Dockerfile
env_file: ./docker.env
environment:
- SERVICE_TYPE=DB_CONNECTOR_SERVICE
- DBCONNECTOR_POSTGRES_POOL_MAX_SIZE=100
- DBCONNECTOR_QUERY_TIMEOUT_MS=120000
networks:
- db-connector-network
restart: on-failure
db-ssh-connector:
build:
context: ./
dockerfile: Dockerfile
command: bash -c "./docker_scripts/generate_key_pair.sh; ./docker_scripts/start_api.sh"
env_file: ./docker.env
environment:
- SERVICE_TYPE=DB_SSH_CONNECTOR_SERVICE
- DBCONNECTOR_POSTGRES_POOL_MAX_SIZE=100
- DBCONNECTOR_QUERY_TIMEOUT_MS=120000
networks:
- db-ssh-connector-network
volumes:
- ssh:/retool_backend/autogen_ssh_keys
- ./keys:/retool_backend/keys
restart: on-failure
workflows-worker:
build:
context: ./
dockerfile: Dockerfile
command: bash -c "./docker_scripts/wait-for-it.sh postgres:5432; ./docker_scripts/start_api.sh"
env_file: ./docker.env
environment:
- SERVICE_TYPE=WORKFLOW_TEMPORAL_WORKER
- NODE_OPTIONS=--max_old_space_size=1024
- DISABLE_DATABASE_MIGRATIONS=true
- WORKFLOW_BACKEND_HOST=http://api:3000
# If using Retool-managed Temporal cluster, leave workflow-related ENV vars commented
# If using self-managed cluster (Temporal Cloud or self-hosted) external to your Retool deployment, uncomment and update workflow-related ENV vars
# Compare deployment options here: https://docs.retool/self-hosted/concepts/temporal#compare-options
# - WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST=temporal
# - WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT=7233
# set these if using self-managed Temporal Cloud or require TLS for your self-managed Temporal cluster
# - WORKFLOW_TEMPORAL_TLS_ENABLED
# - WORKFLOW_TEMPORAL_TLS_CRT
# - WORKFLOW_TEMPORAL_TLS_KEY
networks:
- backend-network
- db-connector-network
- workflows-network
restart: on-failure
# Retool's storage database. See these docs to migrate to an externally hosted database: https://docs.retool.com/docs/configuring-retools-storage-database
postgres:
image: 'postgres:11.13'
env_file: docker.env
networks:
- backend-network
- db-connector-network
volumes:
- data:/var/lib/postgresql/data
retooldb-postgres:
image: "postgres:14.3"
env_file: retooldb.env
networks:
- backend-network
- db-connector-network
volumes:
- retooldb-data:/var/lib/postgresql/data
# Not required, but leave this container to use nginx for handling the frontend & SSL certification
https-portal:
image: tryretool/https-portal:latest
ports:
- '80:80'
- '443:443'
links:
- api
restart: always
env_file: ./docker.env
environment:
STAGE: 'local' # <- Change 'local' to 'production' to use a LetsEncrypt signed SSL cert
CLIENT_MAX_BODY_SIZE: 40M
KEEPALIVE_TIMEOUT: 605
PROXY_CONNECT_TIMEOUT: 600
PROXY_SEND_TIMEOUT: 600
PROXY_READ_TIMEOUT: 600
networks:
- frontend-network
networks:
frontend-network:
backend-network:
db-connector-network:
db-ssh-connector-network:
workflows-network:
volumes:
ssh:
data:
retooldb-data:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。