mirror of
https://github.com/zulip/docker-zulip.git
synced 2025-11-01 20:44:07 +00:00
95 lines
3.5 KiB
YAML
95 lines
3.5 KiB
YAML
version: '2'
|
|
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: 'REPLACE_WITH_SECURE_POSTGRES_PASSWORD'
|
|
volumes:
|
|
- '/opt/docker/zulip/postgresql/data:/var/lib/postgresql/data:rw'
|
|
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: 'REPLACE_WITH_SECURE_MEMCACHED_PASSWORD'
|
|
restart: always
|
|
rabbitmq:
|
|
image: 'rabbitmq:3.7.7'
|
|
restart: always
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: 'zulip'
|
|
RABBITMQ_DEFAULT_PASS: 'REPLACE_WITH_SECURE_RABBITMQ_PASSWORD'
|
|
volumes:
|
|
- '/opt/docker/zulip/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: 'REPLACE_WITH_SECURE_REDIS_PASSWORD'
|
|
volumes:
|
|
- '/opt/docker/zulip/redis:/data:rw'
|
|
zulip:
|
|
image: 'zulip/docker-zulip:4.3-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.3'
|
|
# Set this up if you plan to use your own CA certificate bundle for building
|
|
# CUSTOM_CA_CERTIFICATES:
|
|
ports:
|
|
- '80:80'
|
|
- '443: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: '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'
|
|
ZULIP_AUTH_BACKENDS: 'EmailAuthBackend'
|
|
# Uncomment this when configuring the mobile push notifications service
|
|
# SETTING_PUSH_NOTIFICATION_BOUNCER_URL: 'https://push.zulipchat.com'
|
|
volumes:
|
|
- '/opt/docker/zulip/zulip:/data:rw'
|
|
ulimits:
|
|
nofile:
|
|
soft: 1000000
|
|
hard: 1048576
|