The main goal of EZWebGallery, on of my pet-projects, is to offer an easy way to publish photo galleries online, meaning that I am interested in the process of producing photos 😉

My main tool for sorting and editing photos is Adobe Lightroom Classic. I also use Adobe Photoshop from times to times if I need to perform some more complex modifications. Things were easy for me has I only worked at home on my desktop computer.

But it appeared that I would gain much by also have a mean to work on the go so I bought a Macbook Pro. And then the work-flow problem aroused: How can I edit my photos both on my desktop and my laptop computer?

Searching the Web, I understood that it is a very common question, but most of the answers proposed did not satisfy me.

Public clouds

Most involve using an external usb hard-drive (slow) to store the photo and access them from both the desktop and the laptop. And at the same time using two “Catalogs” (Lightroom’s database): one on the internal drive (fast) of the desktop and the other on the laptop. This appears to introduce a lot of headaches that I don’t want :/

Another, more interesting proposal, was to store both the Catalog and the photos on a cloud storage, such as Dropbox. These files would always be kept in sync by the cloud service. Thus I could work on the two machines without thinking about the details and, and get rid of a slow and clunky USB drive on the road!

But there are two drawbacks:

  1. The cloud storage might prove expensive. For instance Dropbox charges no least than $100 a year for 1 TB of data!
  2. The files must transit by the Dropbox server on the Internet to go from a machine to the other, even if both are on the same local network and separated by only a few inches! On an ADSL line the initial synchronization would take days!!!

traditional cloud storage Using the services of a traditional cloud storage provider is not a solution!

Enters Syncthing

Syncthing is a peer-to-peer synchronization application: it can be used to synchronize files without the use of a central server (aka cloud service)!
Plus, it is open-source, meaning it is Free! Plus, it is multi-plateform: I can install it both on my Windows desktop computer and my MacbookPro.

So that is what I did, and it works exactly as intended!

As soon as my two computers can reach each other, they begin to synchronize the catalog and the photos. The initial synchronization, for a few hundred photos, is a matter of minutes. The following ones, reflecting the edits performed on the photos, is a matter of seconds!

Peer to peer architecture Peer to peer synchronisation in the local network

Now I can work on one machine, wait around a minute, and continue my work on the other one. It’s seamless, and it’s great!

Syncthing is not limited to two machines, so you can also sync your photos to a backup server or to a third PC. It’s very flexible.

In fact, after a few days of experimentations, I devised a better use of Syncthing, to fulfill my needs!

Usually, I will import my photos and perform the first edits on my laptop while on the field. The (minor) drawback of the PC / laptop synchronization scheme I presented above is that once at home I have to turn on both machines to allow them to get in sync. It would be convenient if I not had to… And it’s quite possible!

In complement to my two computers, I also own a NAS (a small storage server) in my house and a private server somewhere on the internet (powering this very website!)

I also installed syncthing on them and added them to the “network”. The fact that these two machines are always ON and in reach of each other is very convenient!

Now, as soon as I have an internet access on the field, my laptops synchronizes itself with the server, which in turns sends the photos to the NAS in my home.
Back home, all I have to do is power up my main computer and wait a few minutes before resuming my edits!

Addition of a NAS and a private server in the cloud