Hi
I’m working on a Stash client and noticed when pulling a Scene’s screenshot via query.FindScenes=>Scenes.paths.screenshot the image does not appear and the logs show I am required to login for a redirect.
This also holds true for query.FindPerformers=>Performer.image_path and when trying to copy/paste from Stash:9999/ to my local machine
I went to check the docker compose file via the guide for how to install and there is “now” a Blobs directory for images which I never setup years ago. Curious if this is the cause and how to dump existing data so I can use externally?
Logging into Stash and going to the screenshot url directly works (assuming cookies), but then trying to load from code still requires logging in
Logs
# Scene image from GraphQL
proto=HTTP/1.1 remoteIP=192.168.10.20:62001 requestID=bec0c24aa6da/XUe7gmx9um-001837 requestMethod=GET requestPath=/login requestURL=http://stash:9999/login?returnURL=%2Fscene%2F161790%2Fscreenshot%3Ft%3D1762740676
bytes=1130 elapsed=0.747418 status=200
2025-12-06T22:28:18.887261876Z INF Response: 200 OK httpRequest=httpResponse=service=stash
# Going to http://stash:9999/scene/161790/screenshot?t=1762740676 directly in a browser Stash is logged in to
proto=HTTP/1.1 remoteIP=192.168.10.20:62021 requestID=bec0c24aa6da/XUe7gmx9um-001840 requestMethod=GET requestPath=/scene/161790/screenshot requestURL=http://stash:9999/scene/161790/screenshot?t=1762740676
bytes=17782 elapsed=2.25486 status=200
2025-12-06T22:28:45.443000144Z INF Response: 200 OK httpRequest=httpResponse=service=stash
# Performer image from GraphQL
proto=HTTP/1.1 remoteIP=192.168.10.20:62003 requestID=bec0c24aa6da/XUe7gmx9um-001838 requestMethod=GET requestPath=/login requestURL=http://stash:9999/login?returnURL=%2Fperformer%2F1125%2Fimage%3Ft%3D1763712042
bytes=1126 elapsed=1.89467 status=200
2025-12-06T22:28:18.898408301Z INF Response: 200 OK httpRequest=httpResponse=service=stash
# Going to http://stash:9999/performer/1125/image?t=1763712042 directly in a browser Stash is logged in to
proto=HTTP/1.1 remoteIP=192.168.10.20:62021 requestID=bec0c24aa6da/XUe7gmx9um-001841 requestMethod=GET requestPath=/performer/1125/image requestURL=http://stash:9999/performer/1125/image?t=1763712042
bytes=752188 elapsed=41.406964 status=200
2025-12-06T22:28:48.659448056Z INF Response: 200 OK httpRequest=httpResponse=service=stash
Stash is running via docker compose in a separate vm and on version v0.29.3. TrueNAS is a central file server that all vms point to and otherwise working normal
My docker_compose.yml
version: '3'
services:
stash:
image: stashapp/stash:latest
container_name: stash
restart: unless-stopped
## the container's port must be the same with the STASH_PORT in the environment section
ports:
- 9999:9999
## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section
# network_mode: host
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
## Adjust below to change default port (9999)
- STASH_PORT=9999
volumes:
- /etc/localtime:/etc/localtime:ro
## Adjust below paths (the left part) to your liking.
## E.g. you can change ./config:/root/.stash to ./stash:/root/.stash
## Keep configs, scrapers, and plugins here.
- /home/pokemontrainerash/projects/stash/config:/root/.stash
## Scrapers - I added this
- /home/pokemontrainerash/projects/stash/config/scrapers:/root/.stash/scrapers
## Point this at your collection.
- /mnt/content:/data/sonic
## This is where your stash's metadata lives
- /home/pokemontrainerash/projects/stash/data/metadata:/metadata
## Any other cache content.
- /home/pokemontrainerash/projects/stash/data/cache:/cache
## Where to store generated content (screenshots,previews,transcodes,sprites)
- /home/pokemontrainerash/projects/stash/data/generated:/generated
#deploy:
#resources:
#reservations:
#devices:
#- driver: nvidia
#device_ids: ['0']
#capabilities: [gpu]