-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.prod.yml
70 lines (65 loc) · 1.63 KB
/
docker-compose.prod.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
services:
app:
build:
context: ./
dockerfile: .docker/Dockerfile-app
restart: always
env_file:
- .docker/env/app.env
volumes:
- app-logs:/var/www/html/storage/logs
depends_on:
- postgres
- redis
postgres:
image: postgres:16
restart: always
env_file:
- .docker/env/postgres.env
volumes:
- postgres:/var/lib/postgresql/data
redis:
image: redis:7
command: sh -c 'exec redis-server --save 60 1 --loglevel warning --requirepass "${REDIS_PASSWORD:?REDIS_PASSWORD not provided}"'
restart: always
env_file:
- .docker/env/redis.env
volumes:
- redis:/data
nginx:
build:
context: ./
dockerfile: .docker/Dockerfile-nginx
restart: always
env_file:
- .docker/env/nginx.env
ports:
- '80:80'
- '443:443'
volumes:
- .docker/nginx/snippets:/etc/nginx/snippets
- .docker/nginx/templates:/etc/nginx/templates
- .docker/nginx/generate-temp-cert.sh:/docker-entrypoint.d/98-generate-temp-cert.sh
- .docker/nginx/autoreload.sh:/docker-entrypoint.d/99-autoreload.sh
- certbot-conf:/etc/letsencrypt
- certbot-www:/var/www/certbot
depends_on:
- app
certbot:
image: certbot/certbot
restart: unless-stopped
env_file:
- .docker/env/certbot.env
volumes:
- certbot-conf:/etc/letsencrypt
- certbot-www:/var/www/certbot
- .docker/certbot-runner.sh:/usr/local/bin/certbot-runner
entrypoint: /bin/sh /usr/local/bin/certbot-runner
depends_on:
- nginx
volumes:
app-logs:
postgres:
redis:
certbot-conf:
certbot-www: