
Deploy Zammad Help Desk
Zendesk/Freshdesk alternative with shared inbox, SLAs, automations, more.
Postgres
Just deployed
/var/lib/postgresql/data
Zammad Nginx
Just deployed
Memcached
Just deployed
Zammad Scheduler
Just deployed
Redis
Just deployed
/data
Zammad Rails
Just deployed
Zammad Websocket
Just deployed
Deploy and Host Zammad Help Desk on Railway
Zammad is an open-source help desk and customer-support platform: a self-hostable alternative to Zendesk and Freshdesk. It unifies email, web forms, and chat into one shared inbox, with ticketing, SLAs, triggers and automations, a knowledge base, reporting, and full-text search — so your whole team answers customers from one place.
About Hosting Zammad Help Desk
Zammad isn't a single container; it runs as several coordinated services: a Rails web app, a scheduler for background jobs and email polling, a websocket server for real-time updates, and an nginx reverse proxy, backed by PostgreSQL, Redis, and Memcached. Startup order matters (the database must be migrated and seeded before the app roles boot), attachments and settings are stored in PostgreSQL, and this Lite configuration uses Zammad's built-in database search (Elasticsearch is optional, instructions below on how to enable it). This template wires all of it together: private networking, health checks, a persistent Postgres volume, generated passwords, and the correct per-role start commands - so the deployment is a single click (and optionally configuring a custom URL).
Common Use Cases
- Customer support shared inbox: turn
support@email into tracked, assignable tickets with SLAs, triggers, and automations - Internal IT or HR help desk: a request-tracking system with a self-service knowledge base
- A self-hosted, data-private replacement for a paid SaaS help desk (Zendesk / Freshdesk) that you fully own and control
Dependencies for Zammad Help Desk Hosting
- PostgreSQL: the system of record (tickets, users, attachments, and settings)
- Redis and Memcached: background-job queue, websocket sessions, and caching
- An email account (IMAP/SMTP): connect your mailbox in-app to send and receive tickets (optional but typical)
Deployment Dependencies
- Zammad project site
- Zammad documentation
- Zammad source on GitHub (AGPL-3.0)
- Official Zammad Docker image & compose
Implementation Details
- Lite build: Elasticsearch is disabled (
ELASTICSEARCH_ENABLED=false) so Zammad uses built-in database search and boots on a modest plan. To add advanced search, deploy an Elasticsearch service and setELASTICSEARCH_ENABLED=trueplusELASTICSEARCH_HOST/ELASTICSEARCH_PORT. - Storage: attachments are kept in PostgreSQL (Zammad's default
storage_provider=DB), so no shared file volume is needed. For very large libraries, switch to S3 under Admin → Settings → System → Storage. - First run: open the deployed URL → complete the setup wizard → create your admin user, then set the Base URL to your Railway domain (Admin → Settings → System) so links and real-time updates work.
- License: Zammad is AGPL-3.0; you are self-hosting your own instance.
Why Deploy Zammad Help Desk on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Zammad Help Desk on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
Postgres
postgres:17.10-alpineZammad Nginx
ghcr.io/zammad/zammad:7.1.1-0020Memcached
memcached:1.6.44-alpineZammad Scheduler
ghcr.io/zammad/zammad:7.1.1-0020Redis
redis:8.8-alpineZammad Rails
ghcr.io/zammad/zammad:7.1.1-0020Zammad Websocket
ghcr.io/zammad/zammad:7.1.1-0020
