-
Notifications
You must be signed in to change notification settings - Fork 226
Expand file tree
/
Copy pathcompose.yaml
More file actions
152 lines (137 loc) · 3.25 KB
/
compose.yaml
File metadata and controls
152 lines (137 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# 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:
- 80:80
- 443:443
networks:
- frontend
restart: always
networks:
frontend:
backend:
code-executor:
volumes:
data:
retooldb-data: