Docker
This is the official Docker container image for running a Zulip server in production. Built images are available from ghcr.io:
$ docker pull ghcr.io/zulip/zulip-server:12.0-0
- Current Zulip version:
12.0
- Current Docker image version:
12.0-0
- Current Helm chart version:
1.12.0
Note
A previous packaging of Zulip for Docker still exists on Docker Hub, as zulip/docker-zulip. That version will continue to be supported through the end of the Zulip Server 11.x series. See the details on how to upgrade to the new image.
This documentation is only for the new ghcr.io/zulip/zulip-server image.
Documentation for the previous image can be found here.
We recommend using the Docker image if your organization has a preference for deploying services using Docker. Deploying with Docker moderately increases the effort required to install, maintain, and upgrade a Zulip installation, compared with the standard Zulip installer.
Docker runtime support
We provide a Docker image, along with both docker compose
configuration and Helm charts. If you are new to Docker, we suggest
starting with docker compose; see our Docker Compose manual for background, and our Docker Compose getting started how-to. For Kubernetes
deployments, see our Helm getting started how-to.
We do not support docker-rootless or uDocker; Zulip needs root access to set
properties like the maximum number of open file descriptions via ulimit (which
is important for it to handle thousands of connected clients).
Scaling out and high availability
This image is not designed to make it easy to run multiple copies of the zulip
application server container (and you need to know a lot about Zulip to do this
sort of thing successfully). If you’re interested in running a high-availability
Zulip installation, your best bet is to get in touch with the Zulip team at
sales@zulip.com.
Community support
You can get community support and tell the developers about your experiences using this project on #production-help on the chat.zulip.org development community. Please be sure to mention that you are using the Docker install.
Credits
Huge thanks to everyone who has contributed. Special thanks to Alexander
Trost, who created docker-zulip and did a huge
amount of the early work required to make a high-quality Docker image for Zulip
possible.
Contents
- Zulip in Docker
- How to deploy Zulip with Docker Compose
- Compose: Getting started
- Compose: Providing settings via environment
- Compose: Configuring TLS
- Compose: Secrets management
- Compose: Providing settings using files
- Compose: Configuring authentication methods
- Compose: Incoming email
- Compose: Outgoing proxies
- Compose: Upgrading
- Compose: Upgrading from the legacy
zulip/docker-zulipimage - Compose: Running commands
- Compose: Using existing services
- Building custom Zulip images for Docker Compose
- How to deploy Zulip with Helm
- Reference