# Why I built Hosbah (on ToGO)

> I wanted Heroku-style deploys on servers I already pay for. This is what I built, in what order, and what is still not finished.

*2026-10-19T12:49:04Z*

# Why I built Hosbah (on ToGO)

I wanted Heroku-style deploys on servers I already pay for. Every platform I tried either wanted my workloads on its own cloud or wanted me to become a Kubernetes admin. [Hosbah](https://hosbah.com) is what I built instead, on [ToGO](https://github.com/togo-framework/togo).

![Why I built Hosbah](/uploads/sites/3b93f650-28ec-4093-99aa-e7b16c2a2e2f/media/why-i-built-hosbah-en.png)

## What I wanted

Push code, have it build, deploy behind a health check with no downtime, and roll back if the deploy is bad. Databases, backups and domains in the same place. And an MCP server, so an AI agent can check a deploy or read logs. That is the list I wrote in the Product Hunt first comment, and it is still the list.

## What the git history shows

The first commit is dated 2026-09-14, and the project was called Cloudy then. The order of the early commits tells you what I treated as the hard part:

1. **2026-09-14:** tenancy foundation, row-level security, envelope encryption, and the user and admin MCP servers. Before any deploy feature existed, I built the part that keeps one team away from another team's data.
2. **2026-09-14:** servers, agent enrolment, the operation queue and sealed logs; then the agent and its signed-operation protocol; then the Proxmox driver (VM clone and unprivileged LXC).
3. **2026-09-17:** apps, environment variables, domains, deployments and releases; typed signed operations for build, release, health-gated start, Caddy routes, drain and rollback; and the deploy pipeline with deploy hooks.
4. **2026-09-19:** the rename from Cloudy to Hosbah. Some old names (`cloudy.toml`, `cld_` tokens) stayed for compatibility.
5. **2026-10-13 and 2026-10-14:** an Electron desktop app, an Expo phone app, and the preparation for open source.

I put the security model first because the product holds secrets and runs commands on other people's machines. I do not have a story about how I decided that; the commit order is the evidence.

## Why ToGO

Hosbah's `go.mod` imports ToGO and its auth, audit, authz, cache, db-postgres, i18n, queue, realtime and storage plugins. I also build other products on it, which is a reason for me and not a claim for everyone. The [case study](https://to-go.dev/en/blog/hosbah-togo-case-study) covers what helped and what did not, for example that the generated CRUD has no concept of a team, so Hosbah does not mount it for tenant tables.

## What is not finished

- The Proxmox driver is tested against a fake Proxmox API; the test against a real node is opt-in.
- Builds need a public git URL for now, and the GitHub App integration is coded but not configured.
- MinIO backups are not point-in-time.
- The README status line still says development, local only. That line is out of date.

The code is open source under AGPL-3.0.

## FAQ

### Why build on ToGO?
ToGO already provided auth, audit, authz, queue, realtime and storage as plugins, plus code generation. The case study lists what helped and what did not.

### Was Hosbah always called Hosbah?
No. The first commits call it Cloudy. It was renamed on 2026-09-19.

### Is Hosbah open source?
Yes, AGPL-3.0, at [github.com/fadymondy/hosbah](https://github.com/fadymondy/hosbah).

## Next steps

- Read the product article: [Self-hosted PaaS on Proxmox: push to deploy](https://hosbah.com/en/blog/self-hosted-paas-proxmox-push-to-deploy)
- Read the case study: [Hosbah on ToGO](https://to-go.dev/en/blog/hosbah-togo-case-study)
- Source: [GitHub](https://github.com/fadymondy/hosbah)
- Product Hunt: [Hosbah](https://www.producthunt.com/products/hosbah)

---

Source: https://fadymondy.com/en/blog/why-i-built-hosbah
