This guide provides information on how to build and deploy Record Manager UI.
- NodeJS 14.x
Uses .env
to configure options like:
- url of backend
- application title in browser
- internationalization settings
See .env.example
for detailed description of options.
This repo contains example Docker Compose configurations that can be used to spin up Record Manager (runs at /record-manager) quickly, with Record Manager server (runs at /services/record-manager-server), a GraphDB repository (runs at /services/db-server), S-pipes form generation, and Keycloak (runs at /services/auth) as the authentication service optionally. The configuration uses published images of the dependent services.
The deployment is based on docker-compose.yml and described in Running with Dockerized Services and Internal Authorization.
By default, if no .env
is provided the application runs at http://locahost:1235/record-manager
.
It is possible to set up Record Manager behind reverse proxy using variables:
PUBLIC_ORIGIN
-- Public origin of URL where Record Manager UI will run, e.g.https://kbss.fel.cvut.cz
,http://kbss.fel.cvut.cz:8080
,http://localhost
.RECORD_MANAGER_ROOT_PATH
- Path to Record Manager UI (by default it is set to "/record-manager").
Example set up with reverse proxy:
- create
.env
file with following variables:
PUBLIC_ORIGIN=http://localhost
RECORD_MANAGER_ROOT_PATH=/record-manager-example
- set up apache2 reverse proxy on the host computer:
<VirtualHost *:80>
<Location /record-manager-example>
ProxyPass http://localhost:1235/record-manager nocanon
ProxyPassReverse http://localhost:1235/record-manager
</Location>
</VirtualHost>
- run the Record Manager UI at http://localhost/record-manager-example
The deployment is pretty much self-contained based on docker-compose.yml. It sets up the corresponding repositories, imports a realm where clients are configured for both the Record Manager backend and frontend.
To run the deployment for the first time, follow these steps:
- Create the
.env
file in directory deploy/keycloak-auth and set the following variables in it:KC_ADMIN_USER
,KC_ADMIN_PASSWORD
. - Run
docker compose up -d db-server
first. It uses a script that creates GraphDB repositories needed by the system. - Wait approximately 20s (check the log and wait for GraphDB to be fully up).
- Start the rest of the system by running
docker compose up -d --build
(--build
is used because Record Manager backend needs to be build) - Go to http://localhost:1235/services/auth, login to the Keycloak admin console using
KC_ADMIN_USER
andKC_ADMIN_PASSWORD
. - Select realm
record-manager
. - Add user accounts as necessary. Do not forget to assign them one of
ROLE_ADMIN
orROLE_USER
roles. - Go to http://localhost:1235/record-manger and log in using one of the created user accounts.
When running the deployment next time, just execute docker compose up -d --build
and go to http://localhost:1235/record-manger.