
Deploy Botpress | Open-Source Chatbot Builder on Railway
Self Host Botpress. Visual chatbot builder with NLU, multi-channel & more
Just deployed
/var/lib/postgresql/data
Botpress
Just deployed
/botpress/data

Deploy and Host Botpress on Railway
Deploy Botpress on Railway to self-host your own conversational AI platform with a visual flow editor, built-in NLU, and multi-channel messaging support. Self-host Botpress v12 and run Botpress on Railway with a pre-configured PostgreSQL database for production-ready persistence — no vendor lock-in, full data ownership.
This Railway template deploys two services: the Botpress application server (botpress/server:v12_31_10) and a Railway-managed PostgreSQL database for storing bot configurations, conversation data, and NLU models.

Getting Started with Botpress on Railway
After deploying, visit your Botpress public URL — it automatically redirects to the admin panel at /admin. On first visit, Botpress presents a registration wizard where you create your admin account with email and password. Once registered, you land in the Botpress Admin Dashboard where you can create your first bot.
Click "Create Bot" and choose from pre-built templates or start from scratch. The visual Conversation Studio opens, where you can design dialogue flows by dragging nodes, configure NLU intents and entities, and test your bot in the built-in emulator. To connect your bot to external channels (Messenger, Slack, Teams), configure the channel module from the bot's settings.

