Oracle Always Free Tier VPS¶
TL;DR / when to use this: Everyone hates on Oracle, but its always-free tier is the best free VPS deal going — up to 4 OCPU / 24 GB of Ampere ARM compute. I use it to run a Pangolin reverse-proxy tunnel outside the home network, exposing home-lab apps without exposing my public IP or opening ports on the house router. It's a DIY Cloudflare Tunnel without the CDN/DDoS benefits.
Account + network¶
- Create an account (a card is required even for free tier).
- Create a VCN first — default IPv4 CIDR (
10.0.0.0/16) is fine; name the DNS resolver. - Create a public subnet (
10.0.0.0/24) inside it.
Compute instance¶
Always-free shapes:
- VM.Standard.E2.1.Micro (AMD): up to two instances, only in one availability domain.
- VM.Standard.A1.Flex (Arm): first 3,000 OCPU-hours and 18,000 GB-hours per month free — for always-free tenancies that's 4 OCPU + 24 GB.
Minimum boot volume is 47 GB per instance; the account includes 200 GB of always-free block storage for boot volumes. Combinations are flexible (e.g. two E2.1.Micro + two Ampere instances with 2 OCPU each, or four Ampere instances with 1 OCPU each).
Scary-looking estimates
Using all 4 OCPUs on one Ampere instance triggers a warning — you're just at the max. The "estimated Boot Volume cost $2/month" on a free-tier instance can be safely ignored.
If SSH fails, check the instance's Networking tab for the quick action Connect public subnet to internet, take it, and retry.
Opening ports¶
In the subnet's Default Security List → Security Rules → Add Ingress Rules:
- TCP 80 and 443, source
0.0.0.0/0 - For Pangolin, add UDP 51820 (WireGuard)
Start with 0.0.0.0/0; later tighten the source to only your homelab — that's all it needs.
See also¶
- Pangolin — the tunnel this VPS runs
- Serverless databases — the other cheap-hosting angle
- Blog post: Oracle always free VPS