For a few years now, I’ve been gotten complacent and lazy due to Google’s services. Free space on someone else’s server was too tempting, regardless of privacy concerns. It’s time I do something about it by creating my personal cloud for my household. This is a big enough undertaking that I might as well write down my thoughts in this blog.
- Automatic syncing of photos from our mobile devices
- Apps will need to be available for both iOS and Android
- Easily securely share files with third parties
- Works well with syncing large files
- Zero external dependencies
- Back up and restore procedure in place
- Automatic syncing of all data to an offsite location
- Offsite backup should be encrypted
- Incremental backups to external hard drives
- How to test the backup and restore procedure?
- How to sync the backups to an external location?
- Probably looking at a Raspberry Pi based solution with an 8TB external hard drive.
- Looking at around $250 for both.
The above requirements hint at me needing two main pieces of software. I can’t only worry about the cloud software. If my server dies, I’ll need a rock solid plan for restoring from a backup.
It’s also been maybe 6 years since I’ve done a major upgrade to my server. At this point, I’m thinking of replacing everything except the case. I like my giant black rock sitting on the shelf, and it’s got plenty of space for loading up drives.
On cloud software front, I’m a bit torn between Nextcloud and ownCloud. I’m leaning towards ownCloud because the documentation seems a bit nicer. There aren’t really any other viable options for open source software that I’ve been able to find.
The backups remain a mystery to me. Up until now, I’ve been using a Raspberry Pi based computer and SyncThing to automate partial backups. That’s not going to work well. I also don’t want to have to use a GUI to backup. Currently I’m leaning towards using BorgBackup. It seems pretty feature rich.
The general plan of attack will be:
- Upgrade server hardware with bare install of OS (do not immediately start copying files back!)
- Create backup and restore procedure, and test that it works
- Install and configure ownCloud
- Reload all the terabytes of old data into the new cloud
- Set up my phone to sync with my new cloud to disentangle myself with Google as much as possible
Thinking each of those deserves its own post, so we’ll leave it there for now.