PhotoStructure on Raspberry Pi
The Raspberry Pi is a power-efficient single-board computer. Both the Pi 4 and Pi 5 can serve the web-based UI and import your library at the same time. The Pi 4 runs 4–10× slower than a modern laptop or desktop; the Pi 5 is fast enough that most libraries import without much pain.
PhotoStructure requires at least 2GB of RAM on a Raspberry Pi.
If you have a large library (50,000+ images) and a faster computer available, consider doing your initial import there and then moving the library to your Pi. Moving PhotoStructure to a new computer explains how.
🥧 PhotoStructure tries to be nice to your Pi
PhotoStructure detects that you’re running on a Raspberry Pi and automatically disables its more expensive features to help imports go 10× faster. It also extends timeout settings to match the slower processing times on Pi hardware.
These disabled features are a compromise:
- invalid JPEG, Raw, and video files may be imported into your library, as they won’t be validated for bitrot
- browsing will require more network bandwidth due to larger, less-optimally-encoded preview images
- preview images will look a bit blurry, as they haven’t been sharpened after reduction
- non-mp4-encoded videos will not be viewable, as they haven’t been transcoded
- images missing metadata won’t be repaired by inference from sibling files
If you’re patient and don’t mind slow imports, set PS_QUICK_SYNC_MODE=false to
keep these features enabled.
Features disabled by PS_QUICK_SYNC_MODE:
validateJpegImagesvalidateRawImagesvalidateVideostranscodeVideospreviewMinimizedpreviewProgressivepreviewSharpeninferenceSiblingRadius(set to0)
Read more about advanced settings here.
Install!
PhotoStructure’s Docker images include native linux/arm64 builds. Use the
Docker Compose Wizard to generate a
compose.yaml, then follow the
Docker reference for bind mounts,
permissions, and networking.
The Node edition also runs on arm64 if you prefer to manage your own Node.js runtime.

