Skip to content
This project aims to be a web HMI for the digikam photo managment tool. It enable photo rating and geolocalisation thanks to google maps.
PHP JavaScript CSS Shell Python Batchfile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

======= digikamWebUi

main screenshot

Most important features are

  • user management: a user can
    • The root user can manage users permissions by drag’n drop from lists
    • see albums from an available albums list
    • see tags from an available tags list
    • not see pictures tagged with a forbiden tag on an available album
    • not see pictures from a given album on an available tag
    • rate pictures
    • tag / untag pictures
  • Images preview: Pictures can be displayed as lists from albums or tags, or one by one
    • Exif data
    • Geolocalisations (google maps)
    • rating/tags/album related…
  • Cache management
    • Thumbnails are generated at loading and stored in a cache folder
    • The cache is optimized to not reload preview already downloaded by the browser

Photo Preview

More information available at

To install the web interface in X steps:

  • download the sources and put them into your WWW folder ( ie. /var/www/digikamWebUi )
  • setup your webserver (ie. apache2 ) for CakePhp applications
    • enable mod_rewrite in apache
    • change the default for AllowOverride in apache to ALL in your apache configuration file /etc/apache2/sites-enabled/000-default.conf
    • give to the app/tmp directory the right permissions (write).
    • be sure to have installed mysql support for php in case you use mysql.
    • be sure to install sqlite suport in php in case you use sqlite
  • setup databases (file app/config/database.php, doc here )
    • The digikam one (containing the collection): public $default = array( 'datasource' => 'Database/Sqlite', 'database' => '/PATH/TO/digikam4.db', ); That's all for this one
    • The WebUi one (user management, user rights...)
      • Schema creation The SQL file to load is app/Config/Schema/digikamWebUi.sql. For example:

          cat app/Config/Schema/digikamWebUi.sql | sqlite3 PATH/TO/A/NEW/DATABASE/digikamWebUi.db
      • CakePhp configuration public $digikamWebUi = array( 'datasource' => 'Database/Sqlite', 'database' => 'PATH/TO/A/NEW/DATABASE/digikamWebUi.db', );

  • create the admin user (Which is the first one registered) http://localhost/digikamWebUi/users/add
  • check the registered path in app/config/bootstrap.php Configure::write('Digikam.root', '/home'); // this path will be prepended to the AlbumRoot.specificPath from the digikam database to get the complete path to the album.
  • Login
  • Add users and manage their right

In case of error, you can first refer to the CakePhp documentation Tips

  • To activate debug informations, reasons of 500 errors, warnings... Please set Configure::write('debug', 0); to 2 in app/config/core.php
  • When debug is activated, you can add debug($myVar); to get the content of a var displayed (in app/Controller/ImagesController.php:download
You can’t perform that action at this time.