Skip to content
Snippets Groups Projects
Verified Commit 25410932 authored by Martin Weise's avatar Martin Weise
Browse files

Updated docs

parent 9d2ab492
No related branches found
No related tags found
2 merge requests!235Master,!233Master
.docs/images/screenshots/ui-config-step-1.png

160 KiB

File moved
...@@ -16,16 +16,67 @@ author: Martin Weise ...@@ -16,16 +16,67 @@ author: Martin Weise
## Overview ## Overview
It provides a *user interface* (UI) for a researcher to interact with the database repository's API. It provides a graphical interface for a researcher to interact with the API (c.f. Figure 1).
<figure markdown> <figure markdown>
![Data ingest](images/ui.png){ .img-border } ![User Interface](images/screenshots/ui.png){ .img-border }
<figcaption>User Interface</figcaption> <figcaption>Figure 1: User Interface</figcaption>
</figure> </figure>
For examples on how to use the User Interface, visit the [Usage Overview](../usage-overview/) to find out how to create
users, databases and how to import your data.
### Settings
The User Interface can be configured extensively with
the [`dbrepo.config.json`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/dbrepo.config.json)
configuration file, mounted directly into the container with e.g. docker compose. As a small example, you can configure
the logo :material-numeric-1-circle-outline: in Figure 2. Make sure you mount the logo as image as well, in this example
we want to mount a custom logo `my_logo.png` into the container and specify the name.
<figure markdown>
![Architecture of the UI microservice](images/screenshots/ui-config-step-1.png){ .img-border }
<figcaption>Figure 2: Architecture of the UI microservice</figcaption>
</figure>
Text values like the version :material-numeric-2-circle-outline: and title :material-numeric-3-circle-outline: can be
configured as well via the `dbrepo.config.json` values file. The important links section
:material-numeric-4-circle-outline: can be modified or removed entirely by setting `page.information.links` to `[]`.
```json title="dbrepo.config.json"
{
"title": "Database Repository",
"version": "$TAG_DOCKER-COMPOSE",
"logo": {
"path": "/my_logo.png"
},
"page": {
"information": {
"links": []
}
},
...
}
```
To work, you need to mount the `my_logo.png` file into the `dbrepo-ui` container via the `docker-compose.yml` file (or
if you use a Kubernetes deployment via ConfigMap and Volumes).
```yaml title="docker-compose.yml"
services:
dbrepo-ui:
image: docker.io/dbrepo/ui:$TAG
volumes:
- ./my_logo.png:/app/static/my_logo.png
- ./dbrepo.conf.json:/app/dbrepo.conf.json
...
```
### Architecture
<figure markdown> <figure markdown>
![UI microservice architecture detailed](images/architecture-ui.svg) ![Architecture of the UI microservice](images/architecture-ui.svg)
<figcaption>Architecture of the UI microservice</figcaption> <figcaption>Figure 3: Architecture of the UI microservice</figcaption>
</figure> </figure>
### Example ### Example
......
...@@ -10,12 +10,33 @@ author: Martin Weise ...@@ -10,12 +10,33 @@ author: Martin Weise
Image: [`nginx:1.25-alpine-slim`](https://hub.docker.com/r/nginx) Image: [`nginx:1.25-alpine-slim`](https://hub.docker.com/r/nginx)
* Ports: 80/tcp, 443/tcp * Ports: 80/tcp
## Overview ## Overview
Provides a single point of access to the *application programming interface* (API) and configures a Provides a single point of access to the *application programming interface* (API) and configures a
standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/TLS configuration. standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing. This component is optional if you already have a load balancer
or reverse proxy running.
### Settings
To setup SSL/TLS encryption, mount your TLS certificate and TLS private key into the container directly into the
`/etc/nginx/` directory.
```yaml title="docker-compose.yml"
services:
dbrepo-gateway-service:
image: docker.io/nginx:1.25-alpine-slim
ports:
- "80:80"
- "443:443"
volumes:
- ./fullchain.pem:/etc/nginx/fullchain.pem
- ./privkey.pem:/etc/nginx/privkey.pem
...
```
If your TLS private key as a password, you need to specify it in the `dbrepo.conf` file.
## Limitations ## Limitations
...@@ -24,7 +45,7 @@ standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/T ...@@ -24,7 +45,7 @@ standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/T
## Security ## Security
1. Enable TLS encryption by downloading 1. Enable TLS encryption by downloading
the [`dbrepo.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-gateway-service/dbrepo.conf) the [`dbrepo.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-gateway-service/dbrepo.conf)
and editing the *server* block to include your TLS certificate (with trust chain) `fullchain.pem` and TLS private key and editing the *server* block to include your TLS certificate (with trust chain) `fullchain.pem` and TLS private key
`privkey.pem` (PEM-encoded). `privkey.pem` (PEM-encoded).
......
{ {
"title": "Database Repository", "title": "Database Repository",
"version": "vue-dev", "version": "1.4.0",
"ssl": { "ssl": {
"force": false "force": false
}, },
...@@ -79,15 +79,10 @@ ...@@ -79,15 +79,10 @@
}, },
"information": { "information": {
"links": [ "links": [
{
"text": "Release Notes",
"blank": true,
"href": "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/master/CHANGELOG.md"
},
{ {
"text": "Online Documentation", "text": "Online Documentation",
"blank": true, "blank": true,
"href": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4/" "href": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/"
}, },
{ {
"text": "Sourcecode Documentation", "text": "Sourcecode Documentation",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment