Deploy Zulip team chat
Deploy and Host with Railway
Application
Zulip
Just deployed
/data
Data
RabbitMQ
Just deployed
/var/lib/rabbitmq
PostgreSQL
Just deployed
/var/lib/postgresql/data
Redis
Just deployed
/data
Memcached
Just deployed
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.
Template Content
RabbitMQ
rabbitmqPostgreSQL
zulip/zulip-postgresqlRedis
redisMemcached
memcachedCERTIFICATES
Leave empty because Railway terminates public TLS before forwarding traffic to Zulip.
SETTING_EMAIL_HOST
Hostname of the transactional SMTP server.
SECRETS_email_password
Password or API token for the transactional SMTP account.
SETTING_EMAIL_HOST_USER
Username for the transactional SMTP account.
SETTING_ZULIP_ADMINISTRATOR
Email address for the Zulip administrator and operational notifications.
