Hosting Mac Photo Library on Unraid?

Recommended Posts

Has anyone been able to host a mac photo library on their UnRaid server with good stability?  


My fiance would like to get rid of her macbook, and just move to a tablet for everyday use. She will still need to backup her iPhone photos, and if possible, would like to still use the mac Photos system. 


I don't have a ton of space on my Macbook's SSD, so I would like to avoid backing up her photos to my Macbook. In an ideal world, we would both want to host separate photo libraries on the UnRaid server, with an external HDD backup and cloud backup.


I migrated my macbook photo library to a user share as an experiment a few months ago. While I was able to migrate the library to the UnRaid server and get my Mac to recognize the library file via SMB, I was never able to import photos from my iPhone to the server library via my Mac.


I've read some posts on the forums which mention possible file system incompatibilities which could lead to corruption of the library, which is a concern. I'm not sure if this is a true issue or what the solution might be.


I'm open to other ways of accomplishing to goal of course, but so far I've thought of two possibilities:

  1. Host Photo Library file on UnRaid server, then connect my macbook via SMB. As I mentioned, I tried this method before and had consistent issues importing photos to the Library from my iPhone via my macbook.
  2. Run an OSX VM on UnRaid which would host the Photos Library. The VM OS would be on cache, but would have an array usershare for storage (i.e. store library on array). Given that I would still be utilizing a usershare for Library file storage, would this present the same issues as option 1 or risk of file incompatibility/corruption? Would an unassigned drive (formatted in apple file system) need to passed through and used for file storage instead of using an array user share?


Has anyone had any luck hosting their Mac Photo Library files with either of these methods, or any other method for that matter?


Thank you in advance for your help!!!




Link to comment
  • 5 months later...
  • 3 weeks later...

I'm in the process of doing this right now. The steps that I took were:

  1. Create a share dedicated to my Photos library.
  2. Mount the share using your Mac.
  3. Using the Mac Disk Utility, create a disk image stored in the share. I chose to create a 1TB sparse bundle.
  4. Mount the sparsebundle on your Mac as a volume.
  5. Hold down the option key and open Photos.
  6. Choose Create New... to create a new Photos library, and choose your sparsbundle mounted volume.
  7. (optional) Head to Photos preferences and choose "Use as System Photo Library" in order to enable iCloud Photos on this library.
  • Like 1
Link to comment
  • 4 weeks later...

I’m successfully doing exactly this, using a vdisk on a user share added to a Mac VM XML as a disk. Have been running for 1-2 years on two separate VMs without a single problem, one for me, one for the wife.

I use iCloud Photo Library and only sync the latest photos (or whatever the OS thinks I can afford to store locally) to the local storage on my phone, laptop and iPad. I can still access all photos, and if the high res original is not on the device it will sync it down from iCloud automatically when required.

The VM has a full copy of the library, you know just in case iCloud loses all my data. I only spin up the VM once a week to sync down the latest photos.

I also use time machine in the VM to backup the whole photo library to another array disk. I really don’t want to lose my photos. Or my wife’s, which would be much worse. I figure cloud + 2 local copies should be enough.


Edit: just realized it’s actually not exactly the same. I don’t mount the disk image from the share inside the VM, I mount it as a extra disk via the VM XML. I think I decided it was easier and more reliable to get the disk mounted this way, since I start and stop the VM automatically on a schedule.

Link to comment

I think Jorgen's approach is probably much better if you are running a Mac VM, with the caveat that you wouldn't be able to mount that photo library remotely to use on a physical Mac (though iCloud Photo Library would take care of this; you could also potentially create a share in the Mac VM to then open the library on another mac).


While my approach is "working", I can't really recommend it as it is SLOOOOOOW.

Link to comment
Couldn't you write a launchd script that runs every night at 2am, etc? One that simply rsync's your photo folder to a share on your unraid nas?

For backups yes, if you have enough space on your Mac to store the full library in the first place (I don’t). There’s also a live database in the folder structure so syncing that without corruptions will need consideration.
Probably easier to use TimeMachine instead of custom script as Apple have already worked it out for you.

Sent from my iPhone using Tapatalk
Link to comment
with the caveat that you wouldn't be able to mount that photo library remotely to use on a physical Mac (though iCloud Photo Library would take care of this; you could also potentially create a share in the Mac VM to then open the library on another mac).

Using iCloud is the way to go in my experience. Using the same library from two different macs is not safe. Apple recommends against it and there are many report of corruptions from users doing it.
An alternative would be to share the library from within Photos on the VM. Other macs can then access it in read-only mode on the same network.

Sent from my iPhone using Tapatalk
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.