Run it on hardware you already own
Enrol a spare desktop, a home server, or a VPS you are already paying for, and deploy live services, dev boxes and databases onto it from the same dashboard. We supply the control plane, the public URL and the HTTPS; you supply the machine, so there is no compute charge.
€3/month per environment, your first one free. No size price, because the CPU and the memory are yours.
No open port, no fixed IP, HTTPS kept
The awkward parts of self-hosting are the network ones. They are ours, not yours.
The machine dials out
The agent opens one outbound connection to us and keeps it. Nothing listens for us, so there is no port to forward, no firewall rule to write, and no fixed IP to buy. It works from behind NAT and from a home router you do not control.
Traffic still arrives at our edge
Your visitors hit HostStack, not your house. Requests come back down that same connection, so your machine’s address is never published and never in DNS. Custom domains keep their free Let’s Encrypt certificate, renewed by us as usual.
One credential, minted once
Enrolling names the machine and hands you a command carrying a single-use token, good for 15 minutes. It trades that for a credential the machine keeps, and we mark the machine unschedulable for everyone else — nothing lands on it unless your team pins it there.
Enrolling is one command
Run it on the machine itself, as root. It checks the machine over before changing anything and reports every problem at once — then installs Docker if there is none, starts one container, and prints back exactly what it did.
# Machines → Add machine mints this with a single-use token
curl -fsSL https://hoststack.dev/api/agents/install.sh | sudo HOSTSTACK_PAIRING_TOKEN=… bashLinux on x86-64, WSL2 included; Windows through Docker Desktop in Linux-container mode. The agent runs privileged and mounts the Docker socket, which is root-equivalent on that machine — enrol hardware you are willing to grant that on. Remove it with two commands and nothing of ours is left behind.
Services, dev boxes and databases
A machine you enrol is a placement target like any other — the difference is that it is yours, and only your team can put anything on it.
Live services
Web services, private services, workers and cron jobs. Same git-push deploys, same blue/green rollout, same logs, metrics and rollbacks. Pick the machine under “Where it runs” when you create the service.
Pinned at creation — the image and its containers live on that machine’s disk.
Dev boxes
A cloud terminal with Claude Code, Codex and OpenCode preinstalled, running on the desktop under your desk. The dev URL still works from a phone, because the traffic takes the same path as everything else.
For most people who own a spare machine, this is the one to start with.
Managed databases
Postgres, MySQL, MariaDB, MongoDB and Redis, provisioned and managed by us on your disk. Backups still run and still land off-site in our object storage, on the same schedule as everything else.
Reachable only from that same machine — so the app that queries it runs there too. No HA cluster, and no external access.
Mixing is normal: keep the always-on parts on our hardware and put the rest on yours. Dev boxes have their own page.
You are taking on the availability
Everything else stays ours. This is the part that is yours, and it is the whole reason the compute is free.
What you get
- No compute charge at all — no size price, and a database there costs nothing.
- The same dashboard, deploys, logs, metrics, terminal and rollbacks. Nothing about the workflow changes.
- Your custom domains and their HTTPS work exactly as they do on our hardware.
- Your machine is unschedulable for the rest of the fleet, so no other tenant’s workload is ever placed on it.
- Hardware far beyond what the price of a comparable managed plan buys — your desktop is probably bigger than our large tier.
What you accept
- It runs only while the machine does. Switch it off and anything serving from it is offline until it comes back.
- Nothing pages you when the machine drops off — that is the expected state of a desktop, so we do not treat it as an incident.
- Data lives on one disk, not replicated block storage. Database backups still go off-site with us, and volume backups default to on for exactly this reason.
- The agent is privileged and mounts the Docker socket, which is root-equivalent on that machine.
- A database there is reachable only from that same machine, cannot run as an HA cluster, and cannot be published for external access.
What it costs
€3/month per environment, covering the control plane, the dashboard, the public URL and the edge that carries your traffic. Your first one is free, and dev boxes and live services both count towards it. There is no size price and no charge for a database on your machine. Bandwidth we carry is metered against your team allowance exactly as it is everywhere else — see pricing.