Organising Thousands of Photos with Phockup

A practical guide to using Phockup, a Python-based photo organisation tool, to sort your image collection by date with minimal effort.

Deciding on an Approach

I really only had two options here:

  1. Manually review every single photo, rename the files for better readability, and move them into folders (by year, month, etc)
  2. Use an application, script, or GUI to do this for me.

You better believe I went with option 2.

Searching for the Solution

Before diving down the rabbit hole, I made sure to narrow my search for a solution that was:

  1. Open-Source
  2. Easy to use
  3. Focused on photographers (and not the common-user)

I managed to find a couple of contenders, such as DigiKam and Darktable. However, they still didn’t quite hit the mark for doing a complete overhaul of my photo organisation.

Finding the Buried Treasure

I branched out my search to open-source repositories hosted on GitHub, and stumbled across something interesting… Phockup

The name alone had me intrigued… and better yet, it is described as a “Media sorting tool to organise photos and videos from your camera in folders by year, month and day.”

It was everything that I was searching for, and more!

Using Phockup

Phockup is easy enough to learn (usage has been well documented in the README). The software is written in Python and uses image exif data for processing.

The main idea is that you have an /input directory, and an /output directory. The photos that you want to be processed by Phockup, will be placed in the /input directory, and the post-processed photos will end up in the /output directory (…if you hadn’t guessed that yet).

I decided to use the Docker approach to save installing it via Homebrew. For this, I ran the following in the terminal:

docker run -v ~/Pictures/input:/mnt/input -v ~/Pictures/output:/mnt/output -e "CRON=* * * * *" -e "OPTIONS=--date YYYY/MM" ivandokov/phockup:latest

There are a range of settings that you can fine-tune, which I won’t get into here, however you can read more about them in the documentation of Phockup

Time Saved

Being a minimal set of scripts, Phockup managed to process 2000 photos in less than 30 minutes, which was far less time than it would have taken me to do it manually.

My Pictures folder has never looked cleaner, an example being:

Pictures
├── 2023
│ ├── 01
│ │ ├── 20230112-214439.jpg
│ │ └── 20230114-134413.jpg
│ ├── 02
│ │ ├── 20230201-163838.jpg
│ │ └── 20230201-163846.jpg
│ └── 03
│ ├── 20230308-134706.jpg
│ └── 20230310-140021.jpg
├── 2024
│ ├── 06
│ │ ├── 20240601-093805.jpg
│ │ └── 20240601-122516.jpg
│ ├── 07
│ │ ├── 20240713-150602.jpg
│ │ └── 20240714-151748.jpg
│ └── 08
│ ├── 20240821-203493.jpg
│ └── 20240821-204534.jpg

Conclusion

I now have user-friendly approach for my photos, which makes viewing, backing-up, and using them a hell of a lot easier!

I have already been recruited by my partner to help her with her photos… at least this time I can jump straight into Phockup.