-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
80 lines (74 loc) · 2.44 KB
/
compose.yaml
File metadata and controls
80 lines (74 loc) · 2.44 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
services:
nginx:
build:
context: .
dockerfile: docker/django/Dockerfile
target: nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
environment:
- NGINX_SERVER_NAME=${NGINX_SERVER_NAME:?Must set nginx server name}
- NGINX_SSL_CERT_FILE=/nginx_ssl_cert_file
- NGINX_SSL_KEY_FILE=/run/secrets/nginx_ssl_key_file
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/templates:/etc/nginx/templates
- media_files:/srv/app/media/:ro
configs:
- nginx_ssl_cert_file
secrets:
- nginx_ssl_key_file
postgres:
image: postgres:17
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER:?Must set postgres user name}
- POSTGRES_DB=${POSTGRES_DB:?Must set postgres database name}
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password_file
volumes:
- db_data:/var/lib/postgresql/data
- ./docker/postgres/scripts/:/docker-entrypoint-initdb.d/
secrets:
- postgres_password_file
django:
build:
context: .
dockerfile: docker/django/Dockerfile
target: production
restart: unless-stopped
environment:
- DJANGO_ALLOWED_HOSTS=${DJANGO_ALLOWED_HOSTS:?Must set allowed hosts}
- DJANGO_SECRET_KEY_FILE=/run/secrets/django_secret_key_file
- DJANGO_LOG_LEVEL=${DJANGO_LOG_LEVEL:-WARNING}
- MEMCACHED_LOCATIONS=memcached:11211
- POSTGRES_USER=${POSTGRES_USER:?Must set postgres user name}
- POSTGRES_DB=${POSTGRES_DB:?Must set postgres database name}
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password_file
- POSTGRES_HOST=postgres
- UMAMI_HOST=${UMAMI_HOST}
- UMAMI_API_KEY=${UMAMI_API_KEY}
- UMAMI_API_BASE=${UMAMI_API_BASE}
- WAGTAILADMIN_BASE_URL=${WAGTAILADMIN_BASE_URL:?Must set admin base url}
volumes:
- media_files:/app/media/:rw
secrets:
- django_secret_key_file
- postgres_password_file
memcached:
image: memcached:1.6
restart: unless-stopped
configs:
nginx_ssl_cert_file:
file: ${NGINX_SSL_CERT_FILE:?Must set nginx ssl cert file}
secrets:
nginx_ssl_key_file:
file: ${NGINX_SSL_KEY_FILE:?Must set nginx ssl key file}
postgres_password_file:
file: ${POSTGRES_PASSWORD_FILE:?Must set postgres password file}
django_secret_key_file:
file: ${DJANGO_SECRET_KEY_FILE:?Must set django secret key file}
volumes:
media_files:
db_data: