Published on: Feb 9, 2025
I want to get away from my reliance on Google services. Here's my plan.
I’ve relied heavily on Google services for years—using a Pixel phone, Google Drive, Google Photos, and Google Maps. These services work well, are reliable, and provide great value for the cost. I also trust that my data is safe in the sense that I won’t lose it.
However, I’ve started feeling like nothing I use is truly my own anymore. I want to regain control over my digital life without sacrificing the convenience of Google’s ecosystem. The best way to do this? Self-hosting my own alternatives.
To manage my own services, I’ll be running them on mini PCs. My setup will consist of:
The main server needs to be powerful enough to run multiple services efficiently, so I’ll be using virtual machines (VMs) for easy management. This means I’ll need more CPU cores and RAM than I would if I were running everything in containers on bare metal. An AMD Ryzen-based system is ideal due to its higher core count, and I’m aiming for 32GB of RAM to ensure I don’t have to worry about resource limitations.
The backup server, on the other hand, doesn’t need much processing power—just enough storage. Since Intel-based mini PCs are more affordable, I’ll likely go for an N95, N100, or N150 CPU, depending on what deals I can find.
Right now, I’m paying for 200GB of Google Drive storage and using about 160GB of it. I’ve never been particularly conscious of storage space, so I’ll base my new system on 1TB of storage, which should be plenty for years to come. To allow for additional backups, the backup server will have a 2TB drive.
The main goal of this setup is data reliability—I want the lowest possible chance of losing my files. Backups will be a critical part of my design, and I’ll document everything thoroughly to make recovery easy in case of hardware failure.
To achieve this:
Is this the most efficient use of system resources? Not at all. But it’s easy to maintain, which is my priority.
I’ll be splitting my setup into a few key VMs:
To keep the setup consistent, repeatable, and easy to restore, I’ll define as much as possible using infrastructure as code. While professionally I wouldn’t consider this a substitute for proper documentation, for personal use, it will be more than enough.
I’ll be tackling this project in phases and documenting each step in separate blog posts:
Stay tuned for updates as I work through each phase!