Skip to content

Container configurations, images, and examples for Zulip.

License

Notifications You must be signed in to change notification settings

zulip/docker-zulip

Repository files navigation

Zulip Docker image overview

docker topic in production-help channel

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:11.5-2

Current Zulip version: 11.5 Current Docker image version: 11.5-2

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 upgrade steps, and documentation for the older packaging.

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.

Prerequisites

To use this image, you need the following:

  • An installation of Docker and Docker Compose, or a Kubernetes runtime engine.
  • We recommend at least 2GB of available RAM for running a production Zulip server; you'll want 4GB if you're building the container (rather than using the pre-built images). If you're just testing and/or aren't expecting a lot of users/messages, you can get away with significantly less especially for the postgres, memcached, etc. containers, because Docker makes it easy to sharply limit the RAM allocated to the services Zulip depends on, like Redis, memcached, and PostgreSQL (at the cost of potential performance issues).

This project doesn't 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).

Documentation

See Docker deployment documentation.