Deploy Typebot
Self-hosted Typebot: visual chatbot and form builder. Landbot alternative.
Just deployed
Just deployed
Just deployed
/data
Just deployed
MinIO Bucket Creator
Just deployed
Valkey
Just deployed
/data
Just deployed
/var/lib/postgresql/data
Deploy and Host Typebot on Railway

Typebot is a visual chatbot builder with 10,500+ GitHub stars: drag-and-drop conversational flows for lead capture, support and quizzes, embeddable on any website or connected to WhatsApp. Typebot Cloud's Starter plan is $39/month for 2,000 chats — self-host Typebot on Railway for ~$10–20/month with unlimited chats and bots on your own infrastructure.
What This Template Deploys
| Service | Purpose |
|---|---|
| Builder | Typebot editor where you design bots (port 3000, public HTTPS domain, /signin health check). |
| Viewer | Serves the published bots your visitors chat with (separate public domain). |
| Postgres | PostgreSQL 16 storing workspaces, bots and results. |
| Valkey | Redis-compatible cache used by builder and viewer. |
| MinIO | S3-compatible storage for file uploads, images and videos in bots. |
| Console | MinIO admin console. |
| MinIO Bucket Creator | One-off job that creates the typebot bucket with public read for uploads. |
| Persistent Volumes | Postgres data, Valkey data and MinIO files survive redeploys. |
Seven services wired together through Railway variable references; the encryption secret is generated once and shared by builder and viewer.
About Hosting Typebot
Self-hosting Typebot means two Next.js apps, a database, Redis, S3 storage with a public bucket, a shared encryption secret and a way for users to sign in. Done by hand, that's a long Docker Compose file and an S3 setup.
On Railway, all of it starts together: the builder and viewer know each other's URLs, MinIO and its bucket are created automatically, and ENCRYPTION_SECRET and database passwords are generated at deploy time.
Set up sign-in before your first login. Typebot signs users in by email link (SMTP) or OAuth. SMTP is empty in this template, and Railway blocks outbound SMTP on the Hobby plan — so add GitHub or Google OAuth credentials, or SMTP on Railway Pro, and set ADMIN_EMAIL to your address for an unlimited workspace. Typebot is source-available under the Functional Source License, not OSI open source.
Typical cost: ~$10–20/month on Railway for the seven-service stack. Typebot Cloud is $39/month for 2,000 chats and $89 for 10,000.
Deploy Typebot in Under 10 Minutes
- Click Deploy on Railway — all seven services start and the bucket is created (~3–5 minutes).
- On Builder, add
GITHUB_CLIENT_ID/GITHUB_CLIENT_SECRET(or Google OAuth, or SMTP on Railway Pro). - Set
ADMIN_EMAILon Builder to your email so your workspace gets the unlimited plan, then redeploy. - Open the Builder URL, sign in and create your first bot.
- Publish it and embed the Viewer link or script on your site; set
DISABLE_SIGNUPtotrueto stop strangers registering.
No Docker Compose. No S3 account. No per-chat billing.
Common Use Cases
- Self-hosted Landbot alternative — "open source chatbot builder" without chat limits
- Lead capture — conversational forms that convert better than static forms
- Customer support bots — answer FAQs and hand off to humans
- WhatsApp flows — connect bots to WhatsApp Business
- AI chatbots — call OpenAI or other models inside a flow
- Pairs with n8n — send results to your automations through webhooks
Configuration
| Variable | Required | Description |
|---|---|---|
ADMIN_EMAIL | ✅ Set this | Email that gets the UNLIMITED plan. Defaults to the empty SMTP username. |
GITHUB_CLIENT_ID / GOOGLE_AUTH_CLIENT_ID (+ secrets) | ✅ One sign-in method | OAuth sign-in. Needed on Railway Hobby, where SMTP is blocked. |
SMTP_HOST, SMTP_USERNAME, SMTP_PASSWORD | Optional | Email sign-in and notifications. Requires Railway Pro. |
ENCRYPTION_SECRET | 🔐 Auto-generated | Encrypts credentials; shared with Viewer. Never change it. |
DISABLE_SIGNUP | Optional | false by default — set true after your team signs up. |
NEXTAUTH_URL, NEXT_PUBLIC_VIEWER_URL | ✅ Auto-injected | Public URLs of Builder and Viewer. |
S3_*, REDIS_URL, DATABASE_URL | ✅ Auto-injected | MinIO, Valkey and Postgres connections. |
No sign-in method means no login. With SMTP empty and no OAuth configured, the sign-in page has nothing to send — add OAuth or SMTP first.
Typebot vs. Alternatives
| Typebot on Railway | Typebot Cloud | Landbot | Botpress | |
|---|---|---|---|---|
| Monthly cost | ~$10–20 usage | $39 (2,000 chats), $89 (10,000) | Paid plans by chat volume | Free tier, paid plans |
| Self-hosted | ✅ Yes | ❌ No | ❌ No | ⚠️ Older versions |
| Chat limits | ✅ None | ❌ Per plan | ❌ Per plan | ❌ Per plan |
| Visual flow builder | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Data stays on your infra | ✅ Yes | ❌ No | ❌ No | ⚠️ Self-host only |
| License | ⚠️ FSL-1.1 (source-available) | ⚠️ FSL-1.1 | ❌ Proprietary | ✅ MIT |
Dependencies for Typebot Hosting
- Railway account — plan for ~1 –1.5 GB RAM across seven services; Pro if you want email sign-in.
- GitHub or Google OAuth app credentials (or an SMTP provider on Railway Pro).
Deployment Dependencies
- Typebot GitHub — source and releases
- Typebot Self-Hosting Docs — configuration
- MinIO — S3-compatible storage
- Railway Volumes Documentation — persistence
Implementation Details
Builder and Viewer run the official baptistearno/typebot-builder and typebot-viewer images against Postgres 16, Valkey for caching and MinIO for uploads. A short-lived MinIO client job creates the typebot bucket and makes its public/ folder readable so bots can show uploaded media.
ENCRYPTION_SECRET is generated on Builder and referenced by Viewer — keep it fixed. Both apps reference each other's public domains, so update NEXTAUTH_URL and NEXT_PUBLIC_VIEWER_URL together if you add custom domains.
Frequently Asked Questions
What is Typebot and why self-host it? Typebot is a visual builder for chatbots and conversational forms. Self-hosting removes per-chat pricing and keeps every conversation in your own database.
How much does it cost compared to Typebot Cloud? About $10–20/month on Railway with no chat limits. Typebot Cloud is $39/month for 2,000 chats and $89/month for 10,000.
Why can't I sign in to my self-hosted Typebot? Typebot needs either SMTP (email link) or OAuth. Railway blocks SMTP on Hobby, so add GitHub or Google OAuth variables on Builder, or use SMTP on Railway Pro, then redeploy.
Do I lose bots or uploads when I redeploy? No. Bots and results are in Postgres, and uploaded files are in MinIO, both on persistent volumes.
Can I connect Typebot to WhatsApp or OpenAI? Yes. Typebot has blocks for OpenAI and other AI providers, webhooks for any API, and a WhatsApp integration.
Is Typebot open source? It's source-available under the Functional Source License (FSL-1.1): free to self-host and modify for your own use, and each release converts to Apache-2.0 after two years. Offering a competing hosted Typebot service isn't allowed.
Why Deploy and Host Typebot 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 Typebot on Railway, you get a full chatbot builder — editor, viewer, database, cache and file storage — with unlimited chats for a flat usage cost.
Template Content
SMTP_HOST
SMTP host. Gmail is known to not work
SMTP_PASSWORD
SMTP password
SMTP_USERNAME
SMTP username, This email doubles as the email used for the admin user, the admin user will get an unlimited plan
MinIO Bucket Creator
minio/mc:RELEASE.2025-04-16T18-13-26ZValkey
valkey/valkey:latest