Syncing iCloud Drive to Fedora Linux

So you’ve got an iPhone, and iPad, and a tried and trusty Fedora Linux desktop. Maybe Mac OS doesn’t jive with you (it doesn’t with me) and Windows is a bit too creepy for your tastes. So you’ve installed Fedora Linux, but man would it be nice to have your iCloud Drive available.

Well I have a solution. A computationally expensive solution, that requires additional hardware, but a solution none the less.

So here is what you’re going to need:

  • Your Fedora / Linux desktop
  • A spare old laptop or tower with Windows 10

The solution is quite simple. We’re basically going to put iCloud on the Windows 10 machine, and sync it over the local network to our Fedora Linux desktop.

I’ve got a Windows 10 virtual machine running on the server in my living room. My desktop in my home office, connects to it over WiFi. My iCloud files are downloaded onto the server, which then syncs them over WiFi to my desktop.

I make changes to files from my desktop, and they’re reflected on my iPad within a couple minutes.

Here is a rough outline of how to set this up:

  1. Install Windows 10 either as a VM or on spare hardware
  2. Set the Windows 10 install to never sleep / never hibernate
  3. Install iCloud on the Windows 10 VM from the Microsoft Store
  4. Sign in to iCloud on the Windows 10 VM
  5. Install syncthing on the Windows VM and on your Linux desktop
  6. Point syncthing at the iCloud folder on the Windows 10 VM
  7. Point syncthing to a destination folder on the Linux desktop

And now your iCloud Drive files will all magically appear on your Linux desktop and stay up to date!

Why do this?

This is a fairly complicated setup with a few moving parts. Meaning that it is more likely to break than an out of the box solution like the native iCloud app on Windows. But you do get some benefits:

  • Your data is synced to another device, improving availability.
  • You can set up the Windows 10 VM to automatically snapshot your iCloud drive, and upload the snapshot to other cloud storage.
  • You can set up the Linux desktop to back up the iCloud files to another share.

So essentially this configuration makes your files more available, and can be leveraged to easily back them up.

Closing Thoughts

It is a shame there is no native way to get iCloud drive files onto a Linux machine. This is a limitation of Apple’s ecosystem – Linux is a far off thought for them. But with a little extra foot work, and a little magic, we can make our things play nicely together.