Current PhotoStructure Synology docker instructions is for the current stable which doesn’t yet support PUID/GUID, and is for DSM6 rather than DSM7, and doesn’t include info for performance optimization on your particular Synology.
Figured I could share some of my learnings here, with my Synology DS920+ using Docker.
Also see relevant Feature Request: Synology Package Center support.
Create user just for PhotoStructure
Before installing PhotoStructure, go into the Control Panel and create a user specifically for docker use, so you can more easily limit its permissions.
dockerphstr
is the user I created. I felt it might be nice to have different permissions for different docker containers, so I make a separate user for each docker container.
I followed permissions setup in Dr. Frankenstein: Step 2: Setting up a restricted Docker user and obtaining IDs. Basically, grant access to your photos and docker shared folders, and block access to all other shared folders and applications. Note he has a single user for all docker containers, which might reduce permissions issues if you have multiple containers reading/writing the same files.
Skip SSH and run any command from Synology GUI / Get user PUID & GUID
Step 2: Setting up a restricted Docker user and obtaining IDs says to use the SSH to get your PUID/GUID which is fine. But if you prefer, you can actually run any command from the Synology GUI and get its output. I originally got this idea from Synology: Find UID (userID) and GID (groupID) in 5 Seconds – Marius Hosting, EXCEPT his tutorial requires you to set up email which is actually not necessary.
Run any command from Synology GUI with these steps:
- Control Panel → Task Scheduler → Create → Scheduled Task → User-defined script
- In General tab, UNCHECK the “Enabled” box so it doesn’t run automatically
- Name it something useful like
taskGetUserIds
- In Task Settings tab, enter your command in the user-defined script box.
- Click OK.
- Select the task and click Run.
- See output with Action → View Result
Get the ID of a single user with this command:
id dockerphstr
Get the ID of (non-system) users with this command:
for user in $(awk -F':' '$3>999 && $3<9999 {print $1}' /etc/passwd); do id $user; done

From the screenshots, my UID/PUID is 1030 and my GID/GUID is 100 (click “View Details” to see full command output).
Faster import/rebuild (and less responsive NAS)
Synology wasn’t using enough CPU resources for my liking. See discussion at Import and resync faster on Docker NAS? for parameters you can play with, and of course more info at PhotoStructure | PhotoStructure's advanced settings. However I haven’t done specific performance testing yet, so do not have a specific recommended setup for Synology DS920+ and others with the same CPU.