Support for S3 storage

Thanks for the suggestion. I got it to work, tested w/1 image. I’m running dockerized PS. I mounted my s3-compatible storage (Digital Ocean) via s3fs on the host and mapped it to a volume in the PS container in docker-compose.yaml:

...
    volumes:
      - /opt/containers/photostructure/config:/ps/config:rw
      - /storage/photos:/ps/library:rw
      - /storage/photos/.photostructure/logs:/ps/logs:rw
      - /home/psuser/tmp/photostructure-docker:/ps/tmp:rw
      - /mnt/ps_library:/ps_library
...

I restarted the container and in Photostructure’s UI Settings I added the mapped volume as a directory to scan for images (note in the image below that “/ps/library” is my photostructure library, and “/ps_library” is my mapped S3 - sorry for the confusing names):


Then I told Photostructure to “Restart Sync” and when it finished, it found and properly processed the image in the S3 storage. Yay!

However, when I restart Photostructure again, it seems to forget my custom scan paths:

I then manually entered the mapped storage into config/settings.toml:

# +–––––––––––––+
# |  scanPaths  |
# +–––––––––––––+
#
scanPaths = [
"/ps/library",
"/ps_library"
]

After another reboot, settings.toml still has my path, but Photostructure doesn’t display is as a path to scan.

So there’s that weird issue to figure out, but also now I’m going to copy a large quantity of images and videos into S3 storage and ask Photostructure to sync, and see how it performs. I’ll report back.