-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
139 lines (130 loc) · 4.08 KB
/
docker-compose.prod.yml
File metadata and controls
139 lines (130 loc) · 4.08 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
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
services:
ui:
image: $DOCKERHUB_NAMESPACE/my-solid-app-ui:stable
container_name: my-solid-app-ui
volumes:
- '/var/www/certbot:/var/www/certbot'
- '/etc/letsencrypt/:/etc/letsencrypt/'
- '/home/${MY_SOLID_APP_SERVER_USER}/nginx.prod.conf:/etc/nginx/conf.d/default.conf:ro'
ports:
- '80:80'
- '443:443'
networks:
- my-solid-app-network
depends_on:
- api
logging:
driver: 'json-file'
options:
max-size: '5m'
max-file: '10'
api:
image: $DOCKERHUB_NAMESPACE/my-solid-app-api:stable
container_name: my-solid-app-api
environment:
MY_SOLID_APP_FRONTEND_URL: https://my-solid-app.nl
MY_SOLID_APP_SECRET_KEY: $MY_SOLID_APP_SECRET_KEY
MY_SOLID_APP_FERNET_SECRET_KEY: $MY_SOLID_APP_FERNET_SECRET_KEY
MY_SOLID_APP_DB_NAME: $MY_SOLID_APP_DB_NAME
MY_SOLID_APP_DB_USER: $MY_SOLID_APP_DB_USER
MY_SOLID_APP_DB_PASSWORD: $MY_SOLID_APP_DB_PASSWORD
MY_SOLID_APP_DB_HOST: 'db'
MY_SOLID_APP_DB_PORT: '3306'
MY_SOLID_APP_REDIS_HOST: 'redis'
MY_SOLID_APP_MAIL_SERVER: $MY_SOLID_APP_MAIL_SERVER
MY_SOLID_APP_MAIL_PORT: $MY_SOLID_APP_MAIL_PORT
MY_SOLID_APP_MAIL_USE_SSL: 'True'
MY_SOLID_APP_MAIL_USERNAME: $MY_SOLID_APP_MAIL_USERNAME
MY_SOLID_APP_MAIL_PASSWORD: $MY_SOLID_APP_MAIL_PASSWORD
MY_SOLID_APP_MAIL_DEFAULT_SENDER: $MY_SOLID_APP_MAIL_DEFAULT_SENDER
MY_SOLID_APP_PASSWORD_RESET_TOKEN_EXPIRE_HOURS: 1
networks:
- my-solid-app-network
depends_on:
- db
logging:
driver: 'json-file'
options:
max-size: '5m'
max-file: '5'
tasks:
image: $DOCKERHUB_NAMESPACE/my-solid-app-tasks:stable
container_name: my-solid-app-tasks
environment:
MY_SOLID_APP_FRONTEND_URL: https://my-solid-app.nl
MY_SOLID_APP_SECRET_KEY: $MY_SOLID_APP_SECRET_KEY
MY_SOLID_APP_FERNET_SECRET_KEY: $MY_SOLID_APP_FERNET_SECRET_KEY
MY_SOLID_APP_DB_NAME: $MY_SOLID_APP_DB_NAME
MY_SOLID_APP_DB_USER: $MY_SOLID_APP_DB_USER
MY_SOLID_APP_DB_PASSWORD: $MY_SOLID_APP_DB_PASSWORD
MY_SOLID_APP_DB_HOST: 'db'
MY_SOLID_APP_DB_PORT: '3306'
MY_SOLID_APP_REDIS_HOST: 'redis'
MY_SOLID_APP_MAIL_SERVER: $MY_SOLID_APP_MAIL_SERVER
MY_SOLID_APP_MAIL_PORT: $MY_SOLID_APP_MAIL_PORT
MY_SOLID_APP_MAIL_USE_SSL: 'True'
MY_SOLID_APP_MAIL_USERNAME: $MY_SOLID_APP_MAIL_USERNAME
MY_SOLID_APP_MAIL_PASSWORD: $MY_SOLID_APP_MAIL_PASSWORD
MY_SOLID_APP_MAIL_DEFAULT_SENDER: $MY_SOLID_APP_MAIL_DEFAULT_SENDER
networks:
- my-solid-app-network
depends_on:
- redis
- db
logging:
driver: 'json-file'
options:
max-size: '5m'
max-file: '5'
db:
image: mariadb:latest
container_name: my-solid-app-mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
MYSQL_DATABASE: $MY_SOLID_APP_DB_NAME
MYSQL_USER: $MY_SOLID_APP_DB_USER
MYSQL_PASSWORD: $MY_SOLID_APP_DB_PASSWORD
volumes:
- db_data_prod:/var/lib/mysql
networks:
- my-solid-app-network
logging:
driver: 'json-file'
options:
max-size: '5m'
max-file: '5'
redis:
image: redis:latest
container_name: my-solid-app-redis
command: redis-server --appendonly yes
volumes:
- redis_data_prod:/data
networks:
- my-solid-app-network
logging:
driver: 'json-file'
options:
max-size: '5m'
max-file: '5'
certbot:
image: certbot/certbot:latest
container_name: my-solid-app-certbot
volumes:
- '/var/www/certbot:/var/www/certbot'
- '/var/lib/letsencrypt/:/var/lib/letsencrypt/'
- '/etc/letsencrypt/:/etc/letsencrypt/'
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot -v; sleep 12h & wait $${!}; done;'"
networks:
- my-solid-app-network
logging:
driver: 'json-file'
options:
max-size: '1m'
max-file: '3'
networks:
my-solid-app-network:
driver: bridge
volumes:
db_data_prod:
redis_data_prod: