---
title: "Deploy LobeHub"
description: "Self-hosted AI chat and agent workspace for any model, with file uploads"
category: "AI/ML"
url: https://railway.com/deploy/lobehub-3
---

# Deploy LobeHub

Self-hosted AI chat and agent workspace for any model, with file uploads

**[Deploy LobeHub on Railway](https://railway.com/template/lobehub-3)**

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

- **Creator:** Agaz Self-Host
- **Category:** AI/ML

## Template content

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

- **Image:** redis:8.2.6@sha256:3055dc25265b0c19ec90a1756dad4e0faff6f79e2557a6ac3d1274e39ee906f6
- **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"`

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

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

### LobeHub https://raw.githubusercontent.com/lobehub/lobe-icons/refs/heads/master/packages/static-png/dark/lobehub-color.png

- **Image:** lobehub/lobehub:2.3.2@sha256:0161f88a26a1c0c8e553ea6305e6269c912b7169efaa87b1142c8092cc7612cf
- **Start command:** `/bin/sh -c 'echo Ly8gTG9iZUh1YiBvbiBSYWlsd2F5OiBzdGFydCB3cmFwcGVyIChhYWxmYXRoL2xvYmVodWItcmFpbHdheS10ZW1wbGF0ZSkuCi8vIEZpbGxzIGluIGZpeGVkIGRlZmF1bHRzLCBrZWVwcyBvbmUgcGVyc2lzdGVudCBKV0tTX0tFWSBpbiBQb3N0Z3JlcywKLy8gc2V0cyB0aGUgYnVja2V0IENPUlMgcnVsZSBmb3IgYnJvd3NlciB1cGxvYWRzLCB0aGVuIHJ1bnMgdXBzdHJlYW0ncyBzdGFydFNlcnZlci5qcy4KJ3VzZSBzdHJpY3QnOwpjb25zdCBjcnlwdG8gPSByZXF1aXJlKCdub2RlOmNyeXB0bycpOwpjb25zdCBlbnYgPSBwcm9jZXNzLmVudjsKY29uc3QgZGVmID0gKGssIHYpID0+IHsgaWYgKGVudltrXSA9PT0gdW5kZWZpbmVkIHx8IGVudltrXSA9PT0gJycpIGVudltrXSA9IHY7IH07CgpkZWYoJ0ZUU19TRUFSQ0hfUFJPVklERVInLCAncGdfbGlrZScpOwpkZWYoJ1MzX1NFVF9BQ0wnLCAnMCcpOwpkZWYoJ0xMTV9WSVNJT05fSU1BR0VfVVNFX0JBU0U2NCcsICcxJyk7CmRlZignUkVESVNfUFJFRklYJywgJ2xvYmVjaGF0Jyk7CmRlZignUkVESVNfVExTJywgJzAnKTsKaWYgKCFlbnYuQVBQX1VSTCAmJiBlbnYuUkFJTFdBWV9QVUJMSUNfRE9NQUlOKSBlbnYuQVBQX1VSTCA9ICdodHRwczovLycgKyBlbnYuUkFJTFdBWV9QVUJMSUNfRE9NQUlOOwpkZWYoJ0lOVEVSTkFMX0FQUF9VUkwnLCAnaHR0cDovLzEyNy4wLjAuMTonICsgKGVudi5QT1JUIHx8ICczMjEwJykpOwppZiAoZW52LlMzX0VORFBPSU5UICYmIC9zdG9yYWdlYXBpXC5kZXZ8dGlncmlzL2kudGVzdChlbnYuUzNfRU5EUE9JTlQpKSBkZWYoJ1MzX0VOQUJMRV9QQVRIX1NUWUxFJywgJzAnKTsKCmNvbnN0IHNsZWVwID0gKG1zKSA9PiBuZXcgUHJvbWlzZSgocikgPT4gc2V0VGltZW91dChyLCBtcykpOwoKYXN5bmMgZnVuY3Rpb24gZW5zdXJlSndrcygpIHsKICBpZiAoZW52LkpXS1NfS0VZKSByZXR1cm47CiAgaWYgKCFlbnYuREFUQUJBU0VfVVJMKSB7IGNvbnNvbGUud2FybignW3JhaWx3YXldIERBVEFCQVNFX1VSTCBub3Qgc2V0OyBza2lwcGluZyBKV0tTX0tFWScpOyByZXR1cm47IH0KICBjb25zdCB7IENsaWVudCB9ID0gcmVxdWlyZSgnL2FwcC9ub2RlX21vZHVsZXMvcGcnKTsKICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMDsgaSsrKSB7CiAgICBjb25zdCBjID0gbmV3IENsaWVudCh7IGNvbm5lY3Rpb25TdHJpbmc6IGVudi5EQVRBQkFTRV9VUkwgfSk7CiAgICB0cnkgewogICAgICBhd2FpdCBjLmNvbm5lY3QoKTsKICAgICAgYXdhaXQgYy5xdWVyeSgnQ1JFQVRFIFNDSEVNQSBJRiBOT1QgRVhJU1RTIHJhaWx3YXlfdGVtcGxhdGUnKTsKICAgICAgYXdhaXQgYy5xdWVyeSgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgcmFpbHdheV90ZW1wbGF0ZS5zZXR0aW5ncyAoa2V5IHRleHQgUFJJTUFSWSBLRVksIHZhbHVlIHRleHQgTk9UIE5VTEwpJyk7CiAgICAgIGNvbnN0IHsgcHJpdmF0ZUtleSB9ID0gY3J5cHRvLmdlbmVyYXRlS2V5UGFpclN5bmMoJ3JzYScsIHsgbW9kdWx1c0xlbmd0aDogMjA0OCB9KTsKICAgICAgY29uc3QgandrID0gcHJpdmF0ZUtleS5leHBvcnQoeyBmb3JtYXQ6ICdqd2snIH0pOwogICAgICBPYmplY3QuYXNzaWduKGp3aywgeyB1c2U6ICdzaWcnLCBhbGc6ICdSUzI1NicsIGtpZDogY3J5cHRvLnJhbmRvbUJ5dGVzKDgpLnRvU3RyaW5nKCdoZXgnKSB9KTsKICAgICAgYXdhaXQgYy5xdWVyeSgnSU5TRVJUIElOVE8gcmFpbHdheV90ZW1wbGF0ZS5zZXR0aW5ncyAoa2V5LCB2YWx1ZSkgVkFMVUVTICgkMSwgJDIpIE9OIENPTkZMSUNUIChrZXkpIERPIE5PVEhJTkcnLAogICAgICAgIFsnSldLU19LRVknLCBKU09OLnN0cmluZ2lmeSh7IGtleXM6IFtqd2tdIH0pXSk7CiAgICAgIGNvbnN0IHIgPSBhd2FpdCBjLnF1ZXJ5KCdTRUxFQ1QgdmFsdWUgRlJPTSByYWlsd2F5X3RlbXBsYXRlLnNldHRpbmdzIFdIRVJFIGtleSA9ICQxJywgWydKV0tTX0tFWSddKTsKICAgICAgZW52LkpXS1NfS0VZID0gci5yb3dzWzBdLnZhbHVlOwogICAgICBjb25zb2xlLmxvZygnW3JhaWx3YXldIEpXS1NfS0VZIGxvYWRlZCBmcm9tIFBvc3RncmVzIChraWQgJyArIEpTT04ucGFyc2UoZW52LkpXS1NfS0VZKS5rZXlzWzBdLmtpZCArICcpJyk7CiAgICAgIHJldHVybjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgY29uc29sZS53YXJuKCdbcmFpbHdheV0gd2FpdGluZyBmb3IgUG9zdGdyZXMgKCcgKyBpICsgJy8zMCk6ICcgKyBlLm1lc3NhZ2UpOwogICAgICBhd2FpdCBzbGVlcCgzMDAwKTsKICAgIH0gZmluYWxseSB7IHRyeSB7IGF3YWl0IGMuZW5kKCk7IH0gY2F0Y2gge30gfQogIH0KICB0aHJvdyBuZXcgRXJyb3IoJ1tyYWlsd2F5XSBjb3VsZCBub3QgcmVhY2ggUG9zdGdyZXMgdG8gbG9hZCBKV0tTX0tFWScpOwp9Cgphc3luYyBmdW5jdGlvbiBlbnN1cmVCdWNrZXRDb3JzKCkgewogIGlmIChlbnYuUkFJTFdBWV9TS0lQX0JVQ0tFVF9DT1JTID09PSAnMScpIHJldHVybjsKICBpZiAoIWVudi5TM19FTkRQT0lOVCB8fCAhZW52LlMzX0JVQ0tFVCB8fCAhZW52LlMzX0FDQ0VTU19LRVlfSUQgfHwgIWVudi5TM19TRUNSRVRfQUNDRVNTX0tFWSkgcmV0dXJuOwogIHRyeSB7CiAgICBjb25zdCB7IFMzQ2xpZW50LCBQdXRCdWNrZXRDb3JzQ29tbWFuZCB9ID0gcmVxdWlyZSgnL2FwcC9ub2RlX21vZHVsZXMvQGF3cy1zZGsvY2xpZW50LXMzJyk7CiAgICBjb25zdCBzMyA9IG5ldyBTM0NsaWVudCh7CiAgICAgIGVuZHBvaW50OiBlbnYuUzNfRU5EUE9JTlQsIHJlZ2lvbjogZW52LlMzX1JFR0lPTiB8fCAnYXV0bycsIGZvcmNlUGF0aFN0eWxlOiBlbnYuUzNfRU5BQkxFX1BBVEhfU1RZTEUgPT09ICcxJywKICAgICAgY3JlZGVudGlhbHM6IHsgYWNjZXNzS2V5SWQ6IGVudi5TM19BQ0NFU1NfS0VZX0lELCBzZWNyZXRBY2Nlc3NLZXk6IGVudi5TM19TRUNSRVRfQUNDRVNTX0tFWSB9LAogICAgfSk7CiAgICBjb25zdCBvcmlnaW5zID0gW2Vudi5BUFBfVVJMXS5maWx0ZXIoQm9vbGVhbik7CiAgICBhd2FpdCBzMy5zZW5kKG5ldyBQdXRCdWNrZXRDb3JzQ29tbWFuZCh7IEJ1Y2tldDogZW52LlMzX0JVQ0tFVCwgQ09SU0NvbmZpZ3VyYXRpb246IHsgQ09SU1J1bGVzOiBbewogICAgICBBbGxvd2VkT3JpZ2luczogb3JpZ2lucy5sZW5ndGggPyBvcmlnaW5zIDogWycqJ10sIEFsbG93ZWRNZXRob2RzOiBbJ0dFVCcsICdQVVQnLCAnUE9TVCcsICdIRUFEJ10sCiAgICAgIEFsbG93ZWRIZWFkZXJzOiBbJyonXSwgRXhwb3NlSGVhZGVyczogWydFVGFnJ10sIE1heEFnZVNlY29uZHM6IDM2MDAgfV0gfSB9KSk7CiAgICBjb25zb2xlLmxvZygnW3JhaWx3YXldIGJ1Y2tldCBDT1JTIHNldCBmb3IgJyArIChvcmlnaW5zWzBdIHx8ICcqJykpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGNvbnNvbGUud2FybignW3JhaWx3YXldIGNvdWxkIG5vdCBzZXQgYnVja2V0IENPUlMgKHVwbG9hZHMgZnJvbSB0aGUgYnJvd3NlciBtYXkgZmFpbCk6ICcgKyBlLm1lc3NhZ2UpOwogIH0KfQoKKGFzeW5jICgpID0+IHsKICBhd2FpdCBlbnN1cmVKd2tzKCk7CiAgYXdhaXQgZW5zdXJlQnVja2V0Q29ycygpOwogIHJlcXVpcmUoJy9hcHAvc3RhcnRTZXJ2ZXIuanMnKTsKfSkoKS5jYXRjaCgoZSkgPT4geyBjb25zb2xlLmVycm9yKGUpOyBwcm9jZXNzLmV4aXQoMSk7IH0pOwo= | base64 -d > /tmp/railway-start.cjs && exec /bin/node /tmp/railway-start.cjs'`
- **Health check:** /api/version
- **Public domain:** Yes

## Buckets

- **lobehub-files**

## Documentation

# Deploy and Host LobeHub on Railway

LobeHub (formerly Lobe Chat) is an open-source AI chat and agent workspace. It works with OpenAI, Anthropic, Google, DeepSeek, Ollama and dozens of other model providers. It supports file uploads, knowledge bases, plugins, image generation and multiple users, all through a polished web interface you host yourself.

## About Hosting LobeHub

This template runs the server database edition of LobeHub 2.3.2 from the official Docker image, pinned by digest. It includes Postgres with pgvector for users, chats and embeddings, Redis for sessions and caching, and a Railway Bucket for uploaded files. The encryption key and auth secret are generated for you, and a signing key for internal tokens is created on first boot and kept in Postgres. The only thing you enter is the email address (or domain) allowed to sign up, so strangers can't register on your instance. Model API keys are optional: each user can add their own in Settings.

## Common Use Cases

* A private ChatGPT-style workspace for you or your team, using your own API keys
* Chatting with uploaded documents and building knowledge bases
* Comparing and switching between many model providers, including local models through Ollama

## Dependencies for LobeHub Hosting

* Postgres with the pgvector extension (Railway Postgres)
* Redis
* S3-compatible object storage (Railway Bucket)

### Deployment Dependencies

* [LobeHub on GitHub](https://github.com/lobehub/lobehub)
* [LobeHub v2.3.2 release](https://github.com/lobehub/lobehub/releases/tag/v2.3.2)
* [Self-hosting docs](https://lobehub.com/docs/self-hosting/server-database)
* [Authentication settings](https://lobehub.com/docs/self-hosting/auth)
* [Start script for this template](https://github.com/aalfath/lobehub-railway-template)

### Implementation Details

After deploying, open the Railway domain and sign up with the email you set in `AUTH_ALLOWED_EMAILS`, then add a model provider key under Settings → Provider. To allow more people, add their emails or a whole domain (comma-separated, for example `you@example.com,example.org`). To give every user a shared key instead, set a provider variable such as `OPENAI_API_KEY` on the LobeHub service. Full-text search uses plain Postgres matching (`FTS_SEARCH_PROVIDER=pg_like`), because Railway Postgres doesn't ship ParadeDB's `pg_search`. The bucket's CORS rule for browser uploads is set automatically at startup.

## Why Deploy LobeHub 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 LobeHub 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

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/lobehub-3
