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 quickly, with Record Manager server, a GraphDB repository, S-pipes form generation, and Keycloak 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. All the services (except PostgreSQL used by Keycloak) in the deployment export their ports to the host system, so ensure the following ports are available on your system: 3000, 8080, 8081, 8088.
To run the deployment for the first time, follow these steps:
- Create the
.env
file 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:8088, 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:3000 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:3000.