Merge pull request #934 from rohitmulani63-ops/codex/add-zulip-template

feat: add Zulip template
This commit is contained in:
Mauricio Siu
2026-07-08 10:24:01 -06:00
committed by GitHub
4 changed files with 158 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
version: "3.8"
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:
- zulipPostgresData:/var/lib/postgresql/data
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
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:
- zulipRabbitmqData:/var/lib/rabbitmq
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:
- zulipRedisData:/data
zulip:
image: ghcr.io/zulip/zulip-server:12.1-0
restart: unless-stopped
depends_on:
- database
- memcached
- rabbitmq
- redis
secrets:
- zulip__postgres_password
- zulip__memcached_password
- zulip__rabbitmq_password
- zulip__redis_password
- zulip__secret_key
environment:
SETTING_EXTERNAL_HOST: ${ZULIP_EXTERNAL_HOST}
SETTING_ZULIP_ADMINISTRATOR: ${ZULIP_ADMINISTRATOR}
SETTING_REMOTE_POSTGRES_HOST: database
SETTING_MEMCACHED_LOCATION: memcached:11211
SETTING_RABBITMQ_HOST: rabbitmq
SETTING_REDIS_HOST: redis
CONFIG_application_server__http_only: "true"
LOADBALANCER_IPS: ${ZULIP_LOADBALANCER_IPS}
volumes:
- zulipData:/data
ulimits:
nofile:
soft: 1000000
hard: 1048576
volumes:
zulipData:
zulipPostgresData:
zulipRabbitmqData:
zulipRedisData:
secrets:
zulip__postgres_password:
environment: ZULIP_POSTGRES_PASSWORD
zulip__memcached_password:
environment: ZULIP_MEMCACHED_PASSWORD
zulip__rabbitmq_password:
environment: ZULIP_RABBITMQ_PASSWORD
zulip__redis_password:
environment: ZULIP_REDIS_PASSWORD
zulip__secret_key:
environment: ZULIP_SECRET_KEY

View File

@@ -0,0 +1,18 @@
{
"id": "zulip",
"name": "Zulip",
"version": "12.1-0",
"description": "Open-source threaded team chat designed to keep team communication organized and productive.",
"logo": "zulip.svg",
"links": {
"github": "https://github.com/zulip/docker-zulip",
"website": "https://zulip.com/",
"docs": "https://zulip.readthedocs.io/projects/docker/"
},
"tags": [
"chat",
"collaboration",
"team",
"self-hosted"
]
}

View File

@@ -0,0 +1,21 @@
[variables]
main_domain = "${domain}"
admin_email = "${email}"
[config]
env = [
"ZULIP_EXTERNAL_HOST=${main_domain}",
"ZULIP_ADMINISTRATOR=${admin_email}",
"ZULIP_POSTGRES_PASSWORD=${password:32}",
"ZULIP_MEMCACHED_PASSWORD=${password:32}",
"ZULIP_RABBITMQ_PASSWORD=${password:32}",
"ZULIP_REDIS_PASSWORD=${password:32}",
"ZULIP_SECRET_KEY=${password:64}",
"ZULIP_LOADBALANCER_IPS=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16",
]
mounts = []
[[config.domains]]
serviceName = "zulip"
port = 80
host = "${main_domain}"

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" role="img" aria-labelledby="title desc">
<title id="title">Zulip</title>
<desc id="desc">Zulip template logo</desc>
<rect width="256" height="256" rx="56" fill="#5f43d6"/>
<path d="M70 72h116c7 0 11 8 7 14L112 184h75c9 0 14 10 8 17l-8 10H72c-7 0-11-8-7-14l81-98H72c-9 0-14-10-8-17l6-10z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 378 B