Missing db?

Howdy @adamwolf , welcome to PhotoStructure!

Running PhotoStructure from within docker currently defaults to running in “replica” mode: more details are here: What’s PS_FORCE_LOCAL_DB_REPLICA?

When you’re not within docker, PhotoStructure can tell if your library database is on a remote filesystem automatically. From within a docker container, not so much (as there isn’t a way, afaik, to get bind mount metadata from within the container).

Why does this matter?

Because!

When you run a command and we’re in PS_FORCE_LOCAL_DB_REPLICA mode, the changes made to the local replica database need to be written back to the remote primary database (via a “cold backup”) which is fine automatically at process end. I like to ctrl-c processes as much as you, so I’ve installed a sigint handler that should do all end-process-cleanup, but if disk I/O is to slow or docker ends the container, things may not be left in a happy state.

You can try restoring from a prior database backup, but that can have issues as well: run a rebuild after restoring to verify everything is copacetic.

You also may want to avoid these shenanigans by setting PS_FORCE_LOCAL_DB_REPLICA=false in your docker container’s environment variables, but only if your library is stored on a local volume.

1 Like