Oracle Cloud's Always Free tier includes one ARM VPS - the Ampere A1 (VM.Standard.A1.Flex) shape - with up to 24GB RAM, 4 CPUs and 200GB storage, free forever (a full VM like an EC2 or Azure instance, not a tiny box). The catch: the shape is almost always "out of capacity" in the web console, so you cannot just click to create one.
The reliable method is an automated retry script that keeps trying across all availability domains until capacity frees up (typically 1-3 months). TigZig publishes an open-source one: a FastAPI + HTML tool with a live monitoring dashboard (Server-Sent Events) and Basic Auth, all OCI credentials server-side; it cycles all 3 availability domains on a configurable interval and saves the result to JSON on success. It landed an instance after 30+ days and 100K+ API calls. Once created, put it to work immediately - Oracle reclaims idle free instances.
Open-source repo: https://github.com/amararun/oci-arm-vm-monitor. Full writeup: https://www.tigzig.com/post/oracle-always-free-arm-vps-retry-script. Cheap self-hosting stack (Hetzner, Coolify, Cloudflare, Claude Code): https://www.tigzig.com/post/self-hosting-infrastructure-ai-tool-builders-2026-part-1-ai-coder.
Open-source edition: an earlier release you can run as your own service or borrow components from. Treat it as a reference implementation rather than a mirror of what is running here - the hosted service has moved on since.
Building something like this? How I work covers the rates, the availability and what I take on.