The 30-Day Google & Apple Exit Strategy
A progressive, non-expert-friendly guide for reclaiming your photos, email, documents, calendar, and contacts — one week at a time, with zero data loss and no panic.
A progressive, non-expert-friendly guide for reclaiming your photos, email, documents, calendar, and contacts — one week at a time, with zero data loss and no panic.
Google and Apple don't charge you money for most of their services. What they collect is more valuable: your location history, search patterns, facial recognition data, purchase habits, and the contents of every email you've written since you opened the account. In 2026, the privacy cost of "free" cloud services is no longer a secret — but the technical barrier to leaving still feels insurmountable to most people. It isn't. You just need a plan.
This guide assumes you're starting from zero — no server, no self-hosting experience, maybe no Linux comfort. That's fine. We'll layer the complexity over four weeks, and you can stop at any point when you've reached your comfort level.
A Raspberry Pi 5 (8GB) with a 1TB external SSD will handle everything in this guide for a family of four. Total cost: roughly $160. If you already have an old desktop or laptop you're not using, that works too — anything with 4GB+ RAM and a 64-bit processor is enough for Week 1-3.
Most people who try to "leave the cloud" fail because they attempt it all at once. They buy a server, install five services in a weekend, something breaks, and they retreat to Google Photos because at least it works. This guide takes the opposite approach: one service per week, fully stabilized, with fallbacks intact. Each week builds on the previous one. If you get stuck on Week 3, you still have Weeks 1 and 2 running — you haven't lost anything.
If you hit Week 2 and feel overwhelmed: that's the normal response. Self-hosting is a skill you build, not a switch you flip. The people who succeed aren't smarter — they're just more patient with themselves when a Docker container won't start. If you need to pause for a week, pause. Your data isn't going anywhere. The goal isn't speed; it's sustainability.
We'll also follow a principle I call "parallel running": for each service you migrate, you keep the old cloud version active for at least a week after the self-hosted replacement is working. This gives you a safety net and time to discover what you might have missed.
We start with files because they're the easiest to migrate and the hardest to lose. A file is a file. There's no proprietary format, no vendor lock-in, no complex database to export. If this is all you ever do from this guide, you've already reclaimed the part of your digital life that matters most: your documents.
1. Flash the OS. Download Raspberry Pi Imager. Choose "Raspberry Pi OS Lite (64-bit)" if you're comfortable with a terminal, or the full desktop version if you want a GUI. Write it to a microSD card (32GB+).
2. First boot and security. Plug in the Pi, connect it to your router via Ethernet, and power it on. Find its IP address from your router's admin page (usually at 192.168.1.1 or 192.168.0.1). SSH in:
3. Install Nextcloud via Snap. The Snap package bundles everything (Apache, PHP, MySQL) into a single install. It's not the most performant option, but it's the simplest — and for Week 1, simplicity wins.
4. Connect your phone and computer. Open a browser on your laptop and go to http://192.168.1.X. You'll see the Nextcloud login screen. Install the Nextcloud desktop client from nextcloud.com/install and point it at that IP address. Install the Nextcloud mobile app, same thing.
5. Migrate your files. On your computer, download your Google Drive contents via Google Takeout (select Drive only — we'll get to the rest later). For iCloud, use the Files app on your Mac or the iCloud for Windows utility. Copy everything into your Nextcloud sync folder. It'll upload to your Pi. This might take a few hours depending on your volume.
Keep your files on Google Drive / iCloud for now. We're running in parallel. You'll know Nextcloud is stable when you've used it as your daily driver for a full week without issues.
Photos are emotionally harder to migrate than files. They're not just data — they're memories. The fear of losing them is real and valid. That's why we tackle photos second, after you've built some confidence with Week 1.
We'll use Immich, an open-source Google Photos alternative that has matured dramatically. As of 2026, Immich handles facial recognition, geolocation mapping, shared albums, automatic phone backup, and even machine-learning-powered search ("show me photos of my dog at the beach"). It's genuinely competitive with Google Photos.
1. Install Docker. Immich runs in Docker containers, which sounds intimidating but is actually easier than manual installation — everything is pre-configured.
2. Install Immich. Follow the official Immich Docker Compose guide. Download their docker-compose.yml and .env file, edit the .env to point your photo storage to your external SSD (/mnt/ssd/immich), and run docker compose up -d. Immich will be available at http://192.168.1.X:2283.
3. Export your photos. This is the hardest technical step, and it's entirely Google's/Apple's fault — they make exporting harder than it should be.
| Source | Method | What you'll get |
|---|---|---|
| Google Photos | Google Takeout → Deselect all → Select Photos only | Zip files (2GB-50GB each) containing your photos + JSON metadata files. Immich can parse the JSON to recover dates and album info. |
| iCloud Photos | privacy.apple.com → Request a copy of your data → iCloud Photos | Similar zip export. Photos in original quality with EXIF data intact. |
Google Takeout splits large exports into multiple files. If you have more than 50GB of photos, expect to download 5-10 separate zip files. Start the export before bed — it can take hours for Google to prepare.
Google Takeout sometimes strips date metadata from photos and puts it in a companion JSON file instead. Immich's bulk import tool can re-apply this metadata. Check the Immich docs for "Google Takeout import" — there's a specific workflow for this.
4. Import into Immich. Use Immich's CLI bulk upload tool or simply drag your extracted folders into the Immich web UI. For large libraries (10,000+ photos), use the CLI:
5. Install the Immich mobile app. Enable automatic background upload. Set it to upload only on Wi-Fi if you have a mobile data cap. Within a few hours, your phone photos will start appearing in your self-hosted library.
Email is the hardest service to self-host. Running your own mail server means dealing with spam filtering, IP reputation, deliverability, and the very real possibility that your emails will land in recipients' spam folders. For most people, I recommend a middle path: a privacy-respecting paid provider with your own domain. This gives you portability without the mail server headache. If you later decide to self-host, your domain comes with you.
smithfamily.net)1. Buy a domain. Use Porkbun, Namecheap, or Hover. Avoid Google Domains (it was sold to Squarespace) and GoDaddy (predatory upsells). A .net or .com domain costs about $12/year. This domain is yours — no company can take it away if you keep paying the registration fee.
2. Choose an email provider. Here's how the privacy-focused options compare in 2026:
| Provider | Cost | Best for | Notes |
|---|---|---|---|
| Fastmail | $5/month | Easiest setup, best web UI | 30-day free trial, one-click domain setup, masked email addresses built in |
| Proton Mail | $4/month | Maximum privacy (zero-access encryption) | Swiss jurisdiction, encrypted at rest, but web UI is less polished |
| Mailbox.org | $3/month | Budget + privacy balance | German hosting, strong data protection, includes cloud storage and Office |
All three support custom domains. Pick one and follow their setup wizard. It'll walk you through changing your domain's DNS records (MX, SPF, DKIM) — copy-paste work that takes about 15 minutes.
3. Forward your old email. In Gmail settings: See all settings → Forwarding and POP/IMAP → Add a forwarding address. This ensures anything sent to your old address still reaches you during the transition. Tell correspondents your new address as you interact with them — don't send a mass "I changed my email" blast (those never reach everyone).
4. Migrate calendar and contacts to Nextcloud. Nextcloud already has CalDAV (calendar) and CardDAV (contacts) servers built in. You just need to connect them to your devices.
Export your Google Calendar (Settings → Import & Export → Export) and import it into Nextcloud Calendar. Repeat for contacts (Google Contacts → Export → vCard format).
5. Audit your accounts. Go through your password manager (you use one, right?) and update the email address on critical accounts: banking, insurance, healthcare, government services, and anything else where losing access would be catastrophic. For everything else, update as you log in naturally over the coming months.
Email migration takes longer than a week if you've used the same address for years. That's normal. The forwarding rule ensures you don't miss anything while you gradually update accounts. I ran both addresses for six months before shutting off the old one. No rush.
At this point, your files, photos, email, calendar, and contacts are all running independently of Google and Apple. Week 4 is about making everything accessible from outside your home, setting up backups (you've been running without proper backups for three weeks — let's fix that), and finally closing your old accounts.
1. Install Tailscale for remote access. Tailscale creates a private mesh network between your devices using WireGuard. It's free for up to 100 devices, takes 5 minutes to set up, and requires zero router configuration. This is the single biggest quality-of-life upgrade you can make.
Install Tailscale on every device you own — phone, laptop, tablet, even your partner's phone. Each device gets a permanent Tailscale IP. Your services are accessible from anywhere with a cellular or Wi-Fi connection, fully encrypted, without exposing a single port to the public internet.
Port forwarding exposes your services to every scanner on the internet. Even with strong passwords, a zero-day vulnerability in Nextcloud or Immich could let an attacker in. Tailscale keeps your services invisible to the public internet — they simply don't exist to anyone not on your private mesh. It's the difference between a house with a locked door and a house that's invisible.
2. Set up automated backups. Your Pi's SD card will fail eventually. They all do. An external SSD is more reliable but not invincible. You need backups of: (a) your Nextcloud files, (b) your Immich photos and database, and (c) your configuration.
For off-site backup (protects against fire/theft/flood), see Practical Cybersecurity for Self-Hosters — the same principles apply. A second Pi at a relative's house running a nightly rsync over Tailscale is the budget option. Backblaze B2 ($6/TB/month) is the cloud option if you want a managed off-site backup.
3. Delete your cloud data. Once you've verified everything is working for at least a full week (preferably two), it's time to clean up:
Don't delete the Google/Apple accounts themselves until you're certain. Many people keep them alive for years as legacy logins. The goal isn't account deletion — it's data sovereignty. Your data is off their servers. That's the win.
Verify your backups. Then verify them again. Go to your backup drive, open a few random photos, check that PDFs open correctly, make sure nothing is corrupted. The moment you delete from Google's servers, there is no undo.
If you followed the full plan, you've achieved data sovereignty for the four services that matter most to daily digital life. From here, the self-hosting world is wide open:
Each of these has its own guide in the TechLounge library. Browse the Self-Hosting guides for next steps.
Tailscale + a backup Pi at a friend's house. Or, accept that this is the trade-off. Cloud services have teams of engineers keeping them running — but you pay with your privacy. A self-hosted setup has a single point of failure — but you own your data. Most people find the trade-off worth it once they've actually tried living with a self-hosted setup. The failure rate on a properly cooled Pi with a quality SSD is very low — I've had Pis running continuously for 3+ years without a single hardware issue.
The commands in this guide are copy-paste. You don't need to understand them to run them. Will you need to learn something eventually? Yes — when something breaks, you'll need to troubleshoot. But that's true of every technology you use. The difference is that when your self-hosted setup breaks, you can fix it. When Google Photos decides to change its pricing or shut down a feature, you can't do anything except comply or leave. You've already left.
See our companion guide: The True Cost of Free, where we break down the exact numbers. Short answer: a $160 Pi + $12/year domain + $5/month email hosting pays for itself within 8-12 months compared to what a family typically spends on cloud subscriptions, cloud storage upgrades, and the privacy cost you can't put a price on.
See our companion guide: Digital Sovereignty for Families, which covers exactly this — how to build a private family cloud that non-technical relatives can use without needing to understand what a Docker container is. The short version: if they can use Google Photos, they can use Immich. If they can use Dropbox, they can use Nextcloud. You handle the backend. They see the same apps and interfaces they already know.
Digital Sovereignty for Families — Set up a private family cloud that non-technical relatives can use safely.
The True Cost of Free — Data-driven comparison of cloud subscription costs vs. self-hosted hardware and power.
Offline-First AI Stack — Add local AI (Ollama + Open WebUI) to your self-hosted infrastructure.