AppdorTry it

Your spreadsheet-database can run on hardware you already own

Self-hosting · 4 min read

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.

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

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 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.

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.