---
title: "Deploy FastGPT Knowledge Base + Workflows"
description: "FastGPT knowledge base and AI workflows, factory root password replaced"
category: "AI/ML"
url: https://railway.com/deploy/fastgpt-knowledge-base-workflows
---

# Deploy FastGPT Knowledge Base + Workflows

FastGPT knowledge base and AI workflows, factory root password replaced

**[Deploy FastGPT Knowledge Base + Workflows on Railway](https://railway.com/template/fastgpt-knowledge-base-workflows)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/fastgpt-knowledge-base-workflows/manifest.json

- **Creator:** Protemplate
- **Category:** AI/ML
- **Total deploys:** 2

## Template content

### Code Sandbox https://avatars.githubusercontent.com/u/102226726?v=4

- **Image:** ghcr.io/labring/fastgpt-code-sandbox:v5.0.0
- **Health check:** /health

### RustFS https://avatars.githubusercontent.com/u/151849438?v=4

- **Image:** rustfs/rustfs:1.0.4
- **Health check:** /health
- **Public domain:** Yes

### FastGPT Plugin https://avatars.githubusercontent.com/u/102226726?v=4

- **Image:** ghcr.io/labring/fastgpt-plugin:v1.2.0
- **Health check:** /health

### FastGPT https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/public/icon/logo.svg

- **Image:** ghcr.io/labring/fastgpt:v4.17.4
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgRmFzdEdQVCBzdGFydCBjb21tYW5kIChlbWJlZGRlZCBiYXNlNjQgaW4gc2VyaWFsaXplZC1jb25maWcuanNvbjsgcmVnZW5lcmF0ZSB3aXRoIHNjcmlwdHMvZW5jb2RlLnNoKS4KIyBGYXN0R1BUID49IDQuMTcuMyBjcmVhdGVzIHRoZSByb290IGFjY291bnQgd2l0aCB0aGUgZml4ZWQgcGFzc3dvcmQgMTIzNDU2IChERUZBVUxUX1JPT1RfUFNXIHdhcyByZW1vdmVkKS4KIyBCb290IG9uY2Ugb24gbG9vcGJhY2sgb25seSwgc3dhcCB0aGF0IHBhc3N3b3JkIGZvciAkUk9PVF9QQVNTV09SRCwgc3RvcCwgdGhlbiBzdGFydCBmb3IgcmVhbC4KIyBUaGUgcHVibGljIGRvbWFpbiBhbmQgdGhlIFJhaWx3YXkgaGVhbHRoY2hlY2sgY2FuIG9ubHkgcmVhY2ggdGhlIHNlY29uZCBwcm9jZXNzLCBzbyBhIHJvb3QKIyBhY2NvdW50IHdpdGggdGhlIGZhY3RvcnkgcGFzc3dvcmQgaXMgbmV2ZXIgcmVhY2hhYmxlIGZyb20gb3V0c2lkZS4gRmFpbHMgY2xvc2VkLgpzZXQgLXUKQVBQPS4vcHJvamVjdHMvYXBwL3NlcnZlci5qcwpIRUFQPS0tbWF4LW9sZC1zcGFjZS1zaXplPTQwOTYKIyBzaGEyNTYoIjEyMzQ1NiIpOiB0aGUgd2ViIGNsaWVudCBzZW5kcyBzaGEyNTYocGFzc3dvcmQpIHRvIGxvZ2luQnlQYXNzd29yZC4KREVGQVVMVF9IQVNIPThkOTY5ZWVmNmVjYWQzYzI5YTNhNjI5MjgwZTY4NmNmMGMzZjVkNWE4NmFmZjNjYTEyMDIwYzkyM2FkYzZjOTIKClsgLW4gIiR7Uk9PVF9QQVNTV09SRDotfSIgXSB8fCB7IGVjaG8gIltib290c3RyYXBdIFJPT1RfUEFTU1dPUkQgaXMgZW1wdHk7IHJlZnVzaW5nIHRvIHN0YXJ0IHdpdGggdGhlIGZhY3Rvcnkgcm9vdCBwYXNzd29yZCI7IGV4aXQgMTsgfQoKc3RvcF9ib290c3RyYXAoKSB7CiAga2lsbCAiJFAiIDI+L2Rldi9udWxsCiAgbj0wCiAgd2hpbGUga2lsbCAtMCAiJFAiIDI+L2Rldi9udWxsICYmIFsgIiRuIiAtbHQgMzAgXTsgZG8gc2xlZXAgMTsgbj0kKChuKzEpKTsgZG9uZQogIGtpbGwgLTkgIiRQIiAyPi9kZXYvbnVsbAogIHdhaXQgIiRQIiAyPi9kZXYvbnVsbAp9CgpMT0c9L3RtcC9mYXN0Z3B0LWJvb3RzdHJhcC5sb2cKSE9TVE5BTUU9MTI3LjAuMC4xIFBPUlQ9Mzk5OSBub2RlICRIRUFQICIkQVBQIiA+IiRMT0ciIDI+JjEgJgpQPSQhCmk9MAp1bnRpbCBncmVwIC1xICdTeXN0ZW0gaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5JyAiJExPRyI7IGRvCiAgaWYgISBraWxsIC0wICIkUCIgMj4vZGV2L251bGw7IHRoZW4gY2F0ICIkTE9HIjsgZWNobyAiW2Jvb3RzdHJhcF0gRmFzdEdQVCBleGl0ZWQgZHVyaW5nIHRoZSBsb29wYmFjayBpbml0IjsgZXhpdCAxOyBmaQogIGk9JCgoaSsxKSkKICBpZiBbICIkaSIgLWd0IDQ1MCBdOyB0aGVuIGNhdCAiJExPRyI7IGVjaG8gIltib290c3RyYXBdIGxvb3BiYWNrIGluaXQgZGlkIG5vdCBmaW5pc2ggaW4gMTUgbWludXRlcyI7IHN0b3BfYm9vdHN0cmFwOyBleGl0IDE7IGZpCiAgc2xlZXAgMgpkb25lCgpCPWh0dHA6Ly8xMjcuMC4wLjE6Mzk5OS9hcGkvc3VwcG9ydC91c2VyL2FjY291bnQKQz0kKGN1cmwgLXMgLS1tYXgtdGltZSAzMCAiJEIvcHJlTG9naW4/dXNlcm5hbWU9cm9vdCIgfCBzZWQgLW4gJ3MvLioiY29kZSI6IlwoW14iXSpcKSIuKi9cMS9wJykKaWYgWyAteiAiJEMiIF07IHRoZW4gY2F0ICIkTE9HIjsgZWNobyAiW2Jvb3RzdHJhcF0gcHJlTG9naW4gcmV0dXJuZWQgbm8gY29kZSI7IHN0b3BfYm9vdHN0cmFwOyBleGl0IDE7IGZpCmlmIGN1cmwgLXMgLS1tYXgtdGltZSAzMCAtWCBQT1NUIC1IICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nIFwKICAgICAtZCAie1widXNlcm5hbWVcIjpcInJvb3RcIixcInBhc3N3b3JkXCI6XCIkREVGQVVMVF9IQVNIXCIsXCJjb2RlXCI6XCIkQ1wifSIgXAogICAgICIkQi9sb2dpbkJ5UGFzc3dvcmQiIHwgZ3JlcCAtcSAnImNvZGUiOjIwMCc7IHRoZW4KICBpZiAhIG5vZGUgL2FwcC9zY3JpcHRzL3Jlc2V0LXJvb3QtcGFzc3dvcmQuY2pzICIkUk9PVF9QQVNTV09SRCI7IHRoZW4KICAgIHN0b3BfYm9vdHN0cmFwOyBlY2hvICJbYm9vdHN0cmFwXSByb290IHBhc3N3b3JkIHJlc2V0IGZhaWxlZCI7IGV4aXQgMQogIGZpCiAgZWNobyAiW2Jvb3RzdHJhcF0gcm9vdCBzdGlsbCBoYWQgdGhlIGZhY3RvcnkgcGFzc3dvcmQ7IHJlcGxhY2VkIGl0IHdpdGggUk9PVF9QQVNTV09SRCIKZWxzZQogIGVjaG8gIltib290c3RyYXBdIHJvb3QgYWxyZWFkeSBoYXMgaXRzIG93biBwYXNzd29yZDsgbGVmdCB1bmNoYW5nZWQiCmZpCnN0b3BfYm9vdHN0cmFwCnRhaWwgLW4gNDAgIiRMT0ciCmVjaG8gIltib290c3RyYXBdIHN0YXJ0aW5nIEZhc3RHUFQgb24gJHtIT1NUTkFNRTotMC4wLjAuMH06JHtQT1JUOi0zMDAwfSIKZXhlYyBub2RlICRIRUFQICIkQVBQIgo= | base64 -d > /tmp/fastgpt-boot.sh && exec sh /tmp/fastgpt-boot.sh'`
- **Health check:** /api/common/system/getInitData
- **Public domain:** Yes

### Redis https://avatars.githubusercontent.com/u/1529926?v=4

- **Image:** redis:7.4.6-alpine
- **Start command:** `sh -c 'exec docker-entrypoint.sh redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes --save 60 10 --maxmemory-policy noeviction --dir /data --bind :: 0.0.0.0'`

### Postgres https://avatars.githubusercontent.com/u/98363230?v=4

- **Image:** pgvector/pgvector:0.8.1-pg17
- **Start command:** `docker-entrypoint.sh postgres -c "listen_addresses=*" -c max_connections=200`

### MongoDB https://avatars.githubusercontent.com/u/45120?v=4

- **Image:** mongo:5.0.32
- **Start command:** `bash -c 'echo IyEvYmluL2Jhc2gKIyBNb25nb0RCIHN0YXJ0IGNvbW1hbmQgKGVtYmVkZGVkIGJhc2U2NCBpbiBzZXJpYWxpemVkLWNvbmZpZy5qc29uOyByZWdlbmVyYXRlIHdpdGggc2NyaXB0cy9lbmNvZGUuc2gpLgojIEZhc3RHUFQgbmVlZHMgYSByZXBsaWNhIHNldCAodHJhbnNhY3Rpb25zICsgY2hhbmdlIHN0cmVhbXMpLiBBdXRoICsgcmVwbFNldCByZXF1aXJlcyBhIGtleWZpbGUuCiMgU2luZ2xlIG1lbWJlciwgaG9zdCAxMjcuMC4wLjE6IGNsaWVudHMgY29ubmVjdCB3aXRoIGRpcmVjdENvbm5lY3Rpb249dHJ1ZSwgc28gdGhlIG1lbWJlciBob3N0CiMgbmV2ZXIgaGFzIHRvIHJlc29sdmUgb3ZlciBSYWlsd2F5IHByaXZhdGUgRE5TIChubyBib290LXRpbWUgRE5TIHJhY2UsIG5vIHJlbmFtZSBicmVha2FnZSkuCnNldCAtdQpvcGVuc3NsIHJhbmQgLWJhc2U2NCA3NTYgPiAvZGF0YS9tb25nb2RiLmtleQpjaG1vZCA0MDAgL2RhdGEvbW9uZ29kYi5rZXkKY2hvd24gOTk5Ojk5OSAvZGF0YS9tb25nb2RiLmtleQoKZG9ja2VyLWVudHJ5cG9pbnQuc2ggbW9uZ29kIC0tcmVwbFNldCByczAgLS1rZXlGaWxlIC9kYXRhL21vbmdvZGIua2V5IC0tYmluZF9pcF9hbGwgLS1pcHY2IFwKICAtLXdpcmVkVGlnZXJDYWNoZVNpemVHQiAiJHtXSVJFRFRJR0VSX0NBQ0hFX0dCOi0wLjI1fSIgJgpQSUQ9JCEKdHJhcCAna2lsbCAtVEVSTSAiJFBJRCIgMj4vZGV2L251bGw7IHdhaXQgIiRQSUQiOyBleGl0IDAnIFRFUk0gSU5UCgpBVVRIPSgtLXF1aWV0IC11ICIkTU9OR09fSU5JVERCX1JPT1RfVVNFUk5BTUUiIC1wICIkTU9OR09fSU5JVERCX1JPT1RfUEFTU1dPUkQiIC0tYXV0aGVudGljYXRpb25EYXRhYmFzZSBhZG1pbikKIyA5NCA9IE5vdFlldEluaXRpYWxpemVkIChpbml0aWF0ZSBub3cpLiA3NiA9IE5vUmVwbGljYXRpb25FbmFibGVkOiB0aGUgaW1hZ2UncyB0ZW1wb3JhcnkgaW5pdGRiCiMgbW9uZ29kIChzdGFydGVkIHdpdGhvdXQgLS1yZXBsU2V0KSBpcyBzdGlsbCB1cCwgc28ga2VlcCB3YWl0aW5nIGZvciB0aGUgcmVhbCBvbmUuCnVudGlsIG1vbmdvICIke0FVVEhbQF19IiAtLWV2YWwgJwogIHZhciBzID0gZGIuYWRtaW5Db21tYW5kKHtyZXBsU2V0R2V0U3RhdHVzOiAxfSk7CiAgaWYgKHMub2sgPT09IDEpIHF1aXQoMCk7CiAgaWYgKHMuY29kZSA9PT0gOTQpIHsKICAgIHZhciByID0gcnMuaW5pdGlhdGUoe19pZDogInJzMCIsIG1lbWJlcnM6IFt7X2lkOiAwLCBob3N0OiAiMTI3LjAuMC4xOjI3MDE3In1dfSk7CiAgICBwcmludGpzb24ocik7CiAgICBxdWl0KHIub2sgPT09IDEgPyAwIDogMSk7CiAgfQogIHF1aXQoMSk7JyA+L2Rldi9udWxsIDI+JjE7IGRvCiAga2lsbCAtMCAiJFBJRCIgMj4vZGV2L251bGwgfHwgeyBlY2hvICJbbW9uZ29dIG1vbmdvZCBleGl0ZWQgYmVmb3JlIHRoZSByZXBsaWNhIHNldCB3YXMgcmVhZHkiOyBleGl0IDE7IH0KICBzbGVlcCAyCmRvbmUKZWNobyAiW21vbmdvXSByZXBsaWNhIHNldCByczAgcmVhZHkiCndhaXQgIiRQSUQiCg== | base64 -d > /tmp/mongo-start.sh && exec bash /tmp/mongo-start.sh'`

### AI Proxy https://avatars.githubusercontent.com/u/102226726?v=4

- **Image:** ghcr.io/labring/aiproxy:v0.7.7
- **Health check:** /api/status

## Documentation

# Deploy and Host FastGPT on Railway

FastGPT is an open source platform for building AI knowledge bases and agent workflows. Import documents, web pages or APIs into datasets, then build chat apps and visual workflows on top of them with retrieval, tool calls, HTTP and MCP nodes, and JavaScript or Python code nodes. It works with OpenAI, Anthropic, DeepSeek, Ollama and other OpenAI compatible providers.

## About Hosting FastGPT

This template runs the full open source FastGPT stack: the app, MongoDB (as a replica set), Postgres with pgvector, Redis, RustFS object storage, the plugin service, the code sandbox and AI Proxy for model channels. Every secret is generated at deploy time. FastGPT normally creates its admin account with the password 123456; this template replaces it with a generated one before the app goes online, so a fresh instance cannot be claimed by someone who guesses the default.

First steps after deploy:

1. Open the **FastGPT** service, copy `ROOT_PASSWORD` from its Variables tab, then open its public domain.
2. Log in as `root` with that password. FastGPT asks you to set your own password; do it.
3. Open the model provider settings from the account menu, add a channel with your provider API key, then enable a chat model and an embedding model.
4. Create a knowledge base, upload a document, and build an app or workflow that uses it.

## Common Use Cases

- Company or product knowledge base chat with cited answers
- Customer support bots embedded on a website or connected to messaging channels
- Visual AI workflows that mix retrieval, HTTP calls, MCP tools and code

## Dependencies for FastGPT Hosting

- **FastGPT**: the web app and API (public).
- **MongoDB**: apps, datasets, chats and users, as a single node replica set, with a volume.
- **Postgres** (pgvector): vector search, plus AI Proxy tables, with a volume.
- **Redis**: queues, locks and sessions, with a volume.
- **RustFS**: S3 compatible storage for uploaded files and images, with a volume. Its S3 endpoint is public so avatars and tool icons load; anonymous users can only read the public bucket.
- **FastGPT Plugin**: system tools and the model provider catalog (private).
- **Code Sandbox**: runs workflow code nodes in isolation (private).
- **AI Proxy**: stores model channels and provider keys (private).

### Deployment Dependencies

- FastGPT: https://github.com/labring/FastGPT
- FastGPT Plugin: https://github.com/labring/fastgpt-plugin
- AI Proxy: https://github.com/labring/aiproxy
- RustFS: https://github.com/rustfs/rustfs

### Key Variables

| Service | Variable | Purpose |
|---------|----------|---------|
| FastGPT | `ROOT_PASSWORD` | Initial password for the `root` user. Only applied while root still has the factory password |
| FastGPT | `AES256_SECRET_KEY` | Encrypts stored secrets. Never rotate after first use |
| FastGPT | `ROOT_KEY`, `FILE_TOKEN_KEY`, `INVOKE_TOKEN_SECRET` | Generated secrets |
| FastGPT | `CHECK_INTERNAL_IP` | Blocks workflows from calling private addresses (on by default here) |
| MongoDB | `WIREDTIGER_CACHE_GB` | Mongo cache size, 0.25 GB by default; raise on bigger plans |
| Code Sandbox | `SANDBOX_POOL_SIZE` | Pre-warmed code workers (2) |

Notes: plan for Hobby or higher. The app and code sandbox need more than the Free plan's 0.5 GB of RAM, and real datasets outgrow Trial volumes quickly. The Agent Sandbox (virtual machine) feature is not included because it needs a Docker socket. Each boot of the FastGPT service initializes twice (once on loopback to secure the root account), so restarts take a little longer.

## Why Deploy FastGPT 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 FastGPT 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 v0.1 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/fastgpt-knowledge-base-workflows
