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.