Sharing a Lightroom Catalog across multiple computers

So you want to have a single Adobe Lightroom catalog that you can use on multiple computers and have them all show the same pictures and edits? But you don’t want to manually copy files around or carry hard drives in your bag.

OK so this has taken me bloody ages to get right but its not that complicated if you have some basic computer skills and don’t mind getting your hands a little dirty. A while back I figured out how I could do this with Apple’s Aperture over in this article but since then I have moved to using Lightroom because… well they had nicer presets at the time :P I don’t have any love of either product so its good to know how you can bend them to do what you want.

The basic problem with Lightroom catalogs is that they don’t like being on a network drive and not everyone is happy lugging a portable hard drive around between computers with their catalog’s or RAW files on. This is the usual hack to get around it. It is a pain and you run the risk of losing your archive unless you have a decent backup strategy.

The way I have my systems setup is like this:

  • I have a central NAS connected to my network. All my computers can map to this in the same way.
  • All my computers are Mac. This is only a issue if you are sharing a Lightroom catalog between a Windows and Mac machine as the drive mapping on a Mac is something like “/Volumes/Graphics/Images” whereas a Windows box will be “G:/Images/”
  • The individual machines don’t all use a single Lightroom Catalog file but rather each has a copy of the catalog that is synchronised over the local network or Internet.

Drive with photos in one location

So how do I synchronise the catalogs automatically?

This is where BitTorrent Sync  (BTSync from now on) comes into the mix.
BTSync works in the same kind of was as DropBox with the advantage of being completely controlled by only you and with no size limitation. You can also use a piece of software called SyncThing which is basically the same as BTSync but with Open Source roots.

What I have done is set up a folder that BTSync will synchronise onto my other machines. When I modify a catalog on my desktop, the changes will be replicated to my laptop and visa versa. A large Lightroom catalog can be anywhere from 1Gb or larger. BTSync should only send the parts of the file that have changed over the net so even with a slow bandwidth, you will be able to keep a catalog in sync over the internet. This does depend on what parts of the file are changed and sometimes it will just copy the entire file. Having all your machines you want to keep in sync on the same network is a best practice.
Lightroom does generate a couple of files and folders that you do not want to replicate between machines.
These are the following:

  • ‘CatalogName Previews.lrdata’ – This folder contains all the temporary previews for thumbnails and 1:1 previews lightroom uses to run smoothly.
  • ‘CatalogName Smart Previews.lrdata’ - This folder contains smart previews that Lightroom generates if you want to edit on a laptop without the RAW files being online. This is brilliant for laptop warriors on the road.
  • ‘CatalogName.lrcat.lock’ – This file is a lock Lightroom cretes so other processes wont try modify and potentially corrupt the catalog.
  • ‘CatalogName.lrcat-journal’ – A temporary store before final info is written to the catalog.

So how do we exclude these files and folders? This is where a bit of digging under the surface comes in but before we do that lets start of with getting BTSync working.

