PhotoStructure

PhotoStructure

Official

Docker app from PhotoStructure

Overview

PhotoStructure is your new home for all your photos and videos. Cross-platform libraries that you can move seamlessly across Docker, Windows, macOS, and Linux Fast, fun mobile-friendly UI Support for very large (250,000+ asset) libraries Support for almost all RAW and video formats (thanks to LibRaw and FFmpeg) Robust metadata support, including Google Takeouts, XMP sidecars, and sibling inference Robust image and video deduplication PhotoStructure is extremely configurable. See the documentation for details. Be sure to visit PhotoStructure's forum for tips, support, and to vote on what features you want to see next. We also have a discord! To import additional directories or volumes: click "Add another Path" enter a Container path (like "/photos") click Host Path and pick the directory you want to import click "Add", then click "Apply". PhotoStructure will find the new directory automatically if you leave the "Where else are your photos and videos?" section set to "Automatic", which is the default. Initial template by Spants (thanks!)

Runtime arguments

Web UI
http://[IP]:[PORT:1787]
Network
bridge
Shell
sh
Privileged
false
Extra Params
--stop-timeout=120 --restart unless-stopped

Template configuration

Web UIPorttcp

Port to access the HTTP UI. Can be modified by setting the PS_HTTP_PORT environment variable.

Target
1787
LibraryPathrw

This is where your PhotoStructure Library will be stored. It needs to have sufficient free space to hold preview images, and transcoded videos.

Target
/ps/library
Default
/mnt/user/Photos
User IDVariable

This is the userid that PhotoStructure will run under, instead of the default of root (userid 0). Files copied into your library will be owned by this userid.

Target
PUID
Default
99
Group IDVariable

This is the groupid that PhotoStructure will run under.

Target
PGID
Default
100
UMASKVariable

Files written by PhotoStructure will be applied with this umask.

Default
0002
Extra Import SourcePathrw

Optionally, set a mount path of extra photos to import. You can remove this if you don't need it

Target
/mnt/to-import-photos
Logging levelVariable

Valid values are debug, info, warn, and error. Default is error, which (should be) quiet.

Target
PS_LOG_LEVEL
Default
error
Temp/Scratch diskPathrw

This must be fast, local disk.

Target
/ps/tmp
Default
/mnt/user/appdata/photostructure/tmp
LogsPathrw

Logfiles will be written into this directory. Set environment variable

Target
/ps/logs
Default
/mnt/user/appdata/photostructure/logs
System configPathrw

System configuration is written into this directory.

Target
/ps/config
Default
/mnt/user/appdata/photostructure/config

Download Statistics

1,264,826
Total Downloads
5,169
This Month
7,554
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
photostructure/server:stable
Last Updated2026-04-28
First Seen2021-08-27

Run PhotoStructure on Unraid.

PhotoStructure is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.