---
title: "Deploy Zulip team chat"
description: "Complete Zulip team chat with durable messaging, search, and uploads."
category: "Other"
url: https://railway.com/deploy/zulip-team-chat
---

# Deploy Zulip team chat

Complete Zulip team chat with durable messaging, search, and uploads.

**[Deploy Zulip team chat on Railway](https://railway.com/template/zulip-team-chat)**

- **Creator:** Anton Orel's Projects
- **Category:** Other
- **Total deploys:** 4

## Template content

### RabbitMQ

- **Image:** rabbitmq@sha256:83522278ca69414e4895b3ea3c0f943c63ad316c063f9cda9c32fd42fe800f47

### PostgreSQL

- **Image:** zulip/zulip-postgresql@sha256:e71ba8616fa42cdc1b248f51263d9290c29681cb8c1992eb9b498af0bb656b29

### Redis

- **Image:** redis@sha256:987c376c727652f99625c7d205a1cba3cb2c53b92b0b62aade2bd48ee1593232
- **Start command:** `/bin/sh -euc 'exec redis-server --requirepass "$REDIS_PASSWORD"'`

### Memcached

- **Image:** memcached@sha256:c8503d4491edd3110cc07d0465089d3a41cf1daf8645e71149e39a51835e92cd
- **Start command:** `/bin/sh -euc 'printf "mech_list: plain\n" > "$SASL_CONF_PATH"; printf "zulip@%s:%s\nzulip@localhost:%s\n" "$HOSTNAME" "$MEMCACHED_PASSWORD" "$MEMCACHED_PASSWORD" > "$MEMCACHED_SASL_PWDB"; exec memcached -S'`

### Zulip

- **Image:** ghcr.io/zulip/zulip-server@sha256:1e9235b345ac86ff97168055d5c7e35e314dd9aa96e343be28583ab2b61b1bb0
- **Public domain:** Yes

## Documentation

# Deploy and Host Zulip team chat on Railway

Run a private Zulip workspace with durable message history, threaded conversations, file uploads, background queues, and outbound email. Railway terminates TLS for the public Zulip service while PostgreSQL, RabbitMQ, Redis, and Memcached stay on private networking.

## About Hosting Zulip team chat

Zulip is an open-source team chat product organized around topics, which keeps long-running technical and operational conversations easier to follow than one continuous channel. This template deploys the official Zulip 12.1 container with its supported service dependencies and persistent storage paths.

The deployment is sized and documented for one application server serving a small team. It is not a high-availability topology, and the Zulip service should have access to at least 2 GB of memory.

## Why Deploy Zulip team chat on Railway

Railway gives the public web service managed TLS and a stable domain while keeping every datastore off the public Internet. Generated cross-service credentials, pinned image digests, persistent volumes, and container health checks reduce first-deploy configuration work without weakening Zulip's supported dependency model.

You provide an administrator email and transactional SMTP credentials before deployment. This matters because Zulip relies on email for account confirmation, invitations, notifications, and operational errors.

## Common Use Cases

- Run a topic-based engineering, research, or community workspace.
- Keep durable incident, project, and support conversations searchable.
- Host an internal chat service with private database and queue networking.
- Evaluate Zulip with a topology that can be backed up and upgraded deliberately.

## Dependencies for Zulip team chat

The template uses the official Zulip Server 12.1 image, Zulip's PostgreSQL 14 image, RabbitMQ 4.2, Redis 8.2, Memcached 1.6, four Railway volumes, and an external SMTP provider.

### Deployment Dependencies

- A Railway plan that permits at least 2 GB of memory for the Zulip service.
- A transactional SMTP hostname, username, password or token, and an administrator email address.
- A Railway-generated domain or your own custom domain.
- Enough persistent storage for message history, uploads, queue data, and backups.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/zulip-team-chat
