-
-
Notifications
You must be signed in to change notification settings - Fork 310
Expand file tree
/
Copy pathcompose.yaml
More file actions
112 lines (112 loc) · 3.07 KB
/
compose.yaml
File metadata and controls
112 lines (112 loc) · 3.07 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
---
services:
database:
image: "zulip/zulip-postgresql:14"
restart: unless-stopped
secrets:
- zulip__postgres_password
environment:
POSTGRES_DB: "zulip"
POSTGRES_USER: "zulip"
POSTGRES_PASSWORD_FILE: /run/secrets/zulip__postgres_password
volumes:
- "postgresql-14:/var/lib/postgresql/data:rw"
attach: false
memcached:
image: "memcached:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
echo 'mech_list: plain' > "$$SASL_CONF_PATH"
echo "zulip@$$HOSTNAME:$$(cat $$MEMCACHED_PASSWORD_FILE)" > "$$MEMCACHED_SASL_PWDB"
echo "zulip@localhost:$$(cat $$MEMCACHED_PASSWORD_FILE)" >> "$$MEMCACHED_SASL_PWDB"
exec memcached -S
secrets:
- zulip__memcached_password
environment:
SASL_CONF_PATH: "/home/memcache/memcached.conf"
MEMCACHED_SASL_PWDB: "/home/memcache/memcached-sasl-db"
MEMCACHED_PASSWORD_FILE: /run/secrets/zulip__memcached_password
attach: false
rabbitmq:
image: "rabbitmq:4.2"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
export RABBITMQ_DEFAULT_PASS="$$(cat $$RABBITMQ_PASSWORD_FILE)"
echo 'default_user = $$(RABBITMQ_DEFAULT_USER)' >> /etc/rabbitmq/rabbitmq.conf
echo 'default_pass = $$(RABBITMQ_DEFAULT_PASS)' >> /etc/rabbitmq/rabbitmq.conf
exec docker-entrypoint.sh rabbitmq-server
secrets:
- zulip__rabbitmq_password
environment:
RABBITMQ_DEFAULT_USER: "zulip"
RABBITMQ_PASSWORD_FILE: /run/secrets/zulip__rabbitmq_password
volumes:
- "rabbitmq:/var/lib/rabbitmq:rw"
attach: false
redis:
image: "redis:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- '/usr/local/bin/docker-entrypoint.sh --requirepass "$$(cat $$REDIS_PASSWORD_FILE)"'
secrets:
- zulip__redis_password
environment:
REDIS_PASSWORD_FILE: /run/secrets/zulip__redis_password
volumes:
- "redis:/data:rw"
attach: false
zulip:
image: "ghcr.io/zulip/zulip-server:12.0-0"
restart: unless-stopped
build:
context: .
ports:
- name: smtp
target: 25
published: 25
app_protocol: smtp
- name: http
target: 80
published: 80
app_protocol: http
- name: https
target: 443
published: 443
app_protocol: https
secrets:
- zulip__postgres_password
- zulip__memcached_password
- zulip__rabbitmq_password
- zulip__redis_password
- zulip__secret_key
- zulip__email_password
environment:
# Default hostnames; configure your application in compose.override.yaml
SETTING_REMOTE_POSTGRES_HOST: "database"
SETTING_MEMCACHED_LOCATION: "memcached:11211"
SETTING_RABBITMQ_HOST: "rabbitmq"
SETTING_REDIS_HOST: "redis"
volumes:
- "zulip:/data:rw"
ulimits:
nofile:
soft: 1000000
hard: 1048576
depends_on:
- database
- memcached
- rabbitmq
- redis
volumes:
zulip:
postgresql-14:
rabbitmq:
redis: