Zulip
Zulip is an open-source team chat app organized around topic-based threads, distributed as an official Docker image for teams who prefer containers over Zulip's native installer.
1Clone the docker-zulip repository
git clone https://github.com/zulip/docker-zulip.gitcd docker-zulipZulip's docs note that Docker moderately increases the effort to install/maintain versus their native installer, and that Docker rootless is not supported since Zulip needs root to set ulimits.
2Create your local override file
compose.override.yaml holds your deployment-specific configuration and is not tracked by git.
cp compose.override.yaml.example compose.override.yaml3Configure server settings and TLS
Set your domain and any SETTING_* environment variables (mapped to /etc/zulip/settings.py) in compose.override.yaml, following Zulip's separate 'Providing settings via environment' and 'Configuring TLS' guides.
4Pull images and initialize
docker compose pulldocker compose run --rm zulip app:initdocker compose up zulip --waitAt least 2GB RAM is recommended for running Zulip; 4GB if you build the image yourself.
5Create your first organization
Open the returned link in a browser to finish creating your organization and admin account.
docker compose exec -u zulip zulip /home/zulip/deployments/current/manage.py generate_realm_creation_linkThe link will not work if your domain resolves to localhost/127.0.0.1.