-
Notifications
You must be signed in to change notification settings - Fork 2
/
prod-dc.yaml
108 lines (100 loc) · 2.38 KB
/
prod-dc.yaml
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
version: "3"
# Typical order of declarations for every service:
# - image
# - container_name
# - build
# - env_file
# - ports
# - command
# - restart
# - volumes
# - depends_on
services:
postgres:
image: postgres:13-alpine
env_file:
- .env
restart: always
ofelia:
image: mcuadros/ofelia:latest
command: daemon --config=/ofelia/config.ini
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./ofelia:/ofelia:ro
# depends_on:
# - back-end
watchdoc:
build:
context: .
dockerfile: watchdoc/Dockerfile
env_file:
- .env
- watchdoc/.env
# ports:
# - $WATCHDOC_PORT:$WATCHDOC_PORT
# - $WATCHDOC_AUTH_PORT:$WATCHDOC_AUTH_PORT
restart: always
volumes:
- watchdoc-generated:/watchdoc/generated
- watchdoc-secrets:/watchdoc/secrets
back-end:
container_name: back-end
build:
context: .
dockerfile: back-end/docker/image/prod.dockerfile
env_file:
- .env
- back-end/.env
# ports:
# - $BACK_END_PORT:$BACK_END_PORT
command: >
sh -c "/tools/wait-for-it.sh $POSTGRES_HOST:$POSTGRES_PORT -t 0 &&
python manage.py migrate &&
python manage.py register_permissions &&
rm -rf static &&
python manage.py collectstatic --clear &&
gunicorn conf.wsgi:application --config src/gunicorn.conf.py"
restart: always
volumes:
- back-end-backups:/back-end/backups
- back-end-media:/back-end/media
depends_on:
- postgres
front-end:
build:
context: .
dockerfile: front-end/Dockerfile
args:
- VUE_APP_BACK_END_HOST=$BACK_END_HOST
- VUE_APP_BACK_END_PORT=$BACK_END_PORT
env_file:
- .env
ports:
- $FRONT_END_PORT:443
command: >
sh -c "tools/wait-for-it.sh back-end:$BACK_END_PORT -t 0 &&
nginx -g \"daemon off;\""
restart: always
volumes:
- ./nginx/prod.conf:/etc/nginx/nginx.conf
- /etc/letsencrypt:/etc/letsencrypt
# depends_on:
# - back-end
tgbot:
container_name: tgbot
build:
context: .
dockerfile: tgbot/Dockerfile
env_file:
- .env
- tgbot/.env
restart: always
# depends_on:
# - back-end
volumes:
postgres-data:
back-end-backups:
back-end-media:
watchdoc-generated:
watchdoc-secrets: