Deploy Baserow (Distributed Arch.) | Open Source Airtable Alternative on Railway
Railway

Deploy Baserow (Distributed Arch.) | Open Source Airtable Alternative on Railway

Self Host Baserow. No-code database with automations, API, & more

Deploy Baserow (Distributed Arch.) | Open Source Airtable Alternative on Railway

Baserow

Baserow Backend

baserow/backend:2.2.0

Just deployed

/baserow/media

Just deployed

DBs

/var/lib/postgresql/data

Just deployed

/data

Celery

Just deployed

Just deployed

Baserow logo

Deploy and Host Baserow on Railway

Deploy Baserow on Railway with a production-grade architecture — separate backend, frontend, and worker services that scale independently.

Baserow is an open-source no-code database platform and Airtable alternative that lets teams build databases, automations, apps, and AI agents without writing code. Trusted by 150,000+ users, it's MIT-licensed and GDPR/HIPAA/SOC 2 compliant.

Self-host Baserow on Railway with this template to get independent scaling, cleaner healthchecks, and the latest v2.2.0 features.

Baserow Railway architecture

Getting Started with Baserow on Railway

Once all services are deployed, open the Frontend URL. You'll be redirected to the signup page to create your admin account. Enter your email and password to register — this becomes the workspace owner.

After signup, create your first workspace and database. Click Create new to add a table. Baserow presents a familiar spreadsheet-like grid where you define fields (text, number, date, link, formula, file, AI prompt) and add rows. Switch between Grid, Kanban, Gallery, Calendar, Form, and Survey views using the view selector.

To connect your team, go to Members in the sidebar and invite collaborators. All edits sync in real-time across users. Access the REST API at https:///api/ for programmatic data access.

Baserow dashboard screenshot

About Hosting Baserow

Baserow is a privacy-first, open-source no-code platform built on Django (backend) and Nuxt.js (frontend), backed by PostgreSQL and Redis. It provides the power of a relational database with the simplicity of a spreadsheet.

Key features:

  • Multiple views — Grid, Kanban, Calendar, Gallery, Form, and Survey on the same data
  • Linked records — foreign-key relationships, lookups, and rollups across tables
  • Built-in automations — trigger actions on row create/update/delete (email, webhook, row update)
  • Application builder — build custom dashboards and interfaces on your data, no code required
  • Real-time collaboration — live cursor tracking, instant cell updates across all users
  • Full REST API — token-based CRUD for every table, with webhook support
  • AI fields — generate cell values using OpenAI, Anthropic, or Mistral (bring your own API key)

This architecture separates concerns: the Backend handles API requests and WebSocket connections, the Frontend serves the Nuxt SSR UI, and Celery workers process background jobs (exports, automations, webhooks) asynchronously.

Why Deploy Baserow on Railway

  • One-click deploy with six services pre-wired via private networking
  • Independent scaling — add backend workers without duplicating the frontend
  • Automatic TLS certificates and public URLs per service
  • Persistent volume for media and file uploads
  • No Docker Compose, Kubernetes, or reverse proxy to manage

Common Use Cases for Self-Hosted Baserow

  • Custom CRM — track leads, deals, and customer interactions with linked records, Kanban pipelines, and form-based lead capture
  • Project management — assign tasks, track progress with Calendar and Kanban views, automate status notifications via webhooks
  • Data collection and surveys — publish Form and Survey views to collect structured input from external users directly into your database
  • Internal tools and dashboards — use the application builder to create admin panels, reporting dashboards, and approval workflows without frontend code

Dependencies for Baserow on Railway

  • Baserow Backendbaserow/backend:2.2.0 — Django/Gunicorn API server (port 8000)
  • Baserow Frontendbaserow/web-frontend:2.2.0 — Nuxt 3 SSR server (port 8080)
  • Celery Workerbaserow/backend:2.2.0 with celery-worker command — background task processing
  • Celery Beatbaserow/backend:2.2.0 with celery-beat command — scheduled task scheduler
  • PostgreSQL — Railway-managed — relational data storage
  • Redis — Railway-managed — caching, real-time events, Celery message broker

Environment Variables Reference for Self-Hosted Baserow

VariableDescriptionRequired
PUBLIC_WEB_FRONTEND_URLPublic URL of the Frontend UI serviceYes
PRIVATE_BACKEND_URLInternal Backend URL for Frontend SSR requestsYes (Frontend)
BASEROW_EXTRA_ALLOWED_HOSTSAdditional hostnames for Django ALLOWED_HOSTSYes (Backend)
BASEROW_AMOUNT_OF_GUNICORN_WORKERSNumber of API worker processesNo (default: CPU count)
BASEROW_TRIGGER_SYNC_TEMPLATES_AFTER_MIGRATIONDisable template sync on first bootNo

Deployment Dependencies

Hardware Requirements for Self-Hosting Baserow

