Files
whale-town-end-v2/deploy/zulip/compose.yaml

112 lines
2.9 KiB
YAML

---
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.1-0
restart: unless-stopped
ports:
- target: 25
published: 25
app_protocol: smtp
- target: 80
published: 80
app_protocol: http
- 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:
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: