Platform · 23 / 23
Yours to run
Your servers, your Postgres database, your files. Nothing calls home, and there is no hosted edition.
How it works
- 01
Scaffold an app with npx create-orthacms-app.
- 02
Answer five questions about storage, AI, sign-in, protocols and mail.
- 03
Run it on your own box against your own PostgreSQL.
- Database
- PostgreSQL
- Licence
- MIT
- Telemetry
- None
In depth · For whoever decides where content lives
Your database, your network
Ortha is a Node application and a Postgres database, and you run both — no account, no key, no usage reporting.
What is actually deployed
A Node API server, a static admin build and one Postgres database you back up with your usual tools. Files live on local disk or in an S3, Azure, Google Cloud or Vercel Blob bucket.
Under the hood
Nothing in the running system contacts us: no licence check, no telemetry, no update ping. An air-gapped installation is an ordinary installation with no network.
What owning it changes
A hosted CMS
- Their outage is your outage
- Content lives in an export format
- A pricing change is a migration project
- Data residency is a plan tier
- The audit log is whatever they expose
Ortha
- Your outage, with your logs and your access
- Content is rows in your database
- There is nothing to change
- Data residency is wherever you put the server
- The audit log is a table you can query
What running it involves
Show the table
| You need | Detail |
|---|---|
| Node | Version 22. |
| PostgreSQL 16 | One database, stock extensions only. |
| Somewhere for files | A disk, or an S3, Azure, Google Cloud or Vercel bucket. |
| A reverse proxy | Whatever you already run in front of Node. |
| A model provider | Only for the assistant: hosted, or your own hardware. |
| Your own backups | pg_dump and your object storage’s tooling. |
Questions
Is there a paid tier?
The core is MIT and no feature is paid-only. After 1.0, a plan lifts four caps — workspaces, segments, API tokens and activity log history — and adds support.
Will you host it for me?
No. There is no cloud edition and none is planned. If you need one, choose a hosted CMS.
What does an upgrade look like?
Pull the new version, run the migrations, restart. Migrations are SQL files in your repository you can read first.