This article outlines an approach to work efficiently with Lightroom Classic CC on several computers.

(This article doesn’t apply to you, if you work with Lightroom CC.)

For me, the biggest weakness of Lightroom Classic CC has always been that it is a fully local installation. It doesn’t support usage from multiple computers and hence it also doesn’t have multi user support. And yet, the Adobe Creative license actually allows you to install Lightroom on two different computers, as long as you do not use it on both computers at the same time. For me this is important, as I want to use Lightroom on my desktop PC as well as on my Laptop. 

The next challenge is the fact that for Lightroom to perform, you want the catalog file to sit on your local drive. In theory, you could place your catalog file on a NAS or even on a cloud storage to allow access from both computers, but you will see a significant performance impact, which is really not fun. Lightroom is slow enough anyway, you don’t want to make it even slower. 

So what are your options?

Have the Catalog stored on an external hard disk

Just connect the external hard disk to the computer you want to work with and you are all set. However, by having the catalog on a single hard disk, you need to make sure that you back this up on another disk. You do not want to loose your full catalog if the disk fails one day! If you go this way, consider spending some extra money and go for an external SSD, to improve performance in Lightroom. 

Store the Catalog on your NAS and copy it to your computer when needed

Now at first, this doesn’t sound very reasonable. Every time you want to use the Catalog you first have to copy it. When finished, you have to copy it back onto the NAS. This brings a very high chance with it that you work with an outdated version because you forgot to copy the catalog or copy an older catalog over a newer catalog accidentally. 

And yet I believe this is the best solution. Just forget about the manual copying and use a script to automate this process. When you want to start Lightroom, you start the script, the script then first copies the catalog from your NAS to your local disk and then opens Lightroom. When you are finished and you close Lightroom again, the script will copy the catalog back to your NAS.

So how does this script look?

echo Copy Lightroom catalog from server 
Robocopy \[YourNAS][FolderOnYourNAS]catalog [FolderOnYourLocalDisk]catalog [YourCatalog].lrcat

echo Copy Lighroom settings from server
Robocopy /e /copy:DAT "\[YourNAS][FolderOnYourNAS]catalogLightroom Settings" "[FolderOnYourLocalDisk]catalogLightroom Settings"

echo Copy Loghtroom previews from server rem
Robocopy /e /copy:DAT "\[YourNAS][FolderOnYourNAS]catalogC[YourCatalog] Previews.lrdata" "[FolderOnYourLocalDisk]catalog[YourCatalog] Previews.lrdata"

echo Start Lightroom
"C:Program FilesAdobeAdobe Lightroom Classic CClightroom.exe"

echo Lightroom stopped
echo Copy Lightroom catalog to server
Robocopy [FolderOnYourLocalDisk]catalog \[YourNAS][FolderOnYourNAS]catalog [YourCatalog].lrcat

echo Copy Lightroom settings to server
Robocopy /e /copy:DAT "[FolderOnYourLocalDisk]catalogLightroom Settings" "\[YourNAS][FolderOnYourNAS]catalogLightroom Settings"

echo Copy Loghtroom previews to server rem Robocopy /e /copy:DAT "[FolderOnYourLocalDisk]catalog[YourCatalog] Previews.lrdata" "\[YourNAS][FolderOnYourNAS]catalog[YourCatalog] Previews.lrdata"

The above script copies not only your catalog but also your settings. Now there is one small problem with this script: you can start Lightroom on both computers at the same time. As a result, both computers will open the Catalog and once finished will copy it back to the NAS. If you made changes on both computers, one Catalog will overwrite the other. Also, technically this is a license breach, as you are only supposed to use Lightroom on one computer at the time. 

To avoid this, we need to make sure Lightroom can only be started on one of the computers at a time. For this we use what software developers call a Mutex. In our case, the Mutex is a file on the NAS the script creates at start. When you start the script on the second computer, it recognizes that the file on the NAS already exists. Instead of starting Lightroom, the script ends immediately. You then also need to make sure that the script deletes this file again when you exit Lightroom. So the modified script will then look like this:

echo off
rem Verify, mutex does not exist
if exist \[YourNAS][FolderOnYourNAS]lrmutex.txt (
  echo Lightroom is already started on another computer!
  pause
  exit
) 
else (
  echo Create mutex file
  copy nul > \[YourNAS][FolderOnYourNAS]lrmutex.txt

  echo Copy Lightroom catalog from server
  Robocopy \[YourNAS][FolderOnYourNAS]catalog [FolderOnYourLocalDisk]catalog [YourCatalog].lrcat

  echo Copy Lighroom settings from server
  Robocopy /e /copy:DAT "\[YourNAS][FolderOnYourNAS]catalogLightroom Settings" "[FolderOnYourLocalDisk]catalogLightroom Settings"
 
  echo Copy Loghtroom previews from server
  rem Robocopy /e /copy:DAT "\[YourNAS][FolderOnYourNAS]catalogCatalog-2-2 Previews.lrdata" "[FolderOnYourLocalDisk]catalog[YourCatalog] Previews.lrdata"
 
  echo Start Lightroom
  "C:Program FilesAdobeAdobe Lightroom Classic CClightroom.exe"

  echo Lightroom stopped
  echo Copy Lightroom catalog to server
  Robocopy [FolderOnYourLocalDisk]catalog \[YourNAS][FolderOnYourNAS]catalog [YourCatalog].lrcat

  echo Copy Lightroom settings to server
  Robocopy /e /copy:DAT "[FolderOnYourLocalDisk]catalogLightroom Settings" "\[YourNAS][FolderOnYourNAS]catalogLightroom Settings"

  echo Copy Loghtroom previews to server
  rem Robocopy /e /copy:DAT "[FolderOnYourLocalDisk]catalog[YourCatalog] Previews.lrdata" "\[YourNAS][FolderOnYourNAS]catalog[YourCatalog] Previews.lrdata"
 
  echo Delete mutex file
  del \[YourNAS][FolderOnYourNAS]lrmutex.txt
)
exit

To make it work, you need to replace the red parts according to your environment. In my example, I need to replace with:

[YourNAS]: DS4, as this is the network name of my NAS

[FolderOnYourNAS]: On the NAS I have a folder called Photos, hence this is Photos for me

[FolderOnYourLocalDisk]: On my computer, I put the catalog folder on drive D into a folder called Lightroom, so this is d:lightroom for me

[YourCatalog]: My catalog is called catalog-1

Save the script on your local disk e.g. under the name lightroom.bat. You can now double click on it like on any normal program and it will execute. 

This also works with more than 2 computers, but that requires you to have additional Lightroom licenses.

Please follow and like us:
Tweet
Share
SOCIALICON
SOCIALICON