File link urls in Dockerised Omeka-S behind reverse proxy?


#1

Maybe this is a trivial question but how do I configure Omeka-S so that I can access files in dockerised Omeka-S behind reverse proxy?

There is a Apache proxy with virtualhost configuration and Omeka-S is running in Docker (localhost:8080).
So I have “https://omekas.someplace.com”. Everything works but I can’t see files in the user side or the admin side.

If I add file, it points to a localhost like this:
"http://localhost:8080/files/original/ff38dac72557e80f9c4f1497c9d168a605bc0eb3.jpg"
when it should point to:
https://omekas.someplace.com/files/original/ff38dac72557e80f9c4f1497c9d168a605bc0eb3.jpg


#2

I’ve tried to search if there is a configuration for this but no luck so far. Is there such thing?
If there is no configuration, then any hints are welcome where I could set the base url for the file links.


#3

I solved this by modifying application/src/Service/File/Store/LocalFactory.php
I just removed serverUrl and set $webPath pointing to the root of the domain:

$webPath = "/files";
$fileStore = new Local($localPath, $webPath, $logger);

After few tests everything seems to be working.


#4

@arttu, I don’t think it’s trivial to set up this stuff. Do you have your Docker files published anywhere?

I think it would be great to include some working Docker implementation instructions in the Omeka S docs somewhere; otherwise, at least a link here to a GitHub gist would really help (non-sysadmin) community members to get a setup like this operational (myself included).


#5

@allanberry, I used this for testing:

I think that I’ll use this for production:
https://hub.docker.com/r/boredland/omeka-s-docker/


#6

This is great, @arttu. Thanks very much. :grinning:

I’ll give it a whirl, and ping back with any questions. Thanks!