-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathtilt-docker-compose.yml
More file actions
191 lines (181 loc) · 5.93 KB
/
Copy pathtilt-docker-compose.yml
File metadata and controls
191 lines (181 loc) · 5.93 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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Tilt-oriented compose file for local hot-reload development.
#
# Differences from local-docker-compose.yml:
# - This file is meant to be loaded by `tilt up`; use local-docker-compose.yml
# for standalone Docker Compose workflows.
# - The three actively-developed services are matched to Tilt `docker_build()`
# image names instead of declaring Compose-managed builds here.
# - Dev images are bootable on first start, and Tilt live_update handles later
# source edits.
# - Frontend is served by Vite's dev server on 5173 (HMR enabled), not nginx.
# - Infra services (postgres, temporal, etc.) are identical to
# local-docker-compose.yml.
services:
postgresql:
image: docker.io/library/postgres:17.2
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=code_confluence
command: >
postgres
-c wal_level=logical
-c listen_addresses=*
-c max_connections=200
-c idle_in_transaction_session_timeout=300000
-c tcp_keepalives_idle=60
-c tcp_keepalives_interval=10
-c tcp_keepalives_count=6
ports:
- "5432:5432"
volumes:
- postgresql_data:/var/lib/postgresql/data
networks:
- temporal-network
healthcheck:
test: ["CMD", "pg_isready", "-U", "${DB_USER:-postgres}"]
interval: 10s
timeout: 5s
retries: 5
electric:
image: docker.io/electricsql/electric:1.4.13
environment:
DATABASE_URL: postgresql://postgres:postgres@postgresql:5432/code_confluence?sslmode=disable
ELECTRIC_INSECURE: true
ports:
- "3001:3000"
networks:
- temporal-network
depends_on:
postgresql:
condition: service_healthy
temporal:
depends_on:
postgresql:
condition: service_healthy
environment:
- DB=postgres12
- DB_PORT=5432
- POSTGRES_USER=postgres
- POSTGRES_PWD=postgres
- POSTGRES_SEEDS=postgresql
- TEMPORAL_CLI_ADDRESS=temporal:7233
image: docker.io/temporalio/auto-setup:1.29.1
networks:
- temporal-network
ports:
- 7233:7233
healthcheck:
test: ["CMD-SHELL", "tctl cluster health | grep -i SERVING || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
temporal-admin-tools:
depends_on:
- temporal
environment:
- TEMPORAL_ADDRESS=temporal:7233
- TEMPORAL_CLI_ADDRESS=temporal:7233
image: docker.io/temporalio/admin-tools:1.29.1-tctl-1.18.4-cli-1.5.0
networks:
- temporal-network
stdin_open: true
tty: true
temporal-ui:
depends_on:
- temporal
environment:
- TEMPORAL_ADDRESS=temporal:7233
- TEMPORAL_CORS_ORIGINS=http://localhost:3000,http://localhost:5173,http://127.0.0.1:3000,http://127.0.0.1:5173
- TEMPORAL_CSRF_COOKIE_INSECURE=True
image: docker.io/temporalio/ui:2.43.3
networks:
- temporal-network
ports:
- 8081:8080
code-confluence-flow-bridge:
# `image:` is matched by docker_build() in the Tiltfile.
image: unoplat/code-confluence-flow-bridge-dev
environment:
- TEMPORAL_SERVER_ADDRESS=temporal:7233
- ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:8001,http://127.0.0.1:3000,http://127.0.0.1:5173
- DB_HOST=postgresql
- TEMPORAL_DEBUG=true
- LOG_LEVEL=DEBUG
- TOKEN_ENCRYPTION_KEY=0PiVvlu6HExNWkYjukuG0CAV930B4OsqXNPItAvsxhQ=
- REPOSITORIES_BASE_PATH=/opt/unoplat/repositories
- FRAMEWORK_DEFINITIONS_PATH=/app/framework-definitions
- LOG_DIR=/tmp/logs
- CODEBASE_PARSER_FILE_PROCESSING_CONCURRENCY=5
- QUERY_ENGINE_BASE_URL=http://unoplat-code-confluence-query-engine:8000
- GITHUB_APP_MANIFEST_TEMPLATE_PATH=/opt/unoplat/github-app-config/manifest-template.json
- GITHUB_APP_NAME=Unoplat Code Confluence
- GITHUB_APP_REDIRECT_PATH=/integrations/github/app-manifest/callback
- GITHUB_APP_WEBHOOK_PATH=/integrations/github/webhook
- GITHUB_APP_OWNER_TYPE=user
depends_on:
temporal:
condition: service_healthy
ports:
- "8000:8000"
volumes:
- repositories_data:/opt/unoplat/repositories
- flow_bridge_logs:/app/logs
# GitHub App onboarding still expects a developer-provided
# config/github-app/manifest-template.json on the host.
- ./unoplat-code-confluence-ingestion/code-confluence-flow-bridge/config/github-app:/opt/unoplat/github-app-config:ro
networks:
- temporal-network
stdin_open: true
tty: true
unoplat-code-confluence-query-engine:
image: unoplat/code-confluence-query-engine-dev
environment:
- TEMPORAL_ADDRESS=temporal:7233
- DB_HOST=postgresql
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=postgres
- DB_NAME=code_confluence
- TOKEN_ENCRYPTION_KEY=0PiVvlu6HExNWkYjukuG0CAV930B4OsqXNPItAvsxhQ=
- MCP_SERVERS_CONFIG_PATH=/app/mcp-servers.json
- CODEX_OPENAI_CALLBACK_PORT=1455
- CODEX_OPENAI_CALLBACK_HOSTS=0.0.0.0
- CODEX_OPENAI_REDIRECT_URI=http://localhost:1455/auth/callback
- LOGFIRE_SDK_WRITE_KEY=pylf_v1_us_cyVrHcN4BMHTFfXpyLbxm6GSk94P8Vb46ZTPJBzgzsML
ports:
- "127.0.0.1:8001:8000"
- "127.0.0.1:1455:1455"
volumes:
- query_engine_logs:/app/logs
- repositories_data:/opt/unoplat/repositories
networks:
- temporal-network
depends_on:
temporal:
condition: service_healthy
postgresql:
condition: service_healthy
unoplat-code-confluence-frontend:
image: unoplat/code-confluence-frontend-dev
depends_on:
- code-confluence-flow-bridge
ports:
# Vite dev server on 5173 — HMR websocket uses the same port.
- "5173:5173"
networks:
- temporal-network
networks:
temporal-network:
driver: bridge
name: temporal-network
volumes:
postgresql_data:
driver: local
repositories_data:
driver: local
query_engine_logs:
driver: local
flow_bridge_logs:
driver: local