I Replaced Google Drive with a Home Server That Costs Almost Nothing
Source: Dev.to
I was paying ₹650/month for Google One’s 2TB plan. That’s ₹6,500 a year — for storage I don’t own, on servers I don’t control, where my photos could be used to train AI models. Then I looked at the old HP Pavilion x360 collecting dust on my shelf. 1TB hard drive. 8GB RAM. A perfectly good Intel i5 processor doing absolutely nothing. What if I could turn it into my own cloud? Turns out, you can. And the only fixed cost is a domain name — about ₹70/month. Everything else is free, open-source software. Electricity varies by device and local rates, but a laptop sips power compared to a desktop. This is Part 1 of a 5-part series where I’ll walk you through the entire setup. In this post, I’ll cover the why and the what. The how starts in Part 2. My home server replaces Google Drive, Google Photos, and then some: Personal cloud storage — I browse, upload, and organize files from any browser using Nextcloud, a self-hosted Google Drive alternative Automatic phone photo backup — every photo I take syncs to my server instantly via the Nextcloud mobile app NAS file sharing — my Mac sees the server as an external drive in Finder, just like a USB hard drive (via Samba) Remote access from anywhere — whether I’m home or traveling, I reach everything via a custom domain or an encrypted private VPN Secure sharing with family — I share photo albums and videos via secure links. Recipients don’t need an account, they just open a link in their browser No monthly storage fees. No upload limits. No one scanning my files. Just my data, on my hardware, under my control. Let me be specific about the problem: Cost compounds. Google One 2TB costs ₹6,500/year today. Over 5 years, that’s ₹32,500 — and Google has a history of raising prices. My server’s hardware was already paid for. The domain costs ₹850/year. That’s it. Storage is capped. Hit 2TB on Google and you’re paying ₹16,250/year for 5TB. With my server, I plug in a ₹5,000 external hard drive and I have 5TB. Once. No recurring cost. You don’t own the data. Google can change terms of service, lock your account, or discontinue a product (remember Google+, Inbox, Stadia?). My files live on a hard drive in my house. Privacy. Google Photos uses your images for AI model training. Your documents pass through their servers. With a home server, your data never leaves your network unless you explicitly share it. This is the part that took the most thinking. Here’s the challenge: most Indian ISPs (Airtel, Jio, ACT) use CGNAT, which means your home doesn’t have a public IP address. Nobody on the internet can reach your server directly. I solved this with a two-path architecture: PUBLIC PATH (for sharing with others)
🌐 Internet
↓
☁️ Cloudflare — DNS + SSL + DDoS protection
↓
🖧 Oracle Free VPS — public gateway (hides your home IP)
↓ frp tunnel (encrypted)
🖥 Home Server — Ubuntu 24.04 | 8GB RAM | 1TB HDD
↓
📦 Nextcloud · Samba NAS · Docker
PRIVATE PATH (for personal use)
📱 Your phone / laptop
↓ WireGuard encrypted tunnel
🖥 Home Server directly — no VPS, full speed, fully private
Public path — for when I share a photo album with family. Traffic goes: Internet → Cloudflare → Oracle VPS → encrypted frp tunnel → my home server. This gives me a clean URL (files.yourdomain.com) that anyone can open in a browser. My real home IP is completely hidden behind the VPS. Private path — for my personal use. Tailscale creates a direct WireGuard VPN tunnel between my devices and my server. No middleman. No bandwidth limits. Military-grade encryption. I use this for streaming large videos, syncing files, and SSH access. It’s free for up to 100 devices. Why two paths? The public path exists only for sharing. Tailscale is faster and more secure, but it requires the app to be installed on every device. Family members who just want to see wedding photos shouldn’t need to install a VPN. You don’t need fancy hardware. Any old laptop or mini PC works. A laptop is actually ideal because: Built-in UPS — the battery keeps the server running during power cuts Low power — a laptop uses a fraction of what a desktop draws Small and quiet — no fan noise, tuck it behind your router Here’s what I’m running:
Component What I used Minimum you need
Device HP Pavilion x360 Any x86 laptop or mini PC
CPU Intel i5 Any dual-core processor
RAM 8GB 4GB minimum
Storage 1TB HDD 256GB+ (expand anytime with USB drives)
Network WiFi (200Mbps Airtel) Ethernet preferred for reliability
OS Ubuntu Server 24.04 LTS Any Debian-based Linux distro
A Raspberry Pi 4/5 also works for lighter usage, though I’d recommend a proper laptop or mini PC if you plan to serve media files. This blew my mind when I first set it up. Every single piece of software is open source and free:
Software What it does
Ubuntu Server 24.04 The operating system — lightweight, no GUI
Docker Runs Nextcloud in an isolated container for easy management
Nextcloud The Google Drive replacement — web UI, mobile apps, desktop sync
Samba Makes your server appear as a network drive on Mac/Windows
Tailscale Creates an encrypted private tunnel to your server from anywhere
frp Punches through CGNAT so the internet can reach your home server
Nginx Web server on the VPS that handles incoming traffic
Certbot Free SSL certificates so your custom domain uses HTTPS
UFW + Fail2Ban Firewall and brute-force protection
Not a single subscription. Not a single license fee. The open-source community has built everything you need. Here’s why this project was worth a weekend of setup:
Monthly cost ₹650
Yearly cost ₹6,500
5-year cost ₹32,500+ (assuming no price hikes)
Storage limit 2TB, then pay more
Data ownership Google’s servers, Google’s terms
Domain name ~₹850/year
Electricity Varies (laptops are very low-power)
Oracle VPS Free forever (Always Free tier)
Cloudflare Free
Tailscale Free
All software Free and open source
Storage limit Whatever hard drive you plug in
Data ownership Yours. Physically in your house.
The hardware? Already paid for — it was gathering dust. Even if you bought a used laptop for ₹10,000, it pays for itself in under 2 years compared to Google One. I’ve been running this setup for a while now. Here’s what I’ve observed: Uptime is excellent. The server boots automatically after power cuts (BIOS setting), and all services — Docker, Nextcloud, Tailscale, frp — start on their own. After a power outage, everything is back online in 2-3 minutes without me touching anything. WiFi has been the weak link. I’ve had occasional drops on the WiFi connection. If your server is near the router, use an Ethernet cable. It’s noticeably more reliable. Speed is great on the local network. Transferring files via Samba on my home network is as fast as a USB drive. Remote access via Tailscale is limited by your internet upload speed, but perfectly usable for photos and documents. Maintenance is minimal. I check on it maybe once a week — glance at disk space, make sure services are running. Docker makes updates trivial: pull the latest image and restart. This was the why and the what. Starting next, we get into the how — complete, copy-paste-ready tutorials: 📦 Part 2: Setting up Nextcloud with Docker — Install Docker, write the compose file, configure Nextcloud, set up phone auto-backup, and get desktop sync working. Your Google Drive replacement, running in 30 minutes. 📂 Part 3: Turn your server into a NAS with Samba — Configure Samba shares, connect from Mac and Windows, set up auto-mount on startup, and integrate with Nextcloud so both see the same files. 🌐 Part 4: Access your server from anywhere — Set up Tailscale for private access, get an Oracle free VPS, configure frp tunneling, set up Nginx and SSL, and point your custom domain to your home server. 🔒 Part 5: Security hardening + lessons learned — Configure UFW firewall, set up Fail2Ban, harden SSH, add monitoring, and everything I wish I’d known before starting. Each post is standalone — you can jump to whichever part you need. But if you’re building from scratch, follow them in order. If you don’t want to miss the next part, hit Follow. I’ll also be sharing shorter tips and updates on Twitter/X (@ASkully58162) as I keep building. Have questions about the setup? Drop them in the comments — I’ll answer everything and it might shape what I cover in the next parts. Got an old laptop collecting dust? It’s about to become the most useful device you own. 🖥️