🛠️ Building a Production-Grade Home Cloud on Oracle's $0 Always Free Tier
What can you actually run on a $0/month Always Free cloud server? In this post, I document the end-to-end journey of turning an Oracle Cloud 1 GB AMD Micro instance (amd10) in Tokyo into a multi-service personal cloud hub — complete with Dual-Stack DNS ad-blocking, Google Single Sign-On (SSO), lossless Hi-Res music streaming, a Rust-powered REST & AI MCP API, and a Hugo static blog. 🏗️ Architecture & Network Blueprint graph TD Internet["🌐 Internet / Home Network / Mobile"] --> Caddy["🔒 Caddy (Auto Let's Encrypt SSL)"] subgraph OCI Cloud Instance (amd10 - Tokyo) Caddy -->|/| VietCal["📅 VietCalendar REST & MCP (Rust :8080)"] Caddy -->|files.*| Oauth["🔑 OAuth2-Proxy (Google SSO :4180)"] Oauth --> FileBrowser["📁 FileBrowser Cloud Drive (:8082)"] Caddy -->|music.*| Navidrome["🎵 Navidrome Lossless FLAC (:4533)"] Caddy -->|blog.*| Hugo["📝 Hugo Static Site (:443)"] Caddy -->|adguard.*| AdGuardWeb["🛡️ AdGuard Dashboard (:3000)"] Router["🏠 Home Router (Fiber IPv4 & IPv6)"] --> AdGuardDNS["🛡️ AdGuard DNS Server (:53 & :853 DoT)"] end ⚡ 1. Reclaiming Hardware RAM (The crashkernel Discovery) On a standard 1 GB VM, Linux kdump can silently reserve up to 448 MB RAM (nearly half the server’s memory!). ...