Repository navigation
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
162 lines (155 loc) · 5.55 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
162 lines (155 loc) · 5.55 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
x-dev-environment: &dev-environment
NODE_ENV: development
DATABASE_URL: "${COMPOSE_DATABASE_URL:?Set COMPOSE_DATABASE_URL in the selected development env file}"
REDIS_HOST: redis
REDIS_PORT: "6379"
REDIS_USERNAME: ""
REDIS_PASSWORD: "${REDIS_PASSWORD:?Set REDIS_PASSWORD in the selected development env file}"
REDIS_TLS: ""
TEMPORAL_ADDRESS: temporal:7233
TEMPORAL_NAMESPACE: "${TEMPORAL_NAMESPACE:-waoowaoo}"
TEMPORAL_TASK_QUEUE: "${TEMPORAL_TASK_QUEUE:-waoowaoo-runtime}"
TEMPORAL_TLS_ENABLED: "false"
TEMPORAL_API_KEY: ""
TEMPORAL_WORKER_DEPLOYMENT_NAME: "${TEMPORAL_WORKER_DEPLOYMENT_NAME:-waoowaoo}"
TEMPORAL_WORKER_BUILD_ID: local
TEMPORAL_WORKER_VERSIONING_ENABLED: "true"
TEMPORAL_WORKER_READY_FILE: /tmp/waoowaoo-temporal-worker-ready
INTERNAL_APP_URL: http://app:3000
CODEX_RUNTIME_DRIVER: docker
CODEX_RUNTIME_HOST_ROOT: "${WAO_DEV_CODEX_RUNTIME_ROOT:?Set WAO_DEV_CODEX_RUNTIME_ROOT through scripts/dev-docker.sh}"
CODEX_RUNTIME_WAO_BASE_URL: http://app:3000
CODEX_RUNTIME_IMAGE: waoowaoo-codex-runtime:development
CODEX_RUNTIME_NETWORK: "${COMPOSE_PROJECT_NAME:-waoowaoo}_codex-runtime"
CODEX_RUNTIME_CPU_LIMIT: "${CODEX_RUNTIME_CPU_LIMIT:-2}"
CODEX_RUNTIME_MEMORY_BYTES: "${CODEX_RUNTIME_MEMORY_BYTES:-2147483648}"
CODEX_RUNTIME_PIDS_LIMIT: "${CODEX_RUNTIME_PIDS_LIMIT:-256}"
x-dev-service: &dev-service
image: waoowaoo-development:local
build:
context: .
target: development
args:
DEPLOYMENT_EDITION: "${DEPLOYMENT_EDITION:-self-hosted}"
restart: "no"
env_file:
- "${WAO_DEV_ENV_FILE:?Set WAO_DEV_ENV_FILE to the single development environment file}"
environment: *dev-environment
volumes:
- .:/app
- type: bind
source: "${WAO_DEV_ENV_FILE:?Set WAO_DEV_ENV_FILE to the single development environment file}"
target: /app/.env
read_only: true
- dev_node_modules:/app/node_modules
- dev_ee_node_modules:/app/ee/node_modules
- dev_next:/app/.next
- ./data:/app/data
- ./docker-logs:/app/logs
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
temporal-create-namespace:
condition: service_completed_successfully
services:
codex-runtime-dev:
image: waoowaoo-codex-runtime:development
build:
context: .
dockerfile: Dockerfile.codex-runtime
profiles: ["dev-build"]
app-schema-dev:
<<: *dev-service
depends_on:
mysql:
condition: service_healthy
command: ["sh", "-c", "npx prisma generate && npm run db:push"]
app-dev:
<<: *dev-service
ports:
- "${DEV_APP_BIND_ADDRESS:-127.0.0.1}:${DEV_APP_HOST_PORT:-3001}:3000"
volumes:
- .:/app
- type: bind
source: "${WAO_DEV_ENV_FILE:?Set WAO_DEV_ENV_FILE to the single development environment file}"
target: /app/.env
read_only: true
- dev_node_modules:/app/node_modules
- dev_ee_node_modules:/app/ee/node_modules
- dev_next:/app/.next
- ./data:/app/data
- ./docker-logs:/app/logs
- "${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock"
- type: bind
source: "${WAO_DEV_CODEX_RUNTIME_ROOT:?Set WAO_DEV_CODEX_RUNTIME_ROOT through scripts/dev-docker.sh}"
target: "${WAO_DEV_CODEX_RUNTIME_ROOT:?Set WAO_DEV_CODEX_RUNTIME_ROOT through scripts/dev-docker.sh}"
networks:
default:
aliases: [app]
codex-runtime:
aliases: [app]
depends_on:
app-schema-dev:
condition: service_completed_successfully
redis:
condition: service_healthy
temporal-dev-route:
condition: service_completed_successfully
command: ["sh", "-c", "npm run storage:init && exec npm run dev:next"]
temporal-worker-dev:
<<: *dev-service
restart: unless-stopped
depends_on:
app-schema-dev:
condition: service_completed_successfully
redis:
condition: service_healthy
temporal-create-namespace:
condition: service_completed_successfully
command:
- /bin/sh
- -ec
- |
rm -f "$$TEMPORAL_WORKER_READY_FILE"
exec npm run dev:temporal-worker
healthcheck:
test:
- CMD-SHELL
- >-
test -s "$${TEMPORAL_WORKER_READY_FILE}" &&
ready_pid="$$(cat "$${TEMPORAL_WORKER_READY_FILE}")" &&
kill -0 "$${ready_pid}" 2>/dev/null
interval: 2s
timeout: 2s
retries: 60
start_period: 5s
temporal-dev-route:
image: temporalio/admin-tools:1.31.2
restart: "no"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
depends_on:
temporal-create-namespace:
condition: service_completed_successfully
temporal-worker-dev:
condition: service_healthy
environment:
TEMPORAL_ADDRESS: temporal:7233
TEMPORAL_NAMESPACE: "${TEMPORAL_NAMESPACE:-waoowaoo}"
TEMPORAL_TASK_QUEUE: "${TEMPORAL_TASK_QUEUE:-waoowaoo-runtime}"
TEMPORAL_WORKER_DEPLOYMENT_NAME: "${TEMPORAL_WORKER_DEPLOYMENT_NAME:-waoowaoo}"
TEMPORAL_WORKER_BUILD_ID: local
volumes:
- ./scripts/temporal/dev-route-init.sh:/opt/wao/dev-route-init.sh:ro
entrypoint: ["/bin/sh", "/opt/wao/dev-route-init.sh"]
volumes:
dev_node_modules:
name: "${COMPOSE_PROJECT_NAME:-waoowaoo}_dev_node_modules_${WAO_DEV_DEPENDENCY_FINGERPRINT:?Set WAO_DEV_DEPENDENCY_FINGERPRINT through scripts/dev-docker.sh}"
dev_ee_node_modules:
name: "${COMPOSE_PROJECT_NAME:-waoowaoo}_dev_ee_node_modules_${WAO_DEV_DEPENDENCY_FINGERPRINT:?Set WAO_DEV_DEPENDENCY_FINGERPRINT through scripts/dev-docker.sh}"
dev_next: