← shagato

Cubicle

Serverless is wonderful until you read the bill, or notice your data now lives on someone else's continent. Cubicle is the same convenience — write a function, press deploy, get a URL — running on hardware you already own.

live site ↗source ↗

the platform

The console

open source · Apache-2.0

One command, and the platform is yours.

Clone it, run the installer, and it builds the images, generates every secret, starts the stack and prints a console URL. Point a domain at the machine and it gets a certificate on its own. There is no registration anywhere in the product — you set an administrator password on first run and that is the only credential the instance has. Nothing calls home.

Writing and running functions

Python · JavaScript

Write a handler, press deploy, get a URL.

A real editor in the browser, versioned deploys you can roll back to, and a test console that runs the function on the actual cluster rather than a simulation. One configuration store per cluster is resolved when the function runs, so changing a value needs no redeploy. Logs and control-plane events stream live, and the dashboard counts real invocations rather than samples.

Writing and running functions — screenshot of Cubicle

The documentation

for whoever runs it

Everything needed to run it without me.

Install, the handler contract, secrets and config, clusters and access control, the managed databases, operations, and the security model — plus the findings of a source review with what was done about them. Written so a stranger can adopt the thing, which is the difference between open source and code you can read.

underneath

Clusters

isolation

Production and staging on one box, sharing nothing.

An instance holds several clusters, and each owns its namespaces, functions, config, databases and metrics — so two of them can both have a payments namespace without colliding. Every URL names its cluster, either by its own hostname or by a slug in the path; there is deliberately no unqualified form, because a default would quietly change what an existing URL pointed at the day someone changed the default.

Databases on demand

PostgreSQL · Redis

No credentials to copy anywhere.

Ask for a database and it is provisioned on the cluster and wired into every function automatically. A browser for the managed PostgreSQL comes with it — tables, paginated rows with search and sorting, a row editor and a SQL console — so routine work does not mean opening a separate tool.

The command line

Python · tested

The whole platform without the browser.

Deploy, tail logs, manage instances, schedules, runtimes and the package marketplace from a terminal, so any of it drops into a script or a pipeline. It carries a real test suite — the part of a side project that usually gets skipped.

What it costs

metering

Told honestly, including the comparison.

Node capacity and allocation, GB-seconds, measured egress, and chargeback per namespace — next to what the same usage would have cost at public list prices. Being able to see that number is most of the argument for running it yourself.

Apache-2.0, and built to be handed over: the installer is safe to re-run, secrets are never rotated behind your back, and every screen has a page in the docs.