[{"data":1,"prerenderedAt":87},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-grist":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"slug":7,"name":8,"description":9,"phase":10,"docsUrl":11,"logo":12,"github":13,"tagline":14,"longDescription":15,"features":16,"useCases":23,"steps":36,"faq":52,"specs":68,"compatibleOs":78,"relatedApps":79,"relatedPosts":80,"category":81},"grist","Grist","Self-hosted spreadsheet meets relational database: model data with table relations and Python formulas, manipulate it in a familiar spreadsheet UI — 11 k GitHub stars, Apache-2.0, built-in SQLite, under 512 MB RAM.",1,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-grist-vps","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fgrist.svg","https:\u002F\u002Fgithub.com\u002Fgristlabs\u002Fgrist-core","Self-hosted Airtable alternative — relational database with a spreadsheet interface, Python formulas, REST API, and real-time collaboration. One container, SQLite, no external dependencies.","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.\n\nDeployed 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.\n\nGrist 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\u002Fedit roles.",[17,18,19,20,21,22],"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\u002FPOST\u002FPUT\u002FPATCH\u002FDELETE 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.",[24,27,30,33],{"title":25,"body":26},"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.",{"title":28,"body":29},"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.",{"title":31,"body":32},"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.",{"title":34,"body":35},"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.",[37,40,43,46,49],{"title":38,"body":39},"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 \u002Fpersist volume — no external database service required.",{"title":41,"body":42},"One-click deploy from the marketplace","Open your ServOrbit dashboard → Marketplace → Development → Grist → Deploy. The Node.js container starts within seconds.",{"title":44,"body":45},"Open Grist at http:\u002F\u002Fyour-vps-ip:8484","The default admin email (admin@localhost.local) is pre-configured; Grist logs you in automatically on first access. No SMTP or email verification required for the initial single-user setup.",{"title":47,"body":48},"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.",{"title":50,"body":51},"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.",[53,56,59,62,65],{"q":54,"a":55},"Is Grist a spreadsheet or a database?","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.",{"q":57,"a":58},"Does Grist require PostgreSQL or MySQL?","No. Documents are stored as SQLite files in the \u002Fpersist volume — one file per document. SQLite handles thousands of rows comfortably. For very large multi-user deployments, Grist also supports PostgreSQL for its home database, but the default single-container setup uses SQLite for everything.",{"q":60,"a":61},"Can multiple people edit the same Grist document at the same time?","Yes. Grist supports real-time collaborative editing: changes appear for all connected users in under a second, with a full audit log of who changed what and when. Access is controlled per document with viewer, editor and owner roles.",{"q":63,"a":64},"How do I expose my Grist data to another application?","Every Grist document exposes a REST API automatically at http:\u002F\u002Fyour-vps-ip:8484\u002Fapi\u002Fdocs\u002F\u003CdocId>\u002Ftables\u002F\u003CtableId>\u002Frecords. You can list, create, update and delete rows with standard HTTP verbs — no backend code needed. Use it with n8n, Make, or any HTTP client.",{"q":66,"a":67},"How do I back up my Grist documents?","Grist documents are SQLite files in the \u002Fpersist\u002Fdocs\u002F directory. Copy them like any file or mount the volume to a Backrest job (also in the ServOrbit marketplace) for automated versioned backups to S3, Backblaze B2 or SFTP. Grist also keeps a built-in snapshot history per document accessible from the document menu.",{"ram":69,"cpu":70,"disk":71,"stack":72,"port":77},"512 MB","1 vCPU","5 GB",[73,74,75,76],"Docker","Node.js","Python","SQLite","8484",[],[],[],{"key":82,"slug":82,"name":83,"objective":84,"icon":85,"color":86},"developpement","Development","Kick off a software project quickly.","dev","text-warning bg-warning\u002F10",1785852629817]