About Hosting Botpress
Botpress is an open-source chatbot and conversational AI platform often described as the "WordPress of chatbots." It provides a complete stack for building, deploying, and managing chatbots with natural language understanding, a visual conversation designer, and a modular architecture.
Key features of self-hosted Botpress include:
- Visual Flow Editor — drag-and-drop conversation builder with conditional branching, slot filling, and skills
- Built-in NLU — intent classification, entity extraction, and language detection without external services
- Multi-Channel Support — deploy bots to Messenger, WhatsApp, Slack, Microsoft Teams, Telegram, and custom web widgets
- Content Management — manage bot responses, media, and translations through a CMS interface
- Analytics Dashboard — track conversation metrics, user engagement, misunderstood messages, and NLU performance
- Modular Architecture — extend functionality through modules for broadcasting, human-in-the-loop handoff, and custom actions
Why Deploy Botpress on Railway
- Full data sovereignty — all conversation data stays on your infrastructure
- No per-message pricing — unlimited bot conversations
- Persistent PostgreSQL storage for production reliability
- One-click deploy with pre-configured networking and volumes
- Custom module support without cloud platform restrictions
Common Use Cases for Self-Hosted Botpress
- Customer support automation — handle FAQ, ticket routing, and first-level support with AI-powered conversation flows
- Lead qualification chatbots — capture visitor information, qualify prospects, and book meetings directly from website widgets
- Internal helpdesk bots — automate IT support, HR queries, and onboarding workflows for enterprise teams
- E-commerce assistants — product recommendations, order tracking, and shopping cart assistance through conversational interfaces
Dependencies for Botpress on Railway
- Botpress —
botpress/server:v12_31_10— main application server with admin panel, NLU, and messaging - PostgreSQL — Railway-managed Postgres — stores bot configs, conversations, NLU models, and BPFS data
Deployment Dependencies
- Runtime: Node.js 12.x (bundled in Docker image)
- Docker Hub: botpress/server
- GitHub: botpress/v12
- Docs: botpress.com/docs
Hardware Requirements for Self-Hosting Botpress
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 4 GB | 8 GB |
| Storage | 2 GB | 10 GB |
| Runtime | Docker | Docker + PostgreSQL |
RAM usage scales with the number of NLU languages loaded — each language model consumes approximately 1–1.5 GB. The base Botpress server with one language requires ~4 GB minimum.
Self-Hosting Botpress with Docker
Run Botpress locally with Docker and PostgreSQL:
docker network create botpress-network
docker run -d --name botpress-db \
--network botpress-network \
-e POSTGRES_DB=botpress \
-e POSTGRES_USER=botpress \
-e POSTGRES_PASSWORD=secretpassword \
-v botpress_pgdata:/var/lib/postgresql/data \
postgres:14-alpine
docker run -d --name botpress \
--network botpress-network \
-p 3000:3000 \
-e DATABASE_URL=postgres://botpress:secretpassword@botpress-db:5432/botpress \
-e EXTERNAL_URL=http://localhost:3000 \
-e BP_PRODUCTION=true \
-e BPFS_STORAGE=database \
-v botpress_data:/botpress/data \
botpress/server:v12_31_10
Or with docker-compose:
version: "3.8"
services:
botpress:
image: botpress/server:v12_31_10
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://botpress:secretpassword@db:5432/botpress
- EXTERNAL_URL=http://localhost:3000
- BP_PRODUCTION=true
- BPFS_STORAGE=database
volumes:
- botpress_data:/botpress/data
depends_on:
- db
db:
image: postgres:14-alpine
environment:
- POSTGRES_DB=botpress
- POSTGRES_USER=botpress
- POSTGRES_PASSWORD=secretpassword
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
botpress_data:
pgdata:
Is Botpress Free to Self-Host?
Botpress v12 is open-source under AGPLv3 — completely free to self-host with no per-message fees or usage limits. The cloud-hosted Botpress platform (newer versions) has a free tier with 500 messages/month and paid plans for higher volumes, but the self-hosted v12 version has no such restrictions. On Railway, your only cost is infrastructure usage (typically $5–15/month for a small deployment with PostgreSQL).
Note that Botpress v12 has been sunset by the company — it no longer receives feature updates or security patches. The Docker image remains available and functional for self-hosting.
Botpress vs Rasa vs Dialogflow
| Feature | Botpress v12 | Rasa | Dialogflow |
|---|---|---|---|
| Self-hosted | Yes (Docker) | Yes (Docker/K8s) | No (Google Cloud only) |
| Visual builder | Yes | No (YAML-based) | Yes |
| Open source | AGPLv3 | Apache 2.0 | Proprietary |
| NLU training data | ~10 examples/intent | ~20+ examples/intent | ~10 examples/intent |
| Multi-channel | Built-in modules | Via connectors | Via integrations |
| Learning curve | Low (visual) | High (Python/YAML) | Medium |
| Data sovereignty | Full (self-hosted) | Full (self-hosted) | Google-managed |
Botpress offers the easiest path from idea to deployed chatbot with its visual flow editor, while Rasa provides maximum customization for teams with ML expertise. Dialogflow excels for voice-first applications but locks you into Google Cloud.
FAQ
What is Botpress and why would I self-host it? Botpress is an open-source conversational AI platform for building chatbots with a visual flow editor, built-in NLU, and multi-channel messaging. Self-hosting gives you full data sovereignty, no per-message pricing, and the ability to customize modules without cloud platform restrictions.
What does this Railway template deploy for Botpress?
This template deploys two services: the Botpress application server (botpress/server:v12_31_10) with a persistent volume for local data, and a Railway-managed PostgreSQL database for storing bot configurations, conversation history, and NLU models.
Why does Botpress need PostgreSQL on Railway?
While Botpress can run with embedded SQLite, PostgreSQL is strongly recommended for production. It enables BPFS_STORAGE=database mode where bot files are stored in the database rather than on disk, making the deployment more resilient and portable. PostgreSQL also handles concurrent access better for multi-bot setups.
How do I connect Botpress to Slack or Microsoft Teams on Railway?
After deploying, go to the Admin Dashboard → select your bot → Code Editor → Module Configuration. Enable the channel module (e.g., channel-slack, channel-teams), configure the required API tokens and webhook URLs using your Railway public domain as the callback URL, then restart the bot.
Is Botpress v12 still safe to self-host since it has been sunset? Botpress v12 remains functional and the Docker image is still available on Docker Hub. However, it no longer receives security patches or feature updates. For personal projects, internal tools, and non-critical deployments, it works well. For production customer-facing deployments requiring ongoing security updates, evaluate the risks or consider the cloud-hosted Botpress platform.
How much RAM does self-hosted Botpress need on Railway?
The base Botpress server requires approximately 4 GB of RAM with one NLU language model. Each additional language adds ~1–1.5 GB. Railway's 8 GB plan limit comfortably supports Botpress with 2–3 languages. Set NODE_OPTIONS=--max-old-space-size=4096 if you encounter out-of-memory errors.
Template Content

