Comment by sahil-shubham

1 day ago

The point about VMs being the wrong shape because they’re tied to CPU/memory resonates hard. The abstraction forces you to pay for time, not work.

I ended up buying a cheap auctioned Hetzner server and using my self-hostable Firecracker orchestrator on top of it (https://github.com/sahil-shubham/bhatti, https://bhatti.sh) specifically because I wanted the thing he’s describing — buy some hardware, carve it into as many VMs as I want, and not think about provisioning or their lifecycle. Idle VMs snapshot to disk and free all RAM automatically. The hardware is mine, the VMs are disposable, and idle costs nothing.

The thing that, although obvious, surprised me most is that once you have memory-state snapshots, everything becomes resumable. I make a browser sandbox, get Chromium to a logged-in state, snapshot it, and resume copies of that session on demand. My agents work inside sandboxes, I run docker compose in them for preview environments, and when nothing’s active the server is basically idle. One $100/month box does all of it.

Vms hosted in Hetzner auction instances is exactly how shellbox works. I published more details in here: https://shellbox.dev/blog/race-to-the-bottom.html

  • Love the website and how you have implemented payments! Also giving each box an email is a nice touch.

    Thank you for sharing!

  • This is pretty cool, I turned a NUC at home into this, and would probably rather use you guys instead. However, is there a way for me to keep a session open without being connected? Sometimes I want the session to be there so I can connect/disconnect to check up on it, so I want "just disconnecting for a bit" to be different from "I don't care about this any more, destroy it".

    At home, I've done that with a Zellij session (everything is tied to the session, and quitting Zellij completely means "I'm done with this". Merely disconnecting keeps it running).

    • Yes, keep a box running regardless of connections using `ssh shellbox.dev keepalive mybox`

This looks interesting at first blush.

My only feedback so far is that a lot of the documentation, though thorough and useful, looks clearly AI-written. That's not bad in and of itself, but it could be more concise. I especially love the "design decisions" section as I learned something new already.

Have you posted it on "Show HN" already? If not, you should.

  • Thank you for the feedback! I appreciate it, looking forward to you trying it out and logging any issues.

    I am aware of the documentation, it’s what I have been focusing on before I can post on HN. I want to make it a delight to read for other people!

    As for the design decisions, I have tried keeping all the plans I made in the repo too. I wouldn’t have been able to make bhatti in a month without LLMs.

> My agents work inside sandboxes

Out of interest, what sandboxing solution do you use?

  • Not sure what you mean. I use the above linked personal project, bhatti, which internally uses Firecracker microVMs.

    • Ah, for some reason I didn't make the connection between your VM setup and your agent sandbox setup and thought those were two separate things. Sorry about that!

      1 reply →