-
-
Notifications
You must be signed in to change notification settings - Fork 303
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
133 lines (131 loc) · 4.84 KB
/
docker-compose.yml
File metadata and controls
133 lines (131 loc) · 4.84 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
services:
database:
image: "zulip/zulip-postgresql:14"
restart: unless-stopped
environment:
POSTGRES_DB: "zulip"
POSTGRES_USER: "zulip"
## Note that you need to do a manual `ALTER ROLE` query if you
## change this on a system after booting the postgres container
## the first time on a host. Instructions are available in README.md.
POSTGRES_PASSWORD: "REPLACE_WITH_SECURE_POSTGRES_PASSWORD"
volumes:
- "postgresql-14:/var/lib/postgresql/data:rw"
memcached:
image: "memcached:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
echo 'mech_list: plain' > "$$SASL_CONF_PATH"
echo "zulip@$$HOSTNAME:$$MEMCACHED_PASSWORD" > "$$MEMCACHED_SASL_PWDB"
echo "zulip@localhost:$$MEMCACHED_PASSWORD" >> "$$MEMCACHED_SASL_PWDB"
exec memcached -S
environment:
SASL_CONF_PATH: "/home/memcache/memcached.conf"
MEMCACHED_SASL_PWDB: "/home/memcache/memcached-sasl-db"
MEMCACHED_PASSWORD: "REPLACE_WITH_SECURE_MEMCACHED_PASSWORD"
rabbitmq:
image: "rabbitmq:4.1"
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: "zulip"
RABBITMQ_DEFAULT_PASS: "REPLACE_WITH_SECURE_RABBITMQ_PASSWORD"
volumes:
- "rabbitmq:/var/lib/rabbitmq:rw"
redis:
image: "redis:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
echo "requirepass '$$REDIS_PASSWORD'" > /etc/redis.conf
exec redis-server /etc/redis.conf
environment:
REDIS_PASSWORD: "REPLACE_WITH_SECURE_REDIS_PASSWORD"
volumes:
- "redis:/data:rw"
zulip:
image: "zulip/docker-zulip:11.4-0"
restart: unless-stopped
build:
context: .
args:
## Change these if you want to build zulip from a different repo/branch
ZULIP_GIT_URL: https://github.com/zulip/zulip.git
ZULIP_GIT_REF: "11.4"
ports:
- "25:25"
- "80:80"
- "443:443"
environment:
## See https://github.com/zulip/docker-zulip#configuration for
## details on this section and how to discover the many
## additional settings that are supported here.
DB_HOST: "database"
DB_HOST_PORT: "5432"
DB_USER: "zulip"
SSL_CERTIFICATE_GENERATION: "self-signed"
SETTING_MEMCACHED_LOCATION: "memcached:11211"
SETTING_RABBITMQ_HOST: "rabbitmq"
SETTING_REDIS_HOST: "redis"
SECRETS_email_password: "123456789"
## These should match RABBITMQ_DEFAULT_PASS, POSTGRES_PASSWORD,
## MEMCACHED_PASSWORD, and REDIS_PASSWORD above.
SECRETS_rabbitmq_password: "REPLACE_WITH_SECURE_RABBITMQ_PASSWORD"
SECRETS_postgres_password: "REPLACE_WITH_SECURE_POSTGRES_PASSWORD"
SECRETS_memcached_password: "REPLACE_WITH_SECURE_MEMCACHED_PASSWORD"
SECRETS_redis_password: "REPLACE_WITH_SECURE_REDIS_PASSWORD"
SECRETS_secret_key: "REPLACE_WITH_SECURE_SECRET_KEY"
SETTING_EXTERNAL_HOST: "localhost.localdomain"
SETTING_ZULIP_ADMINISTRATOR: "admin@example.com"
SETTING_EMAIL_HOST: "" # e.g. smtp.example.com
SETTING_EMAIL_HOST_USER: "noreply@example.com"
SETTING_EMAIL_PORT: "587"
## It seems that the email server needs to use ssl or tls and can't be used without it
SETTING_EMAIL_USE_SSL: "False"
SETTING_EMAIL_USE_TLS: "True"
## Uncomment to enable the incoming email gateway. You will need to
## ensure that email to emaildomain.example.com is routed to this host
## (e.g. via MX record)
# SETTING_EMAIL_GATEWAY_PATTERN: "%s@emaildomain.example.com"
ZULIP_AUTH_BACKENDS: "EmailAuthBackend"
## Uncomment this when configuring the mobile push notifications service
# SETTING_ZULIP_SERVICE_PUSH_NOTIFICATIONS: "True"
# SETTING_ZULIP_SERVICE_SUBMIT_USAGE_STATISTICS: "True"
## If you're using a reverse proxy, you'll want to provide the
## comma-separated set of IP addresses (or CIDR ranges) to trust here.
# LOADBALANCER_IPS: ""
## By default, files uploaded by users and profile pictures are
## stored directly on the Zulip server. You can configure files
## to be stored in Amazon S3 or a compatible data store
## here. See docs at:
##
## https://zulip.readthedocs.io/en/latest/production/upload-backends.html
##
## If you want to use the S3 backend, you must set
## SETTING_LOCAL_UPLOADS_DIR to None as well as configuring the
## other fields.
# SETTING_LOCAL_UPLOADS_DIR: "None"
# SETTING_S3_AUTH_UPLOADS_BUCKET: ""
# SETTING_S3_AVATAR_BUCKET: ""
# SETTING_S3_ENDPOINT_URL: "None"
# SETTING_S3_REGION: "None"
volumes:
- "zulip:/data:rw"
ulimits:
nofile:
soft: 1000000
hard: 1048576
depends_on:
- database
- memcached
- rabbitmq
- redis
volumes:
zulip:
postgresql-14:
rabbitmq:
redis: