---
title: "Deploy libredesk"
description: "Open-source help desk for email, live chat and WhatsApp in one inbox"
category: "Other"
url: https://railway.com/deploy/libredesk-1
---

# Deploy libredesk

Open-source help desk for email, live chat and WhatsApp in one inbox

**[Deploy libredesk on Railway](https://railway.com/template/libredesk-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/libredesk-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Other

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18.6@sha256:4fc833b43d2aaf6ecc9b18615f5533602b723a32d0e2efe2dae8ca0f7217c863

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.11@sha256:b0b01167ff47bc3868e56a967895a26be4230891a1f42a78ab61cdd227accc8d
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### libredesk https://djeqr6to3dedg.cloudfront.net/repo-logos/libredesk/libredesk/live/logo-1785089542683.png

- **Image:** libredesk/libredesk:v2.9.2@sha256:1c5a234b113b6fa7b4170219a4e1063d8a9e4a396d4811b2ea03fdfcd02c63de
- **Start command:** `/bin/sh -c "echo c2V0IC1lCmNkIC9saWJyZWRlc2sKZXhwb3J0IExJQlJFREVTS19BUFBfX0VOVj1wcm9kCmV4cG9ydCBMSUJSRURFU0tfQVBQX19MT0dfTEVWRUw9IiR7TElCUkVERVNLX0FQUF9fTE9HX0xFVkVMOi1pbmZvfSIKZXhwb3J0IExJQlJFREVTS19BUFBfX0NIRUNLX1VQREFURVM9IiR7TElCUkVERVNLX0FQUF9fQ0hFQ0tfVVBEQVRFUzotdHJ1ZX0iCmV4cG9ydCBMSUJSRURFU0tfQVBQX19TRVJWRVJfX0FERFJFU1M9IjAuMC4wLjA6JHtQT1JUOi05MDAwfSIKZXhwb3J0IExJQlJFREVTS19EQl9fUE9SVD0iJHtMSUJSRURFU0tfREJfX1BPUlQ6LTU0MzJ9IgpleHBvcnQgTElCUkVERVNLX0RCX19TU0xfTU9ERT0iJHtMSUJSRURFU0tfREJfX1NTTF9NT0RFOi1kaXNhYmxlfSIKZXhwb3J0IExJQlJFREVTS19VUExPQURfX1BST1ZJREVSPSIke0xJQlJFREVTS19VUExPQURfX1BST1ZJREVSOi1mc30iCmV4cG9ydCBMSUJSRURFU0tfVVBMT0FEX19GU19fVVBMT0FEX1BBVEg9IiR7TElCUkVERVNLX1VQTE9BRF9fRlNfX1VQTE9BRF9QQVRIOi0vbGlicmVkZXNrL3VwbG9hZHN9IgpybSAtcmYgL2xpYnJlZGVzay91cGxvYWRzL2xvc3QrZm91bmQKLi9saWJyZWRlc2sgLS1pbnN0YWxsIC0taWRlbXBvdGVudC1pbnN0YWxsIC0teWVzCi4vbGlicmVkZXNrIC0tdXBncmFkZSAtLXllcwppZiBbIC1uICIkUkFJTFdBWV9QVUJMSUNfRE9NQUlOIiBdOyB0aGVuICgKICBVPSJodHRwOi8vMTI3LjAuMC4xOiR7UE9SVDotOTAwMH0iOyBSPSJodHRwczovLyRSQUlMV0FZX1BVQkxJQ19ET01BSU4iCiAgZm9yIGkgaW4gJChzZXEgMSA5MCk7IGRvIHdnZXQgLXEgLU8gL2Rldi9udWxsICIkVS9oZWFsdGgiIDI+L2Rldi9udWxsICYmIGJyZWFrOyBzbGVlcCAyOyBkb25lCiAgUD0kKHByaW50ZiAnJXMnICIkTElCUkVERVNLX1NZU1RFTV9VU0VSX1BBU1NXT1JEIiB8IHNlZCAncy9cXC9cXFxcL2c7IHMvIi9cXCIvZycpCiAgQz0kKHdnZXQgLVMgLXEgLU8gL2Rldi9udWxsIC0taGVhZGVyICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nIC0tcG9zdC1kYXRhICJ7XCJlbWFpbFwiOlwiU3lzdGVtXCIsXCJwYXNzd29yZFwiOlwiJFBcIn0iICIkVS9hcGkvdjEvYXV0aC9sb2dpbiIgMj4mMSB8IHNlZCAtbiAncy9eICpbU3NdZXQtW0NjXW9va2llOiAqXChbXjtdKlwpLiovXDEvcCcgfCBncmVwIC12ICdeY3NyZl90b2tlbj0nIHwgdHIgJ1xuJyAnOycpCiAgUz0kKHdnZXQgLXEgLU8gLSAtLWhlYWRlciAiQ29va2llOiAkQyIgIiRVL2FwaS92MS9zZXR0aW5ncy9nZW5lcmFsIiAyPi9kZXYvbnVsbCkgfHwgZXhpdCAwCiAgZWNobyAiJFMiIHwgZ3JlcCAtcSAnImFwcC5yb290X3VybCI6Imh0dHA6Ly9sb2NhbGhvc3Q6OTAwMCInIHx8IGV4aXQgMAogIEI9JChlY2hvICIkUyIgfCBzZWQgJ3MvXnsic3RhdHVzIjoic3VjY2VzcyIsImRhdGEiOlwoLipcKX0kL1wxLzsgc3wiYXBwLnJvb3RfdXJsIjoiW14iXSoifCJhcHAucm9vdF91cmwiOiInIiRSIicifCcpCiAgVD1yYWlsd2F5c2V0dXA7IEw9JChwcmludGYgJyVzJyAiJEIiIHwgd2MgLWMpCiAgcHJpbnRmICdQVVQgL2FwaS92MS9zZXR0aW5ncy9nZW5lcmFsIEhUVFAvMS4wXHJcbkhvc3Q6IDEyNy4wLjAuMVxyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuQ29va2llOiAlc2NzcmZfdG9rZW49JXNcclxuWC1DU1JGVE9LRU46ICVzXHJcbkNvbnRlbnQtTGVuZ3RoOiAlc1xyXG5cclxuJXMnICIkQyIgIiRUIiAiJFQiICIkTCIgIiRCIiB8IG5jIDEyNy4wLjAuMSAiJHtQT1JUOi05MDAwfSIgfCBoZWFkIC0xIHwgc2VkICJzfF58W3JhaWx3YXktdGVtcGxhdGVdIHNldCByb290IFVSTCB0byAkUjogfCIKKSAmIGZpCmV4ZWMgLi9saWJyZWRlc2sK | base64 -d > /tmp/railway-start.sh && exec /bin/sh /tmp/railway-start.sh"`
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# Deploy and Host Libredesk on Railway

Libredesk is an open-source, self-hosted customer support desk. It brings email, live chat and WhatsApp conversations into one shared inbox for your team, with teams, tags, macros, automations, SLA targets, CSAT ratings, a help center and an optional AI assistant. It ships as a single Go binary backed by Postgres and Redis.

## About Hosting Libredesk

Hosting Libredesk means running the Libredesk server next to a Postgres database and a Redis instance, keeping uploaded attachments on persistent storage, and serving it over HTTPS. This template deploys the official `libredesk/libredesk` v2.9.2 image pinned by digest, Railway's Postgres 18 and Redis 8.2, each with its own volume, all connected over Railway's private network. On first start the template installs the database schema, creates the `System` admin user with a generated password, and sets Libredesk's root URL to your Railway domain. Later starts run any pending schema upgrades. Email, WhatsApp and SSO are optional and are set up in the admin panel.

## Common Use Cases

* Run a shared support inbox for email and live chat on your own infrastructure
* Add a live chat widget and a searchable help center to your website
* Route, assign and track support conversations with teams, SLAs, automations and CSAT surveys

## Dependencies for Libredesk Hosting

* Postgres (Railway's Postgres 18 image, included)
* Redis (Redis 8.2, included)

### Deployment Dependencies

* Libredesk source and docs: https://github.com/abhinavxd/libredesk
* Release used by this template: https://github.com/abhinavxd/libredesk/releases/tag/v2.9.2
* Docker image: https://hub.docker.com/r/libredesk/libredesk
* Libredesk documentation: https://docs.libredesk.io

### Implementation Details

**First login:** open your Railway domain and sign in with the email `System` and the password in the `LIBREDESK_SYSTEM_USER_PASSWORD` variable of the libredesk service. Then create your agents and teams under Admin. Libredesk has no public sign-up; only admins can add agents.

**What the start command does:** it sets fixed settings (production mode, `info` logging, listen on `PORT`, uploads in `/libredesk/uploads` on the volume, database port and SSL mode), runs `./libredesk --install --idempotent-install --yes` and `./libredesk --upgrade --yes`, then starts the server. While the root URL is still the default `http://localhost:9000`, it signs in as `System` once and sets the root URL to `https://$RAILWAY_PUBLIC_DOMAIN`. If you change the root URL later in Admin &gt; General, the template leaves it alone. You can override any fixed setting by adding the matching `LIBREDESK_...` variable, for example `LIBREDESK_APP__LOG_LEVEL=debug`.

**Email:** to receive and send email, add an email inbox in Admin &gt; Inboxes with your own IMAP and SMTP details. To use a custom domain, add it in Railway and then update the root URL in Admin &gt; General.

**Keep these safe:** the `LIBREDESK_APP__ENCRYPTION_KEY` value encrypts stored secrets such as inbox passwords. Don't change it after the first deploy.

## Why Deploy Libredesk 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 Libredesk 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.



## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — 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/libredesk-1
