Move your data to PhotoPrism (self-hosted)
Once you have your data out of the big services and cleaned up, it needs to live somewhere you control. This guide covers moving your archive to PhotoPrism (self-hosted).
Step by step
-
Install it
PhotoPrism is a self-hosted photo server with search, places, faces and a web interface. It runs with Docker Compose on a NAS, a home server or a spare PC. Start from the official docker-compose.yml, bring it up, then open the web interface and sign in with the admin password you set in the compose file.
-
Mount your library as originals
PhotoPrism reads everything under one folder it calls originals. Point that at the folder Muletto wrote by adding it as a volume in docker-compose.yml, with your host path on the left and /photoprism/originals on the right. If you keep several separate folders, mount each as a subfolder of originals instead - your path on the left, /photoprism/originals/holidays on the right, and so on.
-
Turn on read-only if this is your archive of record
Setting PHOTOPRISM_READONLY to true stops PhotoPrism writing to your originals at all. Indexing still works; the import feature does not, because importing needs to write into that folder. If these files are the copy you intend to keep forever, that trade is worth making.
-
Index, do not import
Open Library, then Index, and run it. PhotoPrism walks the folder, reads each file where it lies and builds its database from what it finds. Nothing is moved and nothing is renamed. The Import tab does something different - it copies files in and renames them to its own scheme - so leave it alone unless that is what you actually want.
-
Check the dates and places came through
PhotoPrism reads the date and GPS from inside each file, which is exactly what Muletto repairs before you export. Open the calendar and the places map and spot check a few old photographs. If everything has landed on today's date, the originals lost their metadata somewhere upstream and it is worth repairing them again before indexing.
-
Add more whenever you like
You can drop new folders into originals at any time without stopping the server, then run the index again. Only what is new gets read, so a second run over a large library is quick.