command
curl the installer and it does the rest: runtimes, a router, a Cloudflare tunnel for going public, and a dashboard on your LAN. It only asks what it can’t guess.
self-hosting, minus the ceremony
monohost turns the Mac on your desk into the place your apps live. One command to set it up. One push to deploy. One file to make any app ready. No Docker, no cloud bill, no servers to babysit.
$ curl -fsSL https://monohost.org/install.sh | bash
macOS · Apple Silicon · sets up runtimes, router, tunnel & dashboard · ~5 minutes
git push and it’s live.A small daemon on your Mac watches your repos. Push, and within about thirty seconds it fetches, rebuilds, and restarts your app. A broken build rolls back by itself — the old version keeps running. The server’s state is whatever is in git: nothing to log into, nothing to remember.
curl the installer and it does the rest: runtimes, a router, a Cloudflare tunnel for going public, and a dashboard on your LAN. It only asks what it can’t guess.
Deploys are just git. Push to your branch and the app rebuilds and restarts on its own hardware — yours. Failed builds roll back automatically.
A monohost.json in your repo says how to run your app
and where to check its health. Python, Node, Go — anything that
binds a port.
Drop monohost.json at the root of your repo. It says
how to run your app and where to check that it’s healthy —
monohost figures out the build on its own, straight from your
lockfiles.
127.0.0.1:${PORT} — monohost assigns the port200 on a health path — default /healthz{
"run": "uvicorn main:app --host 127.0.0.1 --port ${PORT}",
"health": "/healthz"
}
The complete guide for app authors — the manifest, the port contract, builds, frontends, secrets, and the built-in MongoDB & S3 storage. Hand it to a teammate (or a language model) and any repo becomes deployable.