Railway

Deploy Botpress | Open-Source Chatbot Builder on Railway

Self Host Botpress. Visual chatbot builder with NLU, multi-channel & more

Deploy Botpress | Open-Source Chatbot Builder on Railway

/var/lib/postgresql/data

Just deployed

/botpress/data

Botpress logo

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.

Botpress Railway architecture

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.

Botpress dashboard screenshot

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

  • Botpressbotpress/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

Hardware Requirements for Self-Hosting Botpress

ResourceMinimumRecommended
CPU1 vCPU2 vCPU
RAM4 GB8 GB
Storage2 GB10 GB
RuntimeDockerDocker + 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

FeatureBotpress v12RasaDialogflow
Self-hostedYes (Docker)Yes (Docker/K8s)No (Google Cloud only)
Visual builderYesNo (YAML-based)Yes
Open sourceAGPLv3Apache 2.0Proprietary
NLU training data~10 examples/intent~20+ examples/intent~10 examples/intent
Multi-channelBuilt-in modulesVia connectorsVia integrations
Learning curveLow (visual)High (Python/YAML)Medium
Data sovereigntyFull (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

More templates in this category

View Template
Telegram JavaScript Bot
A template for Telegram bot in JavaScript using grammY

Agampreet Singh
View Template
Cobalt Tools [Updated Apr ’26]
Cobalt Tools [Apr ’26] (Media Downloader, Converter & Automation) Self Host

shinyduo
View Template
Whatsmiau
Deploy Whatsmiau on Railway. WhatsApp REST API. One click.

Douglas Rubim