-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
144 lines (136 loc) · 3.19 KB
/
docker-compose.yml
File metadata and controls
144 lines (136 loc) · 3.19 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
version: "3.9"
services:
codegen:
container_name: diplicity-codegen
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app
- /app/node_modules
- /app/packages/web/node_modules
- /app/packages/native
env_file:
- .env
networks:
- diplicity-network
depends_on:
- service
command: >
sh -c "python3 service/manage.py spectacular --file service/openapi-schema.yaml && cd /app/packages/web && npx orval --config orval.config.ts"
web:
build:
context: ./packages/web
dockerfile: Dockerfile
develop:
watch:
- action: sync
path: ./src
target: /app/src
ignore:
- node_modules
container_name: diplicity-web
entrypoint: ["npm", "run", "dev"]
ports:
- "5173:5173"
volumes:
- ./packages/web:/app
- /app/node_modules
env_file:
- .env
environment:
- CHOKIDAR_USEPOLLING=true
networks:
- diplicity-network
service:
container_name: diplicity-service
build:
context: ./service
dockerfile: Dockerfile
target: development
ports:
- "8000:8000"
volumes:
- .:/app
env_file:
- .env
environment:
- DJANGO_DEBUG=True
- ROOT_LOG_LEVEL=INFO
- DJANGO_LOG_LEVEL=INFO
- DB_LOG_LEVEL=WARNING
- GAME_LOG_LEVEL=INFO
working_dir: /app/service
command: >
sh -c "python manage.py migrate && gunicorn project.wsgi:application --bind 0.0.0.0:8000 --timeout 60"
networks:
- diplicity-network
tty: true
db:
container_name: diplicity-db
image: postgres:17
environment:
POSTGRES_DB: diplicity
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- diplicity-network
phase-resolver:
build:
context: ./service
dockerfile: Dockerfile
target: development
container_name: diplicity-phase-resolver
working_dir: /app/service
volumes:
- .:/app
env_file:
- .env
environment:
- DJANGO_DEBUG=True
- ROOT_LOG_LEVEL=INFO
- DJANGO_LOG_LEVEL=INFO
- DB_LOG_LEVEL=WARNING
- GAME_LOG_LEVEL=INFO
command: >
sh -c 'while true; do curl -X POST -H "Content-Type: application/json" http://service:8000/phase/resolve/ || echo "Failed to call phase resolve endpoint"; sleep 10; done'
networks:
- diplicity-network
depends_on:
- db
- service
worker:
container_name: diplicity-worker
build:
context: ./service
dockerfile: Dockerfile
target: development
working_dir: /app/service
volumes:
- .:/app
env_file:
- .env
environment:
- DJANGO_DEBUG=True
- ROOT_LOG_LEVEL=INFO
- DJANGO_LOG_LEVEL=INFO
- DB_LOG_LEVEL=WARNING
- GAME_LOG_LEVEL=INFO
- PROCESS_ROLE=worker
command: >
sh -c "python manage.py procrastinate worker"
restart: on-failure
networks:
- diplicity-network
depends_on:
- db
- service
networks:
diplicity-network:
name: diplicity-network
volumes:
postgres_data: