Self-host Grist
updated Sep 2026prices checked · Jul 2026
We earn commissions when you shop through the links below. Full disclosure →
A relational spreadsheet from Grist Labs: tables with typed columns and Python formulas, linked widgets, forms and access rules, stored as SQLite documents on your own server.
Airtable / yr$288
Self-hosted / yr~$283
You keep$5/yr
Pocket the difference — spin it up on a cheap VPS in minutes.Start free on Kamatera → (opens in new tab)
Key facts
CategoryNo-code database
LicenseApache-2.0
StackTypeScript, Node.js, Python
Min RAM1024 MB
Official imageyes
Difficulty
What you need
- Any VPS with at least 1024 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + USKamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + AsiaDigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + AsiaPaid link — we earn a commission if you shop through it.
Install
Run these commands on your server:
# Grist (grist-core) — the official image; documents persist in ./persist
export GRIST_BOOT_KEY=$(openssl rand -hex 16); echo "boot key: $GRIST_BOOT_KEY"
docker run -d --name grist --restart unless-stopped \
-p 8484:8484 -v "$PWD/persist:/persist" \
-e GRIST_SESSION_SECRET=$(openssl rand -hex 32) -e GRIST_BOOT_KEY \
gristlabs/grist:1.7.20
# open http://SERVER_IP:8484 — first run opens Quick setup; paste the boot key to pick the admin email and sign-in methodAn alternative to
More in No-code database
No-code database
Baserow
PythonDjangoVue
easyRead guide →
No-code database
Mathesar
PythonDjangoSvelte
easyRead guide →
No-code database
NocoDB
TypeScriptNestJSVue
easyRead guide →
No-code database
Teable
TypeScriptNestJSNext.js
easyRead guide →