Datahoster
Host API endpoints for your data. Drop a folder, get an API.
api.example.com/
collections/
contact.json → POST https://api.example.com/contact
orders.json → GET https://api.example.com/orders
How it works
The same idea as localhoster, pointed at data instead of pages. A folder named for a domain becomes a live API host on your own server; declaring a collection inside it is all it takes to get endpoints.
Folders are APIs
A folder named api.example.com is served as that API host. Point the subdomain's
DNS at your datahoster box and the next sync makes it live over HTTPS.
Collections are endpoints
Declare a collection — its fields and access — and the engine hosts the primitives:
POST to append a record, GET to read the ones you're allowed to.
Records, pulled down
Durable records are kept append-only on the server and mirrored back to your machine, so you always hold your own copy of the data.
Just enough protection
No member accounts, no sessions to manage — just a per-collection rule for who may write and who may read. That covers the casual cases cleanly and leaves the heavy identity work to userhoster.
Write-only inboxes
A contact form is write: public, read: owner. Anyone can post; only you can read
it back, down your own authenticated pull.
Key-locked data
Lock a collection to an access key when a service — or a particular client — is the only thing that should read or write it.
Schemas that evolve
Fields are versioned. Grow the shape by adding a new version with a small conversion function; old records are upgraded on the way out.
Part of the family
Datahoster is one of a set of small, self-hosted services that all work the same way — a directory of domain folders, mirrored to your own server.
Localhoster →
Static sites. Drop a folder, get an HTTPS website. It can even pull your public listings from here and bake them into a page.
Gamehoster →
Realtime state for multiplayer — rooms, presence and live updates over WebSockets.
Userhoster →
Real accounts and long-term member data, for the sites that need people to sign in.
One box each
Each service runs on its own server and hosts every domain of its kind. Start with one of each; add more when the traffic asks for it.