graph TD;
subgraph Polaris
Z[Docker Build]
end
Z[Docker Build] --> A(Ingress);
Z[Docker Build] --> B(Ingress);
subgraph GitLab
B[Container Registry] --> H(Images);
end
subgraph Server
A[Docker Pull] --> D(Traefik);
D[Traefik] --> E(Deployment:Analytics-Engine);
D[Traefik] --> F(Deployment:Rights-Engine);
D[Traefik] --> I(Deployment:Dashboard-SDK);
E(Deployment:Analytics-Engine)---id1[(MongoDB)]
F(Deployment:Rights-Engine)---id1[(MongoDB)]
I(Deployment:Dashboard-SDK)---id1[(MongoDB)]
end
Getting started
Each folder contains one of the components of
Login in the docker registry
If you are not already logged in, you need to authenticate to the Container Registry by using your GitLab username and password. If you have Two-Factor Authentication enabled, use a Personal Access Token instead of a password.
docker login registry.digitallearning.gmbh
Create Docker Network
Different containers communicate via a Docker network web
, which must be created before Docker compose files are executed.
docker network create web
LRS / MongoDB
First we need a database or LRS to store the xAPI Statements. In a local setup, you can use the docker container in the mongodb folder. Rename or copy the sample configuration. Please change all passwords in the configuration file.
cd mongodb
cp .env.sample .env
Now you can start the mongodb with the following command
docker compose up -d
Please check that the database is created:
docker compose ps
Rights engine
First create some jwt keys with the following command:
cd rights-engine
ssh-keygen -t rsa -b 4096 -m PEM -f id_rsa
openssl rsa -in id_rsa -pubout -outform PEM -out id_rsa.pub
Leave the passphrase empty. Rename or copy the sample configuration. Please change all passwords in the configuration file.
cp .env.sample .env
Now you can start the rights engine with the following command
docker compose up -d
Please check that all services are started:
docker compose ps
After that you should be able to visit http://localhost:80/ and see the rights engine.
Analytics engine
Rename or copy the sample configuration. Please change all passwords in the configuration file.
cd analytics-engine
cp .env.sample .env
Now you can start the analytics engine with the following command
docker compose up -d
Update Docker Images
docker compose pull