Layer 5 · self-hosting reality check
What it actually takes to self-host Baserow
The docs say 2 GB for the all-in-one baserow/baserow image, as stated in Baserow's own forum FAQ. In practice you want 4 GB. Baserow staff advise starting at 4 GB, and say a basic setup grows to about 3 GB. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Airtable alternatives, where Baserow is one of the picks.
Wondering whether you need to at all? Is Airtable free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | 2 GB for the all-in-one baserow/baserow image, as stated in Baserow's own forum FAQ |
|---|---|
| RAM — what it really needs | 4 GB. Baserow staff advise starting at 4 GB, and say a basic setup grows to about 3 GB |
| CPU | 2 vCPU |
| Disk | The embedded PostgreSQL database plus every uploaded file, both under /baserow/data by default. Uploaded files grow fastest; Baserow can move them to S3-compatible storage once they dominate. |
| Monthly cost | $12–24/mo for a 5-user instance on a 4 GB VPS. The all-in-one image already includes PostgreSQL, Redis and the Caddy proxy, so nothing else is required |
| Setup time | 30 minutes with the all-in-one image, an afternoon with a domain, backups and an external database |
| How you install it | One docker run of the all-in-one baserow/baserow image, which bundles PostgreSQL, Redis, a pre-configured Caddy reverse proxy and the backend, frontend and Celery workers. Separate backend and frontend images exist for split deployments |
| Ongoing maintenance | A release every few weeks to pull, a nightly backup of the /baserow/data volume (Baserow advises running backup and restore while nobody is using the server), and the occasional major PostgreSQL jump on the embedded database. The 11 to 15 move needed a separate upgrade image. |
| Where it stops scaling | One 4 GB box is fine for a small team. Past that, move PostgreSQL and Redis out of the container, raise the worker counts, and run the backend and frontend as separate containers so each can grow on its own. |
The thing that catches people out
Baserow's own forum FAQ says the all-in-one image needs 2 GB of RAM, and that is the size people buy. It is too small. The one container runs PostgreSQL, Redis, the frontend, the API workers and the Celery workers, and staff say each Django process alone takes over 300 MB. Staff also say a basic setup grows to about 3 GB, and one user on a 2 GB droplet watched memory sit at 95% with almost nobody using it. Buy 4 GB. If you cannot, set BASEROW_AMOUNT_OF_GUNICORN_WORKERS=1, BASEROW_AMOUNT_OF_WORKERS=1 and BASEROW_RUN_MINIMAL=yes. One user measured a 40% drop that way, and it runs slower.
When not to self-host Baserow
You need Kanban, Calendar or Timeline views, row comments or role-based permissions for free. On Baserow those sit in paid tiers, and on a self-hosted instance they are unlocked per seat with a licence. NocoDB's free self-hosted edition includes Kanban, Calendar and record comments, under a source-available licence.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
Common questions
- How much RAM does Baserow actually need?
- 4 GB. Baserow staff advise starting at 4 GB, and say a basic setup grows to about 3 GB in practice. The documented minimum is 2 GB for the all-in-one baserow/baserow image, as stated in Baserow's own forum FAQ, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU alongside it.
- What does self-hosting Baserow cost per month?
- $12–24/mo for a 5-user instance on a 4 GB VPS. The all-in-one image already includes PostgreSQL, Redis and the Caddy proxy, so nothing else is required This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for a release every few weeks to pull, a nightly backup of the /baserow/data volume (Baserow advises running backup and restore while nobody is using the server), and the occasional major PostgreSQL jump on the embedded database. The 11 to 15 move needed a separate upgrade image.
- How long does it take to set up Baserow?
- 30 minutes with the all-in-one image, an afternoon with a domain, backups and an external database, via One docker run of the all-in-one baserow/baserow image, which bundles PostgreSQL, Redis, a pre-configured Caddy reverse proxy and the backend, frontend and Celery workers. Separate backend and frontend images exist for split deployments.
- When should I NOT self-host Baserow?
- You need Kanban, Calendar or Timeline views, row comments or role-based permissions for free. On Baserow those sit in paid tiers, and on a self-hosted instance they are unlocked per seat with a licence. NocoDB's free self-hosted edition includes Kanban, Calendar and record comments, under a source-available licence.
- What is the most common mistake when self-hosting Baserow?
- Baserow's own forum FAQ says the all-in-one image needs 2 GB of RAM, and that is the size people buy. It is too small. The one container runs PostgreSQL, Redis, the frontend, the API workers and the Celery workers, and staff say each Django process alone takes over 300 MB. Staff also say a basic setup grows to about 3 GB, and one user on a 2 GB droplet watched memory sit at 95% with almost nobody using it. Buy 4 GB. If you cannot, set BASEROW_AMOUNT_OF_GUNICORN_WORKERS=1, BASEROW_AMOUNT_OF_WORKERS=1 and BASEROW_RUN_MINIMAL=yes. One user measured a 40% drop that way, and it runs slower.