Skip to content
Ondrej Kosarko edited this page Dec 6, 2024 · 1 revision

You'll need to set up more than just the cfg/.env properties. This wiki is written specifically for Docker installation.

1. Set up .env or docker-compose properties.

.env

  • DSPACE_REST_NAMESPACE
  • DSPACE_UI_NAMESPACE

docker-compose

  • in docker-compose.yml: DSPACE_REST_NAMESPACE and DSPACE_UI_NAMESPACE property

2. Create a symlink for Tomcat in the Docker container to ensure the backend operates at the correct URL

  • in docker-compose-rest, service: dspace, section: entrypoint, add: pushd ../webapps && unlink server && ln -s /dspace/webapps/server/ '<YOUR_NAMESPACE_CHANGE_ME>#server' && popd

3. Update namespace in the discojuice

  • in aai.js change variable namespace to your namespace value
  • You can directly mount the aai.js file into the FE dist folder like this: /aai.js:/app/dist/browser/aai.js. Add this line to the docker-compose.yml file under the volumes section.

4. Update Nginx to properly serve the UI assets.

  • assets path ignores your namespace configuration. The UI is just trying to fetch the data (images,...) from the UI_URL/assets and not from UI_URL/<NAMESPACE>/assets

5. WARNING: the UI and BE URL must have the same origin

The issue is that the Referer in the UI request does not include the /repository/ namespace. Due to the Referrer Policy: strict-origin-when-cross-origin, the UI request ignores the namespace if the UI and backend have different URLs (i.e., different ports).

6. WARNING: the namespace value must start and ends with /

  • e.g., /repository/
Clone this wiki locally