[{"content":"What can you actually run on a $0/month Always Free cloud server?\nIn 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 \u0026amp; AI MCP API, and a Hugo static blog.\n🏗️ Architecture \u0026amp; Network Blueprint graph TD Internet[\u0026#34;🌐 Internet / Home Network / Mobile\u0026#34;] --\u0026gt; Caddy[\u0026#34;🔒 Caddy (Auto Let\u0026#39;s Encrypt SSL)\u0026#34;] subgraph OCI Cloud Instance (amd10 - Tokyo) Caddy --\u0026gt;|/| VietCal[\u0026#34;📅 VietCalendar REST \u0026amp; MCP (Rust :8080)\u0026#34;] Caddy --\u0026gt;|files.*| Oauth[\u0026#34;🔑 OAuth2-Proxy (Google SSO :4180)\u0026#34;] Oauth --\u0026gt; FileBrowser[\u0026#34;📁 FileBrowser Cloud Drive (:8082)\u0026#34;] Caddy --\u0026gt;|music.*| Navidrome[\u0026#34;🎵 Navidrome Lossless FLAC (:4533)\u0026#34;] Caddy --\u0026gt;|blog.*| Hugo[\u0026#34;📝 Hugo Static Site (:443)\u0026#34;] Caddy --\u0026gt;|adguard.*| AdGuardWeb[\u0026#34;🛡️ AdGuard Dashboard (:3000)\u0026#34;] Router[\u0026#34;🏠 Home Router (Fiber IPv4 \u0026amp; IPv6)\u0026#34;] --\u0026gt; AdGuardDNS[\u0026#34;🛡️ AdGuard DNS Server (:53 \u0026amp; :853 DoT)\u0026#34;] 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\u0026rsquo;s memory!).\nBy disabling crashkernel=no in GRUB:\nReclaimed physical RAM from 512 MB → 946 MB. Added a 2.5 GB swap file with zram/swappiness tuning. Result: Plenty of headroom to run 6 concurrent services simultaneously. 🛡️ 2. Whole-Home Dual-Stack Ad-Blocking \u0026amp; Private DNS We provisioned a dual-stack network with reserved static addresses:\nPublic IPv4: 152.70.xxx.xxx (Always Free Reserved Static IP) Public IPv6: 2603:c021:8022:100::xxxx (Always Free /56 Prefix) Android / iOS Private DNS (DoT): \u0026lt;your-domain\u0026gt;.duckdns.org on Port 853 with automatic Let\u0026rsquo;s Encrypt TLS. Router DNS: Configured on our home fiber router, blocking ads and tracking telemetry across Smart TVs, iPhones, laptops, and IoT devices. 📅 3. VietCalendar: High-Performance Rust \u0026amp; AI MCP Server Running on native Rust (Axum framework):\nComputes accurate Vietnamese Solar-to-Lunar conversions and public holiday schedules. Exposes an interactive Swagger OpenAPI UI at /swagger-ui/. Exposes a Universal Model Context Protocol (MCP) endpoint at /mcp/sse for AI assistants like Antigravity and Claude. RAM footprint: An astonishing \u0026lt; 1 MB RAM! 🎵 4. Navidrome: Bit-Perfect Lossless FLAC Streaming Deployed Navidrome in Go to stream Hi-Res 24-bit / 96kHz FLAC and ALAC audio. Full Subsonic API compatibility with audiophile mobile apps: Android: Symfonium (bit-perfect USB DAC output). iOS: Amperfy and play:Sub. RAM footprint: ~48 MB RAM. 📁 5. FileBrowser with Google Single Sign-On (SSO) Self-hosted cloud drive on the 38 GB free NVMe disk. Secured by OAuth2-Proxy: Whitelisted strictly to personal Google accounts. No passwords required — 1 click \u0026ldquo;Sign In with Google\u0026rdquo; logs you in directly. Seamless Synergy: Uploading audio files into the Music/ folder in FileBrowser automatically syncs them into Navidrome for streaming! Blog Synergy: Markdown posts created in the Blog/ folder auto-publish to this website! 📝 6. Hugo + PaperMod: Sub-Millisecond Static Tech Blog Static site generator built with Hugo and the PaperMod theme. Served directly by Caddy with gzip/zstd compression. 0 MB RAM runtime overhead and instant sub-second auto-rebuilding whenever a Markdown post is saved. 📊 Live Server Resource Breakdown (amd10) All 6 services running concurrently on 1 single core and 1 GB RAM:\nService Port Memory Usage Status 📁 FileBrowser 8082 18.1 MB 🟢 Active 🔑 OAuth2-Proxy 4180 22.8 MB 🟢 Active 🎵 Navidrome 4533 53.0 MB 🟢 Active 🛡️ AdGuard Home 53 / 853 104.7 MB 🟢 Active 📅 VietCalendar 8080 0.8 MB 🟢 Active 📝 Hugo Auto-Rebuilder systemd 26.8 MB 🟢 Active 🔒 Caddy Web Server 80 / 443 ~25.0 MB 🟢 Active TOTAL FREE MEMORY — ~320 MB Free Physical RAM + 2.2 GB Swap 🟢 Healthy 💻 Infrastructure as Code \u0026amp; Open Source The complete automated provisioning runbook, security lists, and Terraform configurations are open-sourced on GitHub:\n👉 https://github.com/vinhthang/oci\nWritten on and served from amd10 in Tokyo.\n","permalink":"https://blog.thang-gcloud.duckdns.org/posts/building-my-always-free-cloud/","summary":"\u003cp\u003eWhat can you actually run on a \u003cstrong\u003e$0/month Always Free cloud server\u003c/strong\u003e?\u003c/p\u003e\n\u003cp\u003eIn this post, I document the end-to-end journey of turning an Oracle Cloud \u003cstrong\u003e1 GB AMD Micro instance (\u003ccode\u003eamd10\u003c/code\u003e)\u003c/strong\u003e in Tokyo into a multi-service personal cloud hub — complete with \u003cstrong\u003eDual-Stack DNS ad-blocking\u003c/strong\u003e, \u003cstrong\u003eGoogle Single Sign-On (SSO)\u003c/strong\u003e, \u003cstrong\u003elossless Hi-Res music streaming\u003c/strong\u003e, a \u003cstrong\u003eRust-powered REST \u0026amp; AI MCP API\u003c/strong\u003e, and a \u003cstrong\u003eHugo static blog\u003c/strong\u003e.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"-architecture--network-blueprint\"\u003e🏗️ Architecture \u0026amp; Network Blueprint\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode class=\"language-mermaid\" data-lang=\"mermaid\"\u003egraph TD\n    Internet[\u0026#34;🌐 Internet / Home Network / Mobile\u0026#34;] --\u0026gt; Caddy[\u0026#34;🔒 Caddy (Auto Let\u0026#39;s Encrypt SSL)\u0026#34;]\n    \n    subgraph OCI Cloud Instance (amd10 - Tokyo)\n        Caddy --\u0026gt;|/| VietCal[\u0026#34;📅 VietCalendar REST \u0026amp; MCP (Rust :8080)\u0026#34;]\n        Caddy --\u0026gt;|files.*| Oauth[\u0026#34;🔑 OAuth2-Proxy (Google SSO :4180)\u0026#34;]\n        Oauth --\u0026gt; FileBrowser[\u0026#34;📁 FileBrowser Cloud Drive (:8082)\u0026#34;]\n        Caddy --\u0026gt;|music.*| Navidrome[\u0026#34;🎵 Navidrome Lossless FLAC (:4533)\u0026#34;]\n        Caddy --\u0026gt;|blog.*| Hugo[\u0026#34;📝 Hugo Static Site (:443)\u0026#34;]\n        Caddy --\u0026gt;|adguard.*| AdGuardWeb[\u0026#34;🛡️ AdGuard Dashboard (:3000)\u0026#34;]\n        \n        Router[\u0026#34;🏠 Home Router (Fiber IPv4 \u0026amp; IPv6)\u0026#34;] --\u0026gt; AdGuardDNS[\u0026#34;🛡️ AdGuard DNS Server (:53 \u0026amp; :853 DoT)\u0026#34;]\n    end\n\u003c/code\u003e\u003c/pre\u003e\u003chr\u003e\n\u003ch2 id=\"-1-reclaiming-hardware-ram-the-crashkernel-discovery\"\u003e⚡ 1. Reclaiming Hardware RAM (The \u003ccode\u003ecrashkernel\u003c/code\u003e Discovery)\u003c/h2\u003e\n\u003cp\u003eOn a standard 1 GB VM, Linux kdump can silently reserve up to \u003cstrong\u003e448 MB RAM\u003c/strong\u003e (nearly half the server\u0026rsquo;s memory!).\u003c/p\u003e","title":"🛠️ Building a Production-Grade Home Cloud on Oracle's $0 Always Free Tier"},{"content":"Welcome to my personal tech blog!\nThis blog is built using Hugo with the PaperMod theme, served directly by Caddy with automatic Let\u0026rsquo;s Encrypt SSL.\n🌐 What is running on this server: AdGuard Home: Dual-stack network-wide ad \u0026amp; malware blocking (IPv4, IPv6, DoT). VietCalendar: High-performance Rust Lunar Calendar REST API \u0026amp; MCP Server. Navidrome: Bit-perfect lossless FLAC music streaming. FileBrowser: Private cloud storage with Google SSO. Hugo Blog: Ultra-fast static site serving at sub-millisecond speeds with 0 MB RAM overhead! Built with ❤️ on Oracle Linux 10 (amd10 in Tokyo).\n","permalink":"https://blog.thang-gcloud.duckdns.org/posts/welcome/","summary":"\u003cp\u003eWelcome to my personal tech blog!\u003c/p\u003e\n\u003cp\u003eThis blog is built using \u003cstrong\u003e\u003ca href=\"https://gohugo.io/\"\u003eHugo\u003c/a\u003e\u003c/strong\u003e with the \u003cstrong\u003e\u003ca href=\"https://github.com/adityatelange/hugo-PaperMod\"\u003ePaperMod\u003c/a\u003e\u003c/strong\u003e theme, served directly by \u003cstrong\u003eCaddy\u003c/strong\u003e with automatic Let\u0026rsquo;s Encrypt SSL.\u003c/p\u003e\n\u003ch3 id=\"-what-is-running-on-this-server\"\u003e🌐 What is running on this server:\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eAdGuard Home\u003c/strong\u003e: Dual-stack network-wide ad \u0026amp; malware blocking (IPv4, IPv6, DoT).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVietCalendar\u003c/strong\u003e: High-performance Rust Lunar Calendar REST API \u0026amp; MCP Server.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNavidrome\u003c/strong\u003e: Bit-perfect lossless FLAC music streaming.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFileBrowser\u003c/strong\u003e: Private cloud storage with Google SSO.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHugo Blog\u003c/strong\u003e: Ultra-fast static site serving at sub-millisecond speeds with \u003cstrong\u003e0 MB RAM overhead\u003c/strong\u003e!\u003c/li\u003e\n\u003c/ol\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cem\u003eBuilt with ❤️ on Oracle Linux 10 (\u003ccode\u003eamd10\u003c/code\u003e in Tokyo).\u003c/em\u003e\u003c/p\u003e","title":"🚀 Welcome to my Self-Hosted Cloud on Oracle Always Free"}]