☁️ Personal Cloud-Native AI Agent Workspace A developer published an experimental guide for running long-lived AI agent loops on a cost-optimized Hetzner Cloud ARM VM (CAX33), using zellij to keep the OpenCode server and ngrok tunnel alive and driving the agents from a browser on laptop or phone via a Zero-Trust tunnel. The setup keeps only TCP port 22 open inbound, reaches the web UI outbound through ngrok with Google OAuth, and uses a snapshot-and-destroy workflow to avoid idle costs. An experimental guide to transitioning from a tethered SSH/terminal workflow to a resilient, mobile-friendly environment for running AI agents autonomously—without relying on managed platforms or incurring high idle costs. This design lets you run long-lived agent loops in the cloud and drive them primarily from a web browser on your laptop or phone via a Zero-Trust tunnel , receive async push notifications when the agents need a human, and keep the whole stack alive across devices — with plain SSH reserved only for bootstrapping and administration. - Compute: Hetzner Cloud cost-optimized ARM VM — the flavor I use is CAX33 see cost-optimized https://www.hetzner.com/cloud/cost-optimized/ . Flavors change over time; if you don't see CAX33, pick the current cost-optimized ARM flavor in your size/price range. - Orchestration: zellij to keep the long-running daemons the OpenCode server and the ngrok tunnel alive after you disconnect. - Cost Management Snapshot & Destroy : When you are done developing for the week, do not leave the VM running. Take a snapshot in the Hetzner console and delete the server. Snapshots cost a small per-GB monthly fee check the current rate on Hetzner's pricing/add-on page . Spinning up a new VM from the snapshot takes about 10 seconds and perfectly restores your environment. 1. Create a Hetzner Cloud project . 2. Add your SSH public key ~/.ssh/id ed25519.pub under Security → SSH Keys in the project. 3. Create a server : image Ubuntu 24.04 , cost-optimized ARM flavor e.g. CAX33 , region nearest you, and select your SSH key. 4. First login as root: ssh root@