DEV Community

Cover image for Your spreadsheet-database can run on hardware you already own
Nebosa Company
Nebosa Company

Posted on Originally published at appdor.com

Your spreadsheet-database can run on hardware you already own

Every spreadsheet-database product on the market will tell you your data is
safe. Almost none of them will tell you where it is.

That distinction stops being philosophical the first time somebody in
procurement asks which sub-processors touch your production records, or the
first time a customer's contract says the row has to stay inside a particular
jurisdiction. At that point "safe" is not an answer. "It is in a Postgres
instance on hardware you control, and here is the connection string" is.

Appdor in 26 seconds: grid, approval workflow, kanban, dashboard
The product tour, silent by design. Full-resolution video.

What running it yourself actually means here

Appdor is a work OS that sits on top of a Postgres database rather than
inside a vendor's. The database is the system of record, it is ordinary
Postgres, and you can point psql at it.

docker compose up
Enter fullscreen mode Exit fullscreen mode

That is the whole installation. There is no licence server to call, no
activation step, and no feature that notices it is running outside a hosted
plan and turns itself off.

The consequences are worth being precise about, because "self-hostable" is a
word that has been used loosely enough to mean nothing:

  • The schema is yours. Tables are tables. A migration you write by hand, a read-replica you attach, a nightly pg_dump into your own object store — all of it works, because there is no proprietary storage layer between the product and the database.
  • The product does not phone home. No telemetry endpoint and no licence check. The application and marketing bundles are served from the origin you deployed — no CDN. One exception, stated because you would otherwise find it in a network tab: the Map element fetches its basemap tiles from OpenStreetMap's servers by default, which tells that host a viewer's IP address and roughly where they are looking. It is one setting (tileUrl) pointed at your own tile server, and nothing else changes.
  • Nothing is gated. All 48 page elements, 25 chart types and 24 dashboard widgets are present in the build you just started. There is no plan that unlocks them.

A grid view in Appdor, running from one container on your own Postgres

The part that usually breaks

Most migrations off a hosted spreadsheet-database do not fail on the data. They
fail on the logic — the several hundred formula cells somebody wrote over
three years, in a dialect that only exists inside one vendor's product.

Appdor reads 7 formula dialects and transpiles them into its own. That
is a separate piece of work with its own article, but it is the reason this
particular migration is finishable rather than merely startable.

What you should check before believing any of this

Reasonable scepticism about a self-hosting claim looks like this, and all four
are things you can verify yourself in about twenty minutes:

  1. Bring it up with the network disconnected after the images are pulled. If it needs the internet to run, that is where you will find out.
  2. Connect to the database directly and read a record you created in the UI. If you cannot, the storage is not really Postgres.
  3. Grep the built assets for absolute http(s) URLs. Third-party requests are not a matter of policy; they are a matter of fact.
  4. Turn off a feature's network path and see whether the feature admits it.

The fourth is the one that separates products that are honest from products
that are merely quiet.

A dashboard in Appdor: counts, activity chart, status donut

Where this leaves you

If you are running a spreadsheet-database today and the answer to "where does
this row live" is a vendor's region list, you have a dependency you did not
choose and cannot audit. Running the same class of tool on your own Postgres
turns that into a deployment decision — which is the kind of problem your
infrastructure team already knows how to have.

The product is free to run on your own hardware, and it is available in
36 languages.


Originally published at appdor.com. I build Appdor, so weigh accordingly.

Top comments (0)