-
Notifications
You must be signed in to change notification settings - Fork 10
/
docker-compose.production.yml
85 lines (78 loc) · 1.66 KB
/
docker-compose.production.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
version: "3.3"
volumes:
postgres:
driver: local
solr:
driver: local
redis:
driver: local
assets:
driver: local
file-storage:
driver: local
services:
postgres:
restart: always
image: postgres:15-alpine
env_file: .env_deployment
volumes:
- postgres:/var/lib/postgresql/data
solr:
restart: always
image: solr:8
environment:
- VIRTUAL_HOST=solr.era.uat.library.ualberta.ca
- HTTPS_METHOD=nohttps
ports:
- "8983"
volumes:
- solr:/opt/solr/server/solr/mycores
- ./solr/config:/config
entrypoint:
- docker-entrypoint.sh
- solr-precreate
- jupiter-uat
- /config
redis:
restart: always
image: redis:alpine
volumes:
- redis:/data
# Sidekiq
worker: &rails
restart: always
image: ualbertalib/jupiter:deployment
volumes:
- file-storage:/app/storage/
command: bundle exec sidekiq
env_file: .env_deployment
depends_on:
- postgres
- redis
- solr
# Rails
web:
<<: *rails
volumes:
- assets:/app/public/
- file-storage:/app/storage/
command: bundle exec puma -e uat
labels:
com.centurylinklabs.watchtower.lifecycle.post-update: "watchtower-post-update.sh"
nginx:
restart: always
image: nginx
depends_on:
- web
env_file: .env_deployment
environment:
- VIRTUAL_HOST=era.uat.library.ualberta.ca
- VIRTUAL_PROTO=https
- VIRTUAL_PORT=443
- HTTPS_METHOD=noredirect
volumes:
- ./config/nginx.conf:/etc/nginx/conf.d/default.conf
- ../UATcert:/etc/nginx/certs
- assets:/app/public/
ports:
- "443"