-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.prod-ci.yml
110 lines (104 loc) · 2.18 KB
/
docker-compose.prod-ci.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
version: "3.8"
services:
mongo:
build:
target: mongo
dockerfile: ./database/Dockerfile
args:
MONGO_VERSION: 6
container_name: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=
- MONGO_INITDB_ROOT_PASSWORD=
- MONGO_INITDB_DATABASE=
- MONGO_REPLICA_HOST=mongo
- MONGO_REPLICA_PORT=27017
- MONGO_COMMAND=mongosh
- INIT_REPL_CMD=3
volumes:
- ./database/data:/data/db
- ./database/conf/mongod.conf.orig:/etc/mongod.conf
ports:
- 27017:27017
networks:
- backend
restart: always
healthcheck:
# Use "mongo" instead of "mongosh" before v5.0
test:
[
"CMD",
"mongosh",
"admin",
"--port",
"27017",
"--eval",
"db.adminCommand('ping').ok",
]
interval: 5s
timeout: 2s
retries: 20
mongo-seed:
build:
context: .
target: mongo-seed
dockerfile: ./database/Dockerfile
args:
MONGO_VERSION: 6
container_name: mongo-seed
networks:
- backend
depends_on:
- mongo
server:
image: ghcr.io/iryna-gry/prod-fixlab-server:latest
container_name: server
restart: unless-stopped
env_file: ./server/.env
environment:
- NODE_ENV=production
volumes:
- ./server/public/:/app/server/public
ports:
- 30000:3000
networks:
- client
- backend
depends_on:
- mongo
links:
- mongo
admin:
image: ghcr.io/iryna-gry/prod-fixlab-admin:latest
container_name: admin
restart: unless-stopped
env_file: ./admin/.env.docker.local
stdin_open: true
tty: true
environment:
- NODE_ENV=production
ports:
- "30002:3002"
networks:
- client
client:
image: ghcr.io/iryna-gry/prod-fixlab-client:latest
container_name: client
restart: unless-stopped
env_file: ./client/.env.docker.local
stdin_open: true
tty: true
environment:
- NODE_ENV=production
ports:
- "30001:3001"
networks:
- client
networks:
client:
driver: bridge
backend:
driver: bridge
volumes:
database:
driver: local