digiKam (DAM)

Professional Photo Management with the Power of Open Source - An alternative to Picasa - Home / HN / Photography (SE)

Notes

  • digiKam Album correspond directly to Folder on filesystem

The biggest CON for digiKam is the delete function. If you delete a file from the app it is deleted from the drive.
If you delete a picture, it first goes to digikam’s trash .dtrash in same folder as where the photo was - r/homelab

digiKam features

Workflow

caption

Database

As of 8.x Digikam manages more than one database. For convenience, it is broadly categorized in three:

  • Core database for all collection properties, i.e. it hosts all albums, images and searches data.
  • Thumbnails database for compressed thumbnails i.e. to host image thumbs using wavelets compression images (PGF format).
  • Similarity database to store image finger-prints for fuzzy search engine.
  • Face database for storing face recognition metadata i.e. to host face histograms for faces recognition.

The path to the database are stored in ~/.config/digikamrc (look for “Database Name”).

see also

How to use multiple photo libraries with DigiKam

Digikam does not offer that natively. To overcome that, the solution is to redirect the config to a different set of database corresponding to a different photo libraries.

This can be achieved in several way, the simplest being to redirect to a different config when launching digikam. Previous attempt were more complex because of lacking the knowledge of the --config option. They try to do the same by changing the content of ~/.config/digikamrc throught a script (see below), or in modern system by changing the filesystem view.

Using –config

$ CONFIG=/yourconfigpath/separate_config
$ touch ${CONFIG}              # digikam require the config file to exist when using --config.
                               # integrating this simplify initial launch
$ digikam --config ${CONFIG}   # this start the setup from scratch

All other approch below are more complex.

By Scripting

The digikamctl script create & switch .config/digikamrc file, associating db automatically

By Filesystem boxxing - didn’t work

For ex using following rules

# ~/.config/boxxy/boxxy.yaml
rules:
- name: "redirect digikam DB"
  target: "~/.config/digikamrc"
  rewrite: "~/.config/digikamrc-lib1"
  mode: "file"

& Launching it with boxxy ~/app/digiKam-8.1.0-x86-64.appimage --appimage-extract-and-run

As rules can be passed directly on cli, the whole thing can become, it’s own script:

# ~/.config/boxxy/boxxy.yaml
#!/bin/bash
boxxy --rule '~/.config/digikamrc:~/.config/digikamrc-lib1:file' ~/app/digiKam-8.1.0-x86-64.appimage --appimage-extract-and-run

Which is less intrusive that the previous approach below, as well as allowing to launch at the same time 2 different instance of digiKam pointing to 2 different photo collections (which other approach does not support).

Issue

  • does not recognize image when filename is missing extension. Which kind disallow use on direct hashed object store.

Internal

Atlernatives

How I found my best Digital Asset Management (DAM) system - Digikam alternative (Reddit)

  • Darktable - Non-destructive editing throughout the complete workflow, your original images are never modified.
  • RawTherapee - Non-destructive, 32-bit (floating point) processing engine, modern demosaicing algorithms
  • Shotwell
  • Immich - an opensource alternative to google photo
Written on October 20, 2021, Last update on September 1, 2024
application photo hash jxl