You should alway make a backup of your catalog before attempting any of this. I have been running it without any problems for about 2 months but computers are shit and will break. I have my main catalog on a computer running Time Machine backups and create a manual backup every couple of days just in case.

  1. Download BitTorrent Sync (BTSync) from their website and install it on all the machines you are going to keep in sync
  2. On the machine with your original catalog or catalogs; create a BTSync share by either running through the setup wizard or in the main interface clicking on the ‘+ Add Folder ‘button.
    BitTorrent Sync Main Screen
  3. Click the ‘Generate’ button. This will create a shared secret key that you will need to copy down and not let anyone else see. If somebody else copied down this Shared secret, they will have access to your Lightroom catalogs.
    (If you are worried about somebody guessing your Shared Secret, don’t worry about it too much. Steve Gibson gives a good description of its working and how difficult it is to brute force here on episode 402 but there are enough combinations of letters and numbers in that little box to address each individual atom in the Universe with its own key. )
    BitTorrent Sync Create new share
  4. Now comes the secret sauce. BTSync will look for a hidden file in the root of the folder it is synchronising for a file called ‘ .SyncIgnore’
    In this we define all the folders and files we don’t want sent over the network.  Open this up in notepad if you are on Windows or pop open a terminal and navigate to the folder you are sharing eg ‘cd Pictures/Lightroom-Catalogs’ and then open it in a text editor eg ‘nano .SyncIgnore’ This will create the file if it does not already exist.
  5. Fill in the following lines:

    /AO2-2012 Previews.lrdata/*
    AO2-2012 Previews.lrdata.!sync
    AO2-2012.lrcat.lock
    AO2-2012.lrcat-journal
    /AO2-2012 Smart Previews.lrdata/*

    Obviously my Lightroom catalog is called ‘AO2-2012.lrcat’ so replace your catalog name or names with your own.

    SyncIgnore Screen Shot

  6. Create the same file on your other machines in the root folder of the share you setup on them. You can also just copy this file to the other machines.

Thats it! Restart BTSync on all the machines and after a few minutes your catalog will be replicated to all the machines and kept up to date. A archive is automatically created in ‘.SyncArchive’ folder if your catalog is smaller than 1Gb so remember that if you start running out of space for no reason. You can modify BTSync’s settings to lower this number.

One of the best advantages to this setup is that I can now take my entire library of near 100 000 images on the road with me. When I want to work on a project in Lightroom on the road, I can just select the folder and generate Smart Previews for that project. I can do basic edits on the images (nothing involving external plugins or Photoshop)  and hve all the changes synced back to my other machines.

Another great advantage is you can setup a lot of NAS devices with BTSync now to automatically sync a version on itself for added redundancy and to have a catalog with your RAW files.

Hope this helps someone. Let me know if there are any questions.

 

 

2 Comments
  1. This looks a really useful approach and I’ve got it running fine. I’ve used the syncignore file as you’ve suggested but I’m not clear what its actually doing with the previews. Does syncignore stop ordinary and smart previews being copied between computers?

    Could you detail the bit about going on the road a bit more. Are you taking your whole image library with you on an external drive? It sounds like you just generate smart previews and take those – do you generate them on the laptop that you travel with? Once you have edited the smart previews on the road how do these changes replicate back to other computers that you sync with if smart previews aren’t synced? Is the edit information held in the cat file and not dependant on the smart preview in any way?

    Finally what happens if you load images onto the travel laptop while on the road – whats your approach to that?

    Thanks for a really good tip. I’ve been using the cloud drive sync for this and its a pain with speed issues on my connection. BTsync is much better

    29/07/14 at 14:13 · Reply
    • Hi Warwick.

      You have pretty much hit it on the head.
      I have my main library on a desktop iMac at home and my original RAW files on a NAS server.
      When I go on the road, I open my laptop and make sure everything is synced up.
      I then open Lightroom and tell it to generate Smart Previews of the project I am working on. This creates lower resolution Lossy RAW file previews on the laptop. These files are not synced.
      I can then hit the road and work on these images away from my original RAW images that are stored on the NAS server.
      When I get back onto the internet or my home network, the main catalog is synchronised back to my desktop iMac.
      All changes are stored on the Lightroom Catalog. As this is the only real file that is synchronised between the machines, all changes become visible on all the machines that are set to synchronise at once.
      I don’t let it copy the Preview files or the Smart preview files between machines as they typically end up being many gigabytes in size and take bloody ages to sync up.
      My laptop is only used to to work with on the road and I will prepare for that by letting it generate the preview files or Smart Previews of what I know I am going to work on.

      Its really just to make it quick to sync up.

      Hope that helps :)

      01/08/14 at 17:32 · Reply
Leave a Comment

Yay! You have decided to leave a comment. That is fantastic! Please keep in mind that comments are moderated. Thanks for dropping by!

Copyrights ® ArtOf2 Designs

Back to top ↑