2025-03-01
Building a reliable local cloud replacement for iCloud or other corporate cloud-based computing
It's been 10 days since I installed Linux Mint on an older 2012 Mac Mini and began the process of migrating from Apple's hardware, software and iCloud services ecosystem. One of the more important tasks I've completed is building my local cloud replacement for Apple's iCloud. I should say nearly completed because I expect I'll be tweaking things for a bit. Here's how it works.
Hardware: A base model M1 Mac Mini is the cloud home. Two attached hard drives are the back-up for that M1 Mac Mini cloud.
Computer-to-computer syncing
Syncthing is used to keep files in sync between the M1 Mac Mini and the LinuxMac. Currently I've only got that set-up to sync a specific folder, Websites, that is stored in the Documents folder on each computer. It's a bi-directional sync. Any changes I make to any file or folder in Websites on the LinuxMac sync to the corresponding folder on the M1 Mac Mini. Remember, this is all local network.
Setting up Syncthing is pretty easy though I admit to being a bit confused at first. They provide a getting started page.
The basics:
- Download the app to each computer. It's available for Linux, Mac and Windows.
- Open the app on each computer. The app will have a button for the user to open a web page where the administration happens. It's a pretty simple page with shared folders on the left and devices on the right. Each computer is given an id which you share with the other so that they become aware of one another. There's a button on lower right side "Add Remote Device" to do that.
- Next is set-up of a folder to share back and forth. They include a default folder to share, I ignored it and I kinda think it just confuses the set-up. Using the Finder on the Mac I created a new Websites folder on my Mac in Documents. I then went to the administration web page and set that new empty folder to share and used the bi-directional option. When you set-up a folder to share that folder is given an ID that you'll share with the other computer.
- I hopped over to the Linux Mac and went to the admin web page there. I used the add a folder button and entered the folder ID from the Websites folder on the M1 Mac Mini. So now Syncthing on the LinuxMac knew about the shared folder. Next I had to tell it what local folder would be syncing. I already had a Websites folder with all of my subfolders of websites. I entered in the path to that folder to sync and saved.
Within a few seconds of saving this Syncthing began syncing. Within a couple of minutes all of the folders from the LinuxMac were on the M1 Mac Mini. Every few minutes the M1 Mac scans for changes and performs a sync as needed. This is all automatic and happens in the background.
And because it's bi-directional it means when I want to sit on the porch and work from the iPad any changes I make to a file in Textastic will sync. When on the iPad I'll likely work from the files on the M1 Mac as I'm viewing that is the cloud home but given the near constant synching between the M1 Mac and LinuxMac I don't think it matters. Oh, and if I ever want to check the state of synch I can open up the web admin page in a couple of clips to confirm all is working as it should be and see the time of the last sync.
Computer to external drive backup Next, I needed to back-up from the M1 to external drives. I'm using RsyncUI to do this. Github pages always confuse me so here are the links you actually need: the downloadable DMG file is linked on this page the user manual is here. I followed the user manual to setup a task (choose it in the sidebar of the app) to synchronize a local folder (on the Mac) to a remote folder (on the external drive). Once you've chosen the two you can click the synchronize in the sidebar to see it listed. The manual suggests doing a "dry run" first which will present a basic preview of what will be done. Doing that also enables a progress indicator when you actually run the action. If you jump right to performing the synchronization the app will prompt you to do a dry run first. Set-up is pretty easy but there is no background action going on here. It has to be run manually. I'll probably run this every couple of days.
That's it. That's my local cloud replacement for iCloud files. It's cross platform, local, my responsibility and completely in my control. I'm using two computers, two external drives I already owned and two applications. Monthly cost is $0.
I don't have comments but I love email or you can find me on Mastodon.