Configuration of ImageServer with Amazon S3

Hi everyone,

I’ve encountered an issue while setting up an Amazon S3 bucket for the storage of my Omeka S site. I am currently using the modules Image Server with IIIF Server by @Daniel_KM. Things are perfect when I don’t attach any cloud storage. Once I install the module Amazon S3 or Any Cloud, the following problems occur:

  • Tiler does not recognize the uploaded media. Here is an excerpt from the log of ImageServer\Job\BulkSizerAndTiler after I upload an image.
2023-09-18T10:24:04+00:00 INFO (6): Media #415: Start tiling (deepzoom)
2023-09-18T10:24:04+00:00 ERR (3): Media #415: The file "ba98d3d20602f3b79b00a8bb77bbf61f64cdccef.jpg" is missing.
...
2023-09-18T10:24:04+00:00 NOTICE (5): End of bulk tiling/sizing: 1/1 items processed, 0 files processed, 5 errors, 5 skipped on a total of 5 images.
  • Images are not loaded on the lightbox gallery or Mirador viewer. It says:
Unable to open [object Object]: Error loading image at https://s3.us-****-*.amazonaws.com/bucket-******/large/ba98d3d20602f3b79b00a8bb77bbf61f64cdccef.jpg

If I view the cloud storage, I see the directories original/, large/, medium/, and square/ properly created and images stored. But I don’t see tile/. There is tile/ within the local server’s file/ but no tiles are created there.

I think the Omeka is searching the media from its local server, not from the cloud storage. Are there any other settings I have to change to correct this? Thank you!

Sorry to reply and not help, but I have (potentially) similar issues with this configuration too. Hopefully @Daniel_KM will chime in here.

@m.kim can I ask, where are you seeing those logs from ImageServer?

Hi @simonf, the logs are accessible from “Jobs” menu on the left navigation sidebar at the admin page. If you click one of the ID’s of the jobs named ImageServer\Job\BulkSizerAndTiler, you’ll see a link “view log” at the bottom.

Ah thanks! I didn’t realise that area existed. I’m guessing you haven’t solved or progressed this issue?

I tried installing the Archive Repertory module to see if that would help, going by the idea that it might be more required than written in the docs. And also in the ImageServer code, around the error for not finding the file, there is a check for the S3 module and the ArchiveRepertory module. However, this didn’t change anything, and broke other things with my S3 bucket (I think related to the bucket ACL/permissions).

No progress here too. I have played around the CORS settings for both the server and S3 bucket but nothing really changed.

My plan was to set up the S3 bucket before I launch the site but seems like I’ll just wait for now until the data on our site actually hits the server’s storage limit.

I can’t speak specifically to Daniel’s modules, but on CORS and S3 generally:

The “Error loading image” could be a CORS problem. Does the “large” thumbnail appear to be stored in the bucket (i.e., does going directly to its URL work, say for the example you mentioned in the first post)? If so I’d generally suspect that it’s the CORS settings on your S3 bucket that are at issue.

The error from the tile job causing no tiles to be made is a different problem. Your one error message is from a “bulk” job… I don’t know whether the modules here have S3 support for the “bulk” option (i.e., going back through and tiling already-uploaded media), as that would involve downloading the originals from S3. Does the same “missing” error happen when you upload something new rather than run the bulk tiler?

Sorry, I don’t have amazon server, but only standard ones, so my modules are not tested against it. If you have one, i can test it.

Thanks for your time and consideration. As mentioned above, I decided not to implement a separate image server using Amazon, after assessing the size of storage we need. Perhaps in the future when our current server runs out of storage, we might consider scaling it, but fortunately it doesn’t deem urgent at the moment. Thank you!