forked from ruby-china/homeland-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
116 lines (108 loc) · 3.22 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
version: "2"
services:
postgresql:
container_name: 'homeland_postgresql'
image: postgres:9.5-alpine
ports:
- '5432:5432'
volumes:
- ./data/postgresql:/var/lib/postgresql/data
redis:
container_name: 'homeland_redis'
image: redis:3.2.7-alpine
mem_limit: 300m
ports:
- '6379:6379'
volumes:
- ./data/redis:/data
memcached:
image: memcached:1.4.31-alpine
mem_limit: 350m
command: memcached -m 256
ports:
- '11211'
elasticsearch:
container_name: 'homeland_elasticsearch'
image: elasticsearch:5-alpine
environment:
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms256m -Xmx512m"
mem_limit: 1g
volumes:
- ./data/elasticsearch:/usr/share/elasticsearch/data
ports:
- '9200'
- '9300'
web:
container_name: 'homeland_web'
image: homeland/homeland:3.0.9.1
links:
- app
- app_backup
- worker
env_file:
- app.default.env
- app.local.env
- app.secret.env
command: nginx -c /etc/nginx/nginx.conf
volumes_from:
- app
ports:
- "80:80"
- "443:443"
app: &app_base
container_name: 'homeland_app'
image: homeland/homeland:3.0.9.1
env_file:
- app.default.env
- app.local.env
- app.secret.env
links:
- elasticsearch
- postgresql
- memcached
- redis
logging:
options:
max-size: "1g"
max-file: "10"
volumes:
- ./etc/ssl/homeland:/etc/ssl/homeland
- ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./etc/nginx/html:/etc/nginx/html
- ./etc/nginx/homeland.conf:/etc/nginx/conf.d/homeland.conf
- ./etc/nginx/conf.d/homeland:/etc/nginx/conf.d/homeland
- ./config/cable.yml:/var/www/homeland/config/cable.yml
- ./config/config.yml:/var/www/homeland/config/config.yml
- ./config/database.yml:/var/www/homeland/config/database.yml
- ./config/elasticsearch.yml:/var/www/homeland/config/elasticsearch.yml
- ./config/memcached.yml:/var/www/homeland/config/memcached.yml
- ./config/redis.yml:/var/www/homeland/config/redis.yml
- ./config/secrets.yml:/var/www/homeland/config/secrets.yml
- ./config/puma.rb:/var/www/homeland/config/puma.rb
- ./config/puma-backup.rb:/var/www/homeland/config/puma-backup.rb
- ./shared/ssl:/var/www/ssl
- ./shared/cache/assets:/var/www/homeland/public/assets
- ./shared/.well-known:/var/www/homeland/public/.well-known
- ./data/uploads:/var/www/homeland/public/uploads
- ./shared/cache/uploads-thumb:/var/www/cache/uploads-thumb
- ./shared/system:/var/www/homeland/public/system
- ./log:/var/www/log
- ./log:/var/www/homeland/log
- ./tmp:/var/www/homeland/tmp
- ./tmp/pids:/var/www/pids
- ./tmp/pids:/var/www/homeland/tmp/pids
command: bundle exec puma -C config/puma.rb
ports:
- "7000:7000"
app_backup:
<<: *app_base
container_name: 'homeland_app_backup'
command: bundle exec puma -C config/puma-backup.rb
ports:
- "7001:7001"
worker:
<<: *app_base
container_name: 'homeland_worker'
ports: []
command: bundle exec sidekiq -C config/sidekiq.yml -L /var/www/log/sidekiq.log