-
Notifications
You must be signed in to change notification settings - Fork 8
/
docker-compose-zulip.yml
100 lines (95 loc) · 3.28 KB
/
docker-compose-zulip.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
version: '2.3'
services:
database:
image: "zulip/zulip-postgresql:10"
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: $POSTGRES_PASSWORD
volumes:
- ./data/postgresql:/var/lib/postgresql/data:rw
ports:
- 5432:5432
memcached:
image: "memcached:alpine"
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: $MEMCACHED_PASSWORD
restart: always
rabbitmq:
image: "rabbitmq:3.7.7"
restart: always
environment:
RABBITMQ_DEFAULT_USER: "zulip"
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD
volumes:
- ./data/rabbitmq:/var/lib/rabbitmq:rw
redis:
image: "redis:alpine"
command:
- "sh"
- "-euc"
- |
echo "requirepass '$$REDIS_PASSWORD'" > /etc/redis.conf
exec redis-server /etc/redis.conf
environment:
REDIS_PASSWORD: $REDIS_PASSWORD
volumes:
- ./data/redis:/data:rw
zulip:
image: "zulip/docker-zulip:4.7-0"
# 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: "4.7"
# # Set this up if you plan to use your own CA certificate bundle for building
# # CUSTOM_CA_CERTIFICATES:
ports:
- 1443:443
environment:
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: $RABBITMQ_PASSWORD
SECRETS_postgres_password: $POSTGRES_PASSWORD
SECRETS_memcached_password: $MEMCACHED_PASSWORD
SECRETS_redis_password: $REDIS_PASSWORD
SECRETS_secret_key: $ZULIP_SECRET_KEY
SETTING_EXTERNAL_HOST: "localhost:1443"
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"
ZULIP_AUTH_BACKENDS: "EmailAuthBackend"
# Uncomment this when configuring the mobile push notifications service
# SETTING_PUSH_NOTIFICATION_BOUNCER_URL: 'https://push.zulipchat.com'
volumes:
- ./data/zulip:/data:rw
ulimits:
nofile:
soft: 1000000
hard: 1048576