NAS-Based Linux Photography Workflow

When a few months ago I decided to buy a NAS, my plan was to use it as a dumb storage device that makes it easier to access my files and keep them safe. Gradually, though, I found myself using my lowly QNAP T-231P NAS for various photography-related tasks, and now the appliance plays a central role in my Linux-based photographic workflow.


It’s all started with me moving my photo library to the NAS, so I could use any machine running digiKam to manage my photos. And since QNAP T-231P comes with the MariaDB database server, it also made perfect sense to migrate digiKam from SQLite to MariaDB backend. I documented the process in my Use digiKam with a NAS and MariaDB article.

At that point I was still using my own Photo Funnel tool to import and organize RAW files and photos on my primary machine, and then moving them to the NAS. That wasn’t particularly practical, so I decided to cobble together a tool for importing and processing RAW files and photos directly to the NAS.

Although QNAP NAS appliances are based on Linux, the underlying Linux distribution lacks some essential tools like Git, ImageMagick, rsync, etc. So the first order of business was to figure out a way to install packages I needed for my import tool. Lo and behold, I found Entware, a repository containing a growing collection of Linux tools. There is also a package manager that you can install on all popular NAS models, including QNAP. After a couple of evenings of Bash scripting and troubleshooting, Momo was born. Using it, I now import RAW files and photos directly to the NAS, and neatly organize them too. The Linux Photography book provides detailed instructions on deploying and using Momo.

So here is what my typical workflow looks like now. The INTAKE directory on the NAS is the first stop, where all imported RAW files and photos are transferred. Momo then organizes them in sub-directories by date using the YYYY-MM-DD format.

The LIBRARY directory on the NAS acts as the root album in digiKam. I move the RAW and JPEG files I want to process and manage in digiKam from INTAKE to appropriate project sub-directory in LIBRARY.

Then there is Natsukashii, a shell script that runs on the NAS, scans the photo library, finds photos taken on today’s date in the past and creates a simple web page with them. Again, the Linux Photography book explains in detail how to install and use Natsukashii.

Yet another simple shell script creates backups of digiKam MariaDB databases.

In addition to Momo and Natsukashii, I also use tools supplied with the NAS. The Hybrid Backup Sync app, for example, backs up data to the Backblaze B2 cloud storage service, and I use the Photo Station app to view and share my Android snapshots. Speaking of which, the Qfile app on my Android device automatically backs up all my snapshots to the NAS.


Tech writer covering Linux and open source software

Tagged with: , , , ,
Posted in Photography, Scribbles, Software
2 comments on “NAS-Based Linux Photography Workflow
  1. tuxflo says:

    May I ask why you don’t use the default digikam import tool for getting the files directly into your Library?
    Also I want you to know that I also use a QNAP NAS and a similar workflow so feel free to do more of those posts I’m always happy if there is a notification of a new post in my inbox, keep up the awesome work!

    • Dmitri Popov says:

      Thank you for your kind words! I use a custom shell script to obtain and write certain info (weather conditions on the day the photo was taken, camera model, lens, etc.) into the EXIF metadata of each photo. I can’t do this with digiKam’s import tool.

      I’m glad to hear that you are also using a QNAP NAS. If you have any tips, feel free to share. šŸ˜€

Comments are closed.

Recipes for automated and streamlined photographic workflow on Linux

Use digiKam? Get this book!

Practical advice for nighttime photography

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: