-
Notifications
You must be signed in to change notification settings - Fork 4
/
docker-compose.yml
243 lines (229 loc) · 6.67 KB
/
docker-compose.yml
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
services:
homer:
image: b4bz/homer
container_name: homer
restart: always
volumes:
- ./containers/homer/assets:/www/assets
ports:
- 13337:8080
environment:
- INIT_ASSETS=0
postgresql:
image: postgres:15
volumes:
- ./_data/db:/var/lib/postgresql/data
ports:
- 127.0.0.1:13100:5432
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
networks:
- takaro
redis:
image: redis
networks:
- takaro
ports:
- 6379:6379
takaro:
build:
context: .
dockerfile: ./containers/takaro/dev.Dockerfile
volumes:
- ./packages/app-api:/app/packages/app-api
- ./packages/app-connector:/app/packages/app-connector
- ./packages/app-mock-gameserver:/app/packages/app-mock-gameserver
- ./packages/web-main:/app/packages/web-main
- ./packages/web-docs:/app/packages/web-docs
- ./packages/lib-apiclient:/app/packages/lib-apiclient
- ./packages/lib-auth:/app/packages/lib-auth
- ./packages/lib-email:/app/packages/lib-email
- ./packages/lib-components:/app/packages/lib-components
- ./packages/lib-config:/app/packages/lib-config
- ./packages/lib-aws:/app/packages/lib-aws
- ./packages/lib-db:/app/packages/lib-db
- ./packages/lib-function-helpers:/app/packages/lib-function-helpers
- ./packages/lib-gameserver:/app/packages/lib-gameserver
- ./packages/lib-http:/app/packages/lib-http
- ./packages/lib-modules:/app/packages/lib-modules
- ./packages/lib-queues:/app/packages/lib-queues
- ./packages/lib-util:/app/packages/lib-util
- ./packages/test:/app/packages/test
- ./.storybook:/app/.storybook
- ./reports:/app/reports
- ./scripts:/app/scripts
env_file:
- .env
environment:
NODE_OPTIONS: '--loader ts-node/esm'
REDIS_HOST: redis
POSTGRES_HOST: postgresql
TAKARO_HOST: http://takaro:3000
TEST_HTTP_TARGET: http://takaro:3000
TAKARO_OAUTH_HOST: http://hydra:4444
VITE_API: http://127.0.0.1:13000
VITE_ORY_URL: http://127.0.0.1:4433
CORS_ALLOWED_ORIGINS: http://127.0.0.1:13000,http://127.0.0.1:13001,http://127.0.0.1:13004,https://admin.socket.io,http://takaro:13000,http://takaro:13001
TRACING_ENDPOINT: 'http://tempo:4317'
TAKARO_SERVICE: 'dev-takaro'
networks:
- takaro
ports:
# api
- 13000:3000
- 12001:12001
# web-main
- 13001:13001
# lib-components storybook
- 13002:13002
# mock server
- 13006:3002
- 12004:12004
# connector
- 12003:12003
# Docs
- 13005:13005
takaro-migrator:
build:
context: .
dockerfile: ./containers/takaro/dev.Dockerfile
command: npm -w packages/app-api run db:migrate
volumes:
- ./packages/app-api:/app/packages/app-api
- ./packages/lib-db:/app/packages/lib-db
- ./scripts:/app/scripts
env_file:
- .env
environment:
LOGGING_LEVEL: debug
NODE_OPTIONS: '--loader ts-node/esm'
POSTGRES_HOST: postgresql
networks:
- takaro
e2e:
build:
context: .
dockerfile: containers/playwright/dev.Dockerfile
depends_on:
- takaro
ipc: host
volumes:
- ./packages/e2e:/app/packages/e2e
- /tmp/.X11-unix:/tmp/.X11-unix
ports:
- 20000:20000
environment:
- DISPLAY=:0
networks:
- takaro
kratos-migrate:
image: oryd/kratos:v1.0.0
environment:
- DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgresql_kratos:5432/kratos
volumes:
- ./containers/ory/kratos:/etc/config/kratos
command: -c /etc/config/kratos/kratos.yml migrate sql -e --yes
restart: on-failure
networks:
- takaro
kratos:
image: oryd/kratos:v1.0.0
ports:
- '4433:4433' # public
- '4434:4434' # admin
restart: on-failure
environment:
- DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgresql_kratos:5432/kratos
command: serve -c /etc/config/kratos/kratos.yml --dev --watch-courier
volumes:
- ./containers/ory/kratos:/etc/config/kratos
networks:
- takaro
postgresql_kratos:
image: postgres:15
ports:
- 127.0.0.1:13101:5432
volumes:
- ./_data/kratos-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: kratos
networks:
- takaro
hydra-e2e:
image: oryd/hydra:v2.0.3
ports:
- '14444:4444' # Public port
- '14445:4445' # Admin port
- '15555:5555' # Port for hydra token user
command: serve -c /etc/config/hydra/hydra.yml all --dev
volumes:
- ./containers/ory/hydra:/etc/config/hydra
environment:
- DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgresql_hydra:5432/hydra
- URLS_SELF_ISSUER=http://127.0.0.1:14444/
networks:
- takaro
hydra:
image: oryd/hydra:v2.0.3
ports:
- '4444:4444' # Public port
- '4445:4445' # Admin port
- '5555:5555' # Port for hydra token user
command: serve -c /etc/config/hydra/hydra.yml all --dev
volumes:
- ./containers/ory/hydra:/etc/config/hydra
environment:
- DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgresql_hydra:5432/hydra
- URLS_SELF_ISSUER=http://hydra:4444/
networks:
- takaro
hydra-migrate:
image: oryd/hydra:v2.0.3
environment:
- DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgresql_hydra:5432/hydra
command: migrate -c /etc/config/hydra/hydra.yml sql -e --yes
volumes:
- ./containers/ory/hydra:/etc/config/hydra
networks:
- takaro
postgresql_hydra:
image: postgres:15
ports:
- 127.0.0.1:13102:5432
volumes:
- ./_data/hydra-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: hydra
networks:
- takaro
# mailslurper:
# image: oryd/mailslurper:latest-smtps
# ports:
# - '4436:4436'
# - '4437:4437'
# volumes:
# - ./containers/mailslurper/config.json:/go/src/github.com/mailslurper/mailslurper/cmd/mailslurper/config.json
mailhog:
image: mailhog/mailhog
container_name: mailhog
ports:
# SMTP
# Doesnt need to be exposed outside the container network
# But keeping comment for 'documentation purposes'
# - 14000:1025
# Web
- 8025:8025
logging:
driver: none
networks:
- takaro
networks:
takaro:
external:
name: takaro