Using Digikam in a Linux/Mac/Windows environment

Jack Haverty jack at 3kitty.org
Wed Nov 12 19:37:04 GMT 2025


For the usual reasons, our IT environment contains a mix of computers 
including Linux, Mac, and Windows desktops.  Digikam runs on all those 
devices, so I've been figuring out the logistics of making it all work.  
Success!  I figured I'd write it down in case someone else is trying to 
do the same thing.

We have one machine (happens to be a Mac) which is the "master" Digikam 
machine.  The actual photos all live on a NAS, which is configured as a 
network collection.  All changes (adding new photos, tags, etc.) are 
made on the Mac.  The 4 database files on the Mac (Digikam's .db files) 
are then copied to each of the other machines.  I use Syncthing to make 
that easy and automatic.

On each other machine, the goal is to make it possible to use Digikam to 
search, retrieve, and use the Digikam database, but not to make any 
changes such as adding photos to the collection or changing tags etc.  
  All changes are done on the master Mac.

The challenge hs been dealing with the differences in naming conventions 
on Windows, Mac, and Linux.

I tried various approaches with the "network collections" features of 
Digikam, but didn't succeed.  On the Mac, the network collection was 
acessible as "/Volumes/photo".   On Linux, I could easily mount the NAS 
photo folder as /Volumes/photo as well, so the Linux Digikam could find 
photos using the Mac database settings.

On windows however, I could mount the NAS photo collection as a virtual 
disk (I used P: to indicate Photos).   But there was no obvious way to 
create a link from /Volumes/photo to P: -- Windows uses \s, but Mac and 
Linux like /s.   I tried, on the Mac, adding a path to the photo 
collection for "P:\" but it wouldn't let me do that on the Mac.

ChatGPT gave me the answer, and it actually worked!   The steps are:

On each Windows device running Digikam:

1/ Mount your NAS photo store as a virtual disk (I used P:), and set it 
to reconnect when you log in so it's always accessible
2/ Using the command line, as Administrator, create a link -- "MKLINK /D 
"\VOLUMES\PHOTO" "P:\"

Result - Digikam on Windows, using the database copied from the Mac, can 
successfully access the photo files from the NAS.

This works, at least for now, because Windows apparently treats \ and / 
as equivalent when trying to find a file.  So /Volumes/photo (from the 
Mac database) gets used as \Volumes\photo (on Windows).

ChatGPT pointed me to several other ways to approach this problem. One 
way was to use a database on the LAN rather than on the Mac.   I could 
run MySQL, MariaDB, or such on the NAS, and keep the Digikam database 
there, but I'd rather not complicate the picture with another device 
needed to use Digikam for basic searching and browsing.   I also wanted 
to avoid problems with situations such as multiple machines 
simultaneously using the database, or "browsing" clients able to do 
things like change tags thath the master put in.

There was another option to directly edit the Digikam database file to 
add the Windows path directly, bypassing the checks that prevent adding 
things like "P:\" while running on a Mac.   But that seemed risky and 
might be undone by some future release of Digikam.

I tried using the new "Remap" feature of Digikam.  That works but only 
in the case where each Digikam installation keeps its own database.  
That's useful but not compatible with the approach of keeping a "master" 
database on some particular machine.

If anyone's interested, my full conversation with the AI is here:
https://chatgpt.com/share/6914da04-f3ac-8001-a52b-a68562611b25

There is still one quirk which can be worked around.

Whenever Digikam runs, it apparently changes something in the database 
files.  So when I run Digikam on a Windows (or any) desktop, the local 
database files are modified.  Syncthing tries real hard to avoid losing 
data, and the locally modified database files will not be overwritten 
when the "master" files on the Mac are changed.

It's easy to tell Syncthing to "Revert Local Changes" which makes the 
master files overwrite the local ones on the Windows (or Linux) 
machines.  But you have to remember to do that to avoid working with an 
old Digikam database that won't have photos, tags, etc., from the latest 
updates on the master.  I could also solve that problem by avoiding 
Syncthing and just using rsync to force a copy of the master to each 
other machine where Digikam will run.

Anybody have a better way...?

/Jack


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x746CC322403B8E50.asc
Type: application/pgp-keys
Size: 2428 bytes
Desc: OpenPGP public key
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20251112/f66a3a00/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20251112/f66a3a00/attachment.sig>


More information about the Digikam-users mailing list