Deploy Baserow open-source no-code database on Ubuntu with Docker — Airtable alternative you self-host.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/analytics/baserow/baserow-ubuntu.sh
chmod +x baserow-ubuntu.sh
sudo bash baserow-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/analytics/baserow/baserow-ubuntu.sh
chmod +x baserow-ubuntu.sh
The script installs Docker if needed, then deploys Baserow with PostgreSQL automatically.
sudo bash baserow-ubuntu.sh
Open your browser and navigate to:
http://<your-server-ip>
Complete the setup wizard, create a workspace, and build your first table with fields and views.
| Port | Purpose |
|---|---|
| 80 | HTTP Web UI |
| 443 | HTTPS |
| 5432 | PostgreSQL (internal) |
Baserow is an open-source no-code database platform — a self-hosted alternative to Airtable that lets you create relational databases, manage data, and build internal tools through a clean spreadsheet-like interface. By hosting it yourself you keep full control over your data with no per-seat pricing.
Baserow gives teams a structured, collaborative database interface without any SQL knowledge. Unlike NocoDB (which wraps existing databases), Baserow provides its own PostgreSQL-backed storage with a polished UI built specifically for non-developers. It auto-generates a REST API for every table, making it great as a headless CMS or lightweight backend for apps — all self-hosted with no row limits.
Port 80 (HTTP) and optionally 443 (HTTPS) for the web UI and API. PostgreSQL on 5432 is internal only. Use a reverse proxy on 443 for HTTPS. The REST API is available at the same port — protect it with token auth.
Direct alternatives: NocoDB (wraps existing DBs, lighter), Grist (stronger formula engine), Mathesar (PostgreSQL-native). Cloud: Airtable (best UX but expensive per seat), Notion Databases, Smartsheet (enterprise).
Don't use Baserow if you already have an existing database you want to expose — NocoDB is better for wrapping existing PostgreSQL/MySQL. And if you need complex business logic embedded in the interface, AppSmith or Budibase (app builders) give you more control.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
NocoDB connects to existing databases (PostgreSQL, MySQL, SQLite) and provides a spreadsheet UI on top. Baserow manages its own PostgreSQL storage and is designed as a product-grade Airtable replacement with more polish and a dedicated REST API.
Yes — Baserow auto-generates a fully documented REST API for every table. Create an API token from your account settings, then use it with the endpoint `https://your-baserow.com/api/database/rows/table/TABLE_ID/`.
Yes — export your Airtable base as CSV, then import it into Baserow. Baserow also has an Airtable importer that reads the Airtable share URL directly, though complex formulas and some field types may need manual adjustment.
Yes — multiple users can edit tables simultaneously. Changes appear in real time for all connected users via WebSocket. You can see other users' cursors and edits as they happen.
Yes — create tables for your content (blog posts, products, pages), then fetch data via the REST API in your frontend. The API supports filtering, sorting, and pagination — making it a solid headless CMS backend.
Yes — Baserow has formula fields with 30+ functions (IF, CONCAT, SUM, DATE_DIFF, etc.) plus rollup and lookup fields for aggregating data from linked tables.
Baserow has no artificial row limits when self-hosted. Performance depends on your PostgreSQL hardware — tables with 100,000+ rows work well on a properly resourced server. For millions of rows, add PostgreSQL indexes on queried fields.
Run `docker compose pull && docker compose up -d`. Baserow runs database migrations automatically on startup. Back up PostgreSQL before any upgrade. Check the Baserow changelog — some upgrades deprecate API fields.