-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
145 lines (132 loc) · 2.57 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
version: "3.9"
services:
redis:
platform: linux/amd64
image: "redis:alpine"
networks:
- web
expose:
- 6379
volumes:
- cache:/data
mem_reservation: 128m
db:
platform: linux/amd64
image: "postgres:alpine"
networks:
- web
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
POSTGRES_DB: "db"
expose:
- 5432
volumes:
- db:/var/lib/postgresql/data
mem_reservation: 128m
secrets:
- db_password
web:
build: .
depends_on:
- redis
- db
expose:
- "5001"
networks:
- web
- nbs
deploy:
mode: replicated
replicas: 2
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
VIRTUAL_HOST: "localhost"
REDIS_HOST: "redis"
DB_USER: "postgres"
DB_HOST: "db"
DB_NAME: "db"
DB_PASSWORD_FILE: /run/secrets/db_password
SECRET_KEY_FILE: /run/secrets/secret_key
PYTHONUNBUFFERED: 1
secrets:
- db_password
- secret_key
mem_reservation: 128m
worker:
build:
context: ./
dockerfile: ./worker/Dockerfile
depends_on:
- redis
- db
deploy:
mode: replicated
replicas: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- web
mem_reservation: 64m
environment:
REDIS_HOST: "redis"
DB_USER: "postgres"
DB_HOST: "db"
DB_NAME: "db"
DB_PASSWORD_FILE: /run/secrets/db_password
PYTHONUNBUFFERED: 1
secrets:
- db_password
monitor:
build:
context: ./
dockerfile: ./monitor/Dockerfile
depends_on:
- redis
- db
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- web
mem_reservation: 64m
restart: always
environment:
REDIS_HOST: "redis"
DB_USER: "postgres"
DB_HOST: "db"
DB_NAME: "db"
DB_PASSWORD_FILE: /run/secrets/db_password
PYTHONUNBUFFERED: 1
secrets:
- db_password
nginx:
platform: linux/amd64
image: nginxproxy/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
depends_on:
- web
environment:
- DEFAULT_HOST=web.local
networks:
- web
mem_reservation: 128m
networks:
web:
driver: bridge
nbs:
driver: bridge
internal: true
secrets:
db_password:
file: db_password.txt
secret_key:
file: secret_key.txt
volumes:
db:
driver: local
cache:
driver: local