-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
152 lines (142 loc) · 3.04 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
services:
database:
image: postgres:latest
container_name: database
env_file:
- ./.env
# - data-service/.env
networks:
- hyper-network
volumes:
- /tmp/db-data:/var/lib/postgresql/data
restart: on-failure
migration:
image: python:3.12-slim
container_name: migration
env_file:
- ./.env
# - data-service/.env
networks:
- hyper-network
volumes:
- ./db-migrations:/tmp/db
depends_on:
- database
command: ["sh", "-c", "/tmp/db/init.sh"]
restart: "no"
# grpc:
# image: python:3.12-slim
# container_name: grpc
# env_file:
# - ./.env
# - data-service/.env
# networks:
# - hyper-network
# volumes:
# - ./grpc:/grpc
# command: ["sh", "-c", "/grpc/setup.sh"]
# restart: "no"
data-service:
build: ./data-service
image: data-service
container_name: data-service
volumes:
- ./data-service:/app
- ./grpc:/grpc
depends_on:
- migration
networks:
- hyper-network
restart: always
gateway:
image: nginx:latest
container_name: gateway
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
networks:
- hyper-network
ports:
- 80:80
depends_on:
- auth-service
- user-service
- stream-service
restart: always
auth-service:
build: ./auth-service
image: auth-service
container_name: auth-service
volumes:
- ./auth-service:/app
- ./grpc:/grpc
env_file:
- ./.env
# - ./auth-service/.env
networks:
- hyper-network
depends_on:
- migration
restart: on-failure
authorization-service:
build: ./authorization-service
image: authorization-service
container_name: authorization-service
volumes:
- ./authorization-service:/app
- ./grpc:/grpc
env_file:
- ./.env
networks:
- hyper-network
restart: on-failure
user-service:
build: ./user-service
image: user-service
container_name: user-service
volumes:
- ./user-service:/app
- ./grpc:/grpc
env_file:
- ./.env
# - ./user-service/.env
networks:
- hyper-network
depends_on:
- migration
restart: on-failure
stream-service:
build: ./stream-service
image: stream-service
container_name: stream-service
volumes:
- ./stream-service:/app
- /app/node_modules
- ./grpc:/grpc
- ~/goinfre/hypertube:/downloads
env_file:
- ./.env
# - ./stream-service/.env
networks:
- hyper-network
restart: on-failure
cron-service:
build: ./cron-service
image: cron-service
container_name: cron-service
volumes:
- ./cron-service:/app
- ./grpc:/grpc
- ~/goinfre/hypertube:/downloads
- /app/node_modules
env_file:
- ./.env
# - ./cron-service/.env
networks:
- hyper-network
depends_on:
- database
restart: on-failure
networks:
hyper-network:
driver: bridge
name: hyper-network