ResourceMinimumRecommended
CPU (Backend)1 vCPU2 vCPU
RAM (Backend)2 GB4 GB
CPU (Frontend)0.5 vCPU1 vCPU
RAM (Frontend)512 MB1 GB
PostgreSQL1 vCPU / 1 GB RAM1 vCPU / 2 GB RAM
Redis0.5 vCPU / 512 MB RAM1 vCPU / 1 GB RAM
Storage10 GB20 GB+ (scales with uploads)

Self-Hosting Baserow with Docker Compose

For a deployment outside Railway, use the official docker-compose.no-caddy.yml:

git clone https://github.com/baserow/baserow.git
cd baserow
cp .env.example .env
# Edit .env: set SECRET_KEY, DATABASE_PASSWORD, REDIS_PASSWORD, BASEROW_PUBLIC_URL
docker compose -f docker-compose.no-caddy.yml up -d

Or run individual services with Docker:

# Backend API
docker run -d --name baserow-backend \
  -p 8000:8000 \
  -e SECRET_KEY=$(openssl rand -hex 32) \
  -e DATABASE_URL=postgresql://user:pass@db:5432/baserow \
  -e REDIS_URL=redis://:pass@redis:6379 \
  -e PUBLIC_BACKEND_URL=https://api.example.com \
  -e PUBLIC_WEB_FRONTEND_URL=https://app.example.com \
  -v baserow-media:/baserow/media \
  baserow/backend:2.2.0

# Frontend
docker run -d --name baserow-frontend \
  -p 3000:8080 \
  -e PUBLIC_BACKEND_URL=https://api.example.com \
  -e PUBLIC_WEB_FRONTEND_URL=https://app.example.com \
  -e PRIVATE_BACKEND_URL=http://baserow-backend:8000 \
  baserow/web-frontend:2.2.0

# Celery Worker
docker run -d --name baserow-celery \
  -e SECRET_KEY= \
  -e DATABASE_URL=postgresql://user:pass@db:5432/baserow \
  -e REDIS_URL=redis://:pass@redis:6379 \
  -v baserow-media:/baserow/media \
  baserow/backend:2.2.0 celery-worker

Is Baserow Free to Self-Host?

Baserow's core is fully open source under the MIT license. Self-hosting is free with unlimited rows, storage, users, and API requests — no time limits or feature gates on the open-source edition. On Railway, your cost is infrastructure only. Optional paid add-ons (premium views like Kanban/Calendar/Survey, RBAC, SSO, audit logs) are available through Baserow's self-hosted Premium (~$12/user/month) and Enterprise (custom pricing) licenses.

Baserow vs NocoDB: Open-Source Airtable Alternatives on Railway

FeatureBaserowNocoDB
LicenseMIT (core)Sustainable Use License
Self-hostYes, free foreverYes, free for internal use
ArchitectureOwn PostgreSQL + RedisUI layer on existing DB
Real-time collabLive cursor + instant syncRequires page refresh
Application builderYes (no-code)No
AutomationsBuilt-in engine + webhooksWebhooks only
ViewsGrid, Kanban, Calendar, Gallery, Form, SurveyGrid, Kanban, Gallery, Form
Undo/Redo + TrashYesNo
AI fieldsOpenAI, Anthropic, MistralNo

Baserow is the heavier but more complete platform — it replaces an entire stack of tools. NocoDB is lighter and ideal if you just need a spreadsheet UI on an existing database.

FAQ

What is Baserow and why self-host it? Baserow is an open-source no-code database platform — an Airtable alternative that lets teams build databases, automations, and apps without code. Self-hosting gives you full data ownership, unlimited usage, no per-seat pricing, and compliance with GDPR/HIPAA data residency requirements.

Why are there separate Backend and Frontend services instead of one container? The architecture lets each service scale independently. You can add more Backend workers for heavier API load without duplicating the Frontend. It also enables cleaner healthchecks, faster restarts, and works with the latest Baserow v2.2.0 (the all-in-one image has port mismatch issues on Railway with v2.1+).

Why does Baserow need PostgreSQL and Redis? PostgreSQL stores all databases, tables, rows, user accounts, and configuration. Redis serves as the cache layer, real-time event bus (for live collaboration), and message broker for Celery workers that process automations, exports, imports, and webhooks.

Can I connect Baserow to n8n or Zapier for automation? Yes. Baserow has official integrations for n8n (dedicated Baserow node) and Zapier (triggers + actions). You can also use the built-in webhook system to send row events to any HTTP endpoint, or use the REST API directly from any automation platform.

Does self-hosted Baserow support AI features? Yes. Set BASEROW_OPENAI_API_KEY and BASEROW_OPENAI_MODELS on the Backend to enable AI-powered fields in tables. Anthropic and Mistral are also supported via their respective env vars. The AI Assistant (Kuma) chat requires an Enterprise license.


Template Content

More templates in this category

View Template
Strapi
A popular self-hosted CMS

Milo
7.6K
Deploy
View Template
WordPress with Redis
Deploy WordPress with MariaDB and Redis

Noor Adn
View Template
Directus (docker/websocket/extensions) + PostGIS (docker/TCP) + S3/Local
Directus (Docker) + PostGIS (Docker/TCP) + S3

Protemplate