Thought I had it, but no? these directories should be, right, no?
paths are case-sensitive on QNAP (being a linux based system). If you know how to shell/ssh into your NAS, itās probably the best way to validate paths. Meanwhile, try /DataVol1/Public/Photos see if it makes it all better.
Sorted that now it looks like that you, would never have found out the proper name!
Now trying to figure out why it canāt find the path for ${HOME} in the script, I canāt see any where on there where ${HOME} is matched upto anything which feels odd, but again Iām not well versed on it.
If youāre using :alpha, use āeasy modeā which lets you delete the /ps/tmp, /ps/config, and /ps/logs bind mounts.
Those ${HOME}/... paths were just defaults, BTW.
Oh right, I didnāt even notice the ${HOME} binds you had⦠I canāt imagine those would work in qnap / portainer
Head in hands.

Maybe this really is just something for non Joe Public ![]()
I think those instructions might be a bit incomplete. A docker container canāt see anything outside of its sandbox unless you map it, so you need to bind mount TWO folders at a minimum.
- #1 for the Photostructure library - thatās where PS will store its data. So /ps/library should be mapped to somewhere that is exclusively for photostructure to work in. For example, /DataVol1/Public/Photostructure.
- #2 where your photos you want PS to scan. A container canāt see anything outside of its sandbox, you have to explicitely mount it. So you may mount /DataVol1/Public/Photos to /media inside the container.
Might look something like this:
docker run \
--stop-timeout 120 \
-v /DataVol1/Public/Photos:/media \
-v /DataVol1/Public/Photostructure:/ps/library \
photostructure/server:alpha
If you could cut and paste what you did specifically, I am sure we can help.
HOLY MOLY THIS IS AMAZING.
Thanks for taking the time to record that, @avdp!
Is it OK for me to link to this video in the documentation?
(And yes, I just figured out how Discourse Badges work so I could give you oneā¦)
sure no problem
Amazing!! thats awesome of you, and to be honest, Iām glad it will help others in my position ![]()
Iāve now managed to āsort ofā get it working thanks to that⦠I dumped a test photo into the binder media dir on the NAS, and I can see PhotoStructure has pulled it in and placed it into a dated folder as specified (told it to copy). However⦠there is no photo displayed in the actual photostructure app, which is odd Iād say! maybe its a alpha issue which is possible I guessā¦?
Sync log looks to have some funky errorā¦
sync-124-001.log (139.2 KB)
OK, progress. Progress is good. I am not seeing anything too alarming in the log⦠In fact the log shows the pic was processed successfully all the way through. but @mrm would definitely be better at looking at that.
It is odd that the status on sync is ānewā ⦠can you do a ārestart syncā (from the sidebar menu) and/or restart the container.
Try dropping a few pictures in there to test.
Lastly, take a look at the sync-reports to see if the pic was skipped, although again the log does not show that it was.
Hmm so, the latest sync report looks fine -
I did the sync restart this time and got an sql error, ooooh - but I will say, on the previous container (Iāve re-created it a few times to see if an error on my end/glitch) I did the same restart sync and got no error, at least that I noticed from the dashboard.
web-36-001.log (72.9 KB)
I can also add, that when trying to import more - they arenāt processing.
yes, indeed. The dreaded SQLITE errors. Iād like to say those are just alpha issues, but I was experiencing those with prior releases as well. All I can say is that setting PS_FORCE_LOCAL_DB_REPLICA to false was helpful for me on prior releases, although I canāt explain why. Now youāre definitely in @mrm territory for assistance with this.
{"ts":1657802602992,"l":"warn","ctx":"express.ServerToastHelpers","msg":"sendServerToast()","meta":{"requestedURI":{"$mid":1,"path":"/api/system","scheme":"http","authority":"192.168.1.230:1787"},"toast":{"text":"Well, darn, that didn't work","uuid":"SqliteError: SQLITE_CORRUPT: database disk image is malformed","details":"SqliteError: SQLITE_CORRUPT: database disk image is malformed","type":"warning","button1Text":"Return home","button1Url":"/tag#dismiss","button1Class":"info","onClickUrl":"#dismiss"},"httpStatusCode":500}}
Thank you - yes I had input that setting into the creation of the container (PS_FORCE_LOCAL_DB_REPLICA) as per the video.
Fingers crossed we get somewhere now weāve come so far! lol ![]()
@avdp are there other debug logs you can send me for the SQLITE_CORRUPT issue? I have wishes, nay, dreams, of a hallowed ray of light to descend upon my git diffs and rid us of this unfair, unjust and unwanted torment. Iād like to fix this issue.
Hahahaha





