Kick off a software project quickly.

Logo Grist

Grist

Self-hosted Airtable alternative — relational database with a spreadsheet interface, Python formulas, REST API, and real-time collaboration. One container, SQLite, no external dependencies.

512 MB RAM 1 vCPU Port 8484 Available

Tech stack

DockerNode.jsPythonSQLite
Minimum RAM512 MB
Minimum CPU1 vCPU
Default port8484
Compatible OSChoice of Linux distributions

Grist (Apache-2.0, ~11.4 k GitHub stars, TypeScript) is the self-hosted evolution of spreadsheets: a relational database that looks and feels like a familiar grid. Unlike Google Sheets or Excel, Grist structures your data as proper tables with typed columns, relations between tables, reference columns and Python formulas that run server-side with full library access.

Deployed on a ServOrbit VPS, Grist gives you a private Airtable alternative with zero subscription cost: create documents with linked tables, build custom views (grid, card, chart, calendar, custom widget), define access rules per row and column, and expose your data via a REST API without writing backend code. Documents are SQLite files stored in a named volume — backup is a file copy.

Grist shines for structured data that outgrows a flat spreadsheet but doesn't justify a full SQL application: project tracking, inventory, budgets, CRM contacts, survey results, ETL pipelines. The document editor is collaborative in real time; users can be invited per document with granular view/edit roles.

Key features

Relational data model — define typed columns (text, numeric, date, reference, attachment), link tables with reference columns, and write multi-table formulas exactly like a spreadsheet.
Python formulas with full library access — write computed columns in Python with access to datetime, math, re, uuid and any pure-Python library; the sandbox runs server-side, not in the browser.
Custom views — build grid, card, chart, calendar and custom widget views from the same data; each view is independently configurable and filterable without touching the underlying table.
Per-row, per-column access rules — restrict who can read or write each row or column by user attribute; granular enough for multi-tenant documents on a single database.
REST API out of the box — every document exposes GET/POST/PUT/PATCH/DELETE endpoints for every table automatically; integrate with n8n, Make or any HTTP client without backend code.
Real-time collaboration — multiple users edit the same document simultaneously; changes propagate in under a second with a full audit log of who changed what and when.

When to use this solution?

1

CRM contacts with relational links

Model contacts, companies, deals and activities as linked tables. Reference columns let you filter contacts by account manager or pipeline stage without writing SQL. Build a card view for sales reps and a chart view for management — same data, different lenses.

2

Budget and expense tracker

Track expenses per project and category with formula columns for running totals, forecasts and variance against budget. Pull data into a dashboard via the REST API or export to CSV for your accountant — all from a single Grist document.

3

Inventory and order management

Model products, variants, stock levels and orders across linked tables. Add a formula column that flags items below reorder threshold and triggers an n8n workflow via webhook. The card view gives warehouse staff a mobile-friendly interface without a dedicated app.

4

Survey data processing pipeline

Import a CSV exported from Typeform or Google Forms, add computed label columns, filter respondents by segment, and export a cleaned dataset — all in a single Grist document with no code and no Python environment to set up.

Deploy Grist on your VPS

Guide optimized for ServOrbit Cloud VPS.

01

Order a ServOrbit VPS

1 GB RAM is sufficient for a personal or small-team Grist instance. Grist stores documents as SQLite files in the /persist volume — no external database service required.

02

One-click deploy from the marketplace

Open your ServOrbit dashboard → Marketplace → Development → Grist → Deploy. The Node.js container starts within seconds.

03

Open Grist at http://your-vps-ip:8484

The default admin email ([email protected]) is pre-configured; Grist logs you in automatically on first access. No SMTP or email verification required for the initial single-user setup.

04

Create your first document

Click '+ Add document', choose a template or start from scratch, then define your table columns (text, numeric, date, reference…). You can also import an existing CSV, Excel or .grist file from the File menu.

05

Optional: invite collaborators and configure OAuth

Share a document via the Share menu to invite colleagues with viewer, editor or owner roles. For multi-user access with real email authentication, set the GRIST_OIDC_* environment variables to point to your Google Workspace, Authentik or Keycloak instance.

Frequently asked questions

Both. Grist stores data in typed, relational tables (like a database) and exposes them in a spreadsheet-style grid (like Excel). You write Python formulas in cells, link tables with reference columns, and build multiple views on the same data — without writing SQL.

Kick off a software project quickly.

Activate Grist on your infrastructure.

Dedicated Cloud VPS — IPv4 included, European datacenter, support included. Your data never leaves your server.

Recommended configuration: 512 MB RAM · 1 vCPU

Need help?

Browse our help center and FAQ, or write to our team — support in French, English and Arabic.