mirror of
https://github.com/zulip/docker-zulip.git
synced 2025-10-23 04:51:58 +00:00
131 lines
4.9 KiB
YAML
131 lines
4.9 KiB
YAML
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.0.7"
|
|
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.1-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.1"
|
|
## Set this up if you plan to use your own CA certificate bundle for building
|
|
# CUSTOM_CA_CERTIFICATES:
|
|
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 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
|
|
volumes:
|
|
zulip:
|
|
postgresql-14:
|
|
rabbitmq:
|
|
redis:
|