Skip to content
This repository has been archived by the owner on Jul 27, 2023. It is now read-only.

Ilias object field value storage

Notifications You must be signed in to change notification settings

fluxfw/flux-ilias-object-field-value-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flux-ilias-object-field-value-storage

Ilias object field value storage

Set up

You need to fill placeholders (Wrapped in %), create secret files and adjust to your needs (Applies everywhere)

flux-field-value-storage

You need a flux-field-value-storage server

Set up

Docker

Compose

services:
    flux-ilias-object-field-value-storage:
        depends_on:
            - flux-field-value-storage
        environment:
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_AUTHENTICATION_PASSWORD_FILE=/run/secrets/flux_ilias_object_field_value_storage_password
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PASSWORD_FILE=/run/secrets/flux_field_value_storage_password
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HOST=%ilias-host%
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PASSWORD_FILE=/run/secrets/ilias_rest_password
        image: fluxfw/flux-ilias-object-field-value-storage:%version%
        secrets:
            - flux_field_value_storage_password
            - flux_ilias_object_field_value_storage_password
            - ilias_rest_password
secrets:
    flux_ilias_object_field_value_storage_password:
        file: ./data/secrets/flux_ilias_object_field_value_storage_password
    ilias_rest_password:
        file: ./data/secrets/ilias_rest_password

If you use flux-ilias on the same compose file (Or same network)

services:
    flux-ilias-object-field-value-storage:
        environment:
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HOST=nginx
            - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PROTOCOL=http

Config

Config Default value Environment variable Cli parameter Config JSON file
Config JSON file
(Root entry need to be an object)
- FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_CONFIG_FILE --config-file ... -
Authentication password - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_AUTHENTICATION_PASSWORD
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_AUTHENTICATION_PASSWORD_FILE
--authentication-password ...
--authentication-password-file ...
"authentication-password": "..."
"authentication-password-file": "..."
Authentication user flux-ilias-object-field-value-storage FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_AUTHENTICATION_USER
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_AUTHENTICATION_USER_FILE
--authentication-user ...
--authentication-user-file ...
"authentication-user": "..."
"authentication-user-file": "..."
flux-field-value-storage host flux-field-value-storage FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_HOST
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_HOST_FILE
--flux-field-value-storage-host ...
--flux-field-value-storage-host-file ...
"flux-field-value-storage-host": "..."
"flux-field-value-storage-host-file": "..."
flux-field-value-storage HTTPS certificate
(For trust self signed)
- FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_HTTPS_CERTIFICATE
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_HTTPS_CERTIFICATE_FILE
--flux-field-value-storage-https-certificate ...
--flux-field-value-storage-https-certificate-file ...
"flux-field-value-storage-https-certificate": "..."
"flux-field-value-storage-https-certificate-file": "..."
flux-field-value-storage password - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PASSWORD
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PASSWORD_FILE
--flux-field-value-storage-password ...
--flux-field-value-storage-password-file ...
"flux-field-value-storage-password": "..."
"flux-field-value-storage-password-file": "..."
flux-field-value-storage port (443 or 80) FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PORT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PORT_FILE
--flux-field-value-storage-port ...
--flux-field-value-storage-port-file ...
"flux-field-value-storage-port": ...
"flux-field-value-storage-port-file": ...
flux-field-value-storage protocol http FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PROTOCOL
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_PROTOCOL_FILE
--flux-field-value-storage-protocol ...
--flux-field-value-storage-protocol-file ...
"flux-field-value-storage-protocol": "..."
"flux-field-value-storage-protocol-file": "..."
flux-field-value-storage user flux-field-value-storage FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_USER
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_FLUX_FIELD_VALUE_STORAGE_USER_FILE
--flux-field-value-storage-user ...
--flux-field-value-storage-user-file ...
"flux-field-value-storage-user": "..."
"flux-field-value-storage-user-file": "..."
ILIAS client default FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_CLIENT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_CLIENT_FILE
--ilias-client ...
--ilias-client-file ...
"ilias-client": "..."
"ilias-client-file": "..."
ILIAS host - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HOST
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HOST_FILE
--ilias-host ...
--ilias-host-file ...
"ilias-host": "..."
"ilias-host-file": "..."
ILIAS HTTPS certificate
(For trust self signed)
- FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HTTPS_CERTIFICATE
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_HTTPS_CERTIFICATE_FILE
--ilias-https-certificate ...
--ilias-https-certificate-file ...
"ilias-https-certificate": "..."
"ilias-https-certificate-file": "..."
ILIAS password - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PASSWORD
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PASSWORD_FILE
--ilias-password ...
--ilias-password-file ...
"ilias-password": "..."
"ilias-password-file": "..."
ILIAS port (443 or 80) FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PORT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PORT_FILE
--ilias-port ...
--ilias-port-file ...
"ilias-port": ...
"ilias-port-file": ...
ILIAS protocol https FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PROTOCOL
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_PROTOCOL_FILE
--ilias-protocol ...
--ilias-protocol-file ...
"ilias-protocol": "..."
"ilias-protocol-file": "..."
ILIAS user rest FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_USER
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_ILIAS_USER_FILE
--ilias-user ...
--ilias-user-file ...
"ilias-user": "..."
"ilias-user-file": "..."
Server disable http if https is used true FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_DISABLE_HTTP_IF_HTTPS
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_DISABLE_HTTP_IF_HTTPS_FILE
--server-disable-http-if-https ...
--server-disable-http-if-https-file ...
"server-disable-http-if-https": ...
"server-disable-http-if-https-file": "..."
Server HTTPS certificate
(HTTPS is only used if this config is set)
- FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_CERTIFICATE
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_CERTIFICATE_FILE
--server-https-certificate ...
--server-https-certificate-file ...
"server-https-certificate": "..."
"server-https-certificate-file": "..."
Server HTTPS dh param - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_DHPARAM
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_DHPARAM_FILE
--server-https-dhparam ...
--server-https-dhparam-file ...
"server-https-dhparam": "..."
"server-https-dhparam-file": "..."
Server HTTPS private key
(HTTPS is only used if this config is set)
- FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_KEY
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_HTTPS_KEY_FILE
--server-https-key ...
--server-https-key-file ...
"server-https-key": "..."
"server-https-key-file": "..."
Server listen HTTP port
(Set to 0 for explicit disable HTTP)
80 FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_HTTP_PORT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_HTTP_PORT_FILE
--server-listen-http-port ...
--server-listen-http-port-file ...
"server-listen-http-port": ...
"server-listen-http-port-file": "..."
Server listen HTTPS port
(Set to 0 for explicit disable HTTPS)
443 FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_HTTPS_PORT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_HTTPS_PORT_FILE
--server-listen-https-port ...
--server-listen-https-port-file ...
"server-listen-https-port": ...
"server-listen-https-port-file": "..."
Server listen interface - FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_INTERFACE
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_LISTEN_INTERFACE_FILE
--server-listen-interface ...
--server-listen-interface-file ...
"server-listen-interface": "..."
"server-listen-interface-file": "..."
Enable server redirects HTTP to HTTPS false FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS_FILE
--server-redirect-http-to-https ...
--server-redirect-http-to-https-file ...
"server-redirect-http-to-https": ...
"server-redirect-http-to-https-file": "..."
Server redirect HTTP to HTTPS port 443 FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS_PORT
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS_PORT_FILE
--server-redirect-http-to-https-port ...
--server-redirect-http-to-https-port-file ...
"server-redirect-http-to-https-port": ...
"server-redirect-http-to-https-port-file": "..."
HTTP status code server redirects HTTP to HTTPS 302 FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS_STATUS_CODE
FLUX_ILIAS_OBJECT_FIELD_VALUE_STORAGE_SERVER_REDIRECT_HTTP_TO_HTTPS_STATUS_CODE_FILE
--server-redirect-http-to-https-status-code ...
--server-redirect-http-to-https-status-code-file ...
"server-redirect-http-to-https-status-code": ...
"server-redirect-http-to-https-status-code-file": "..."

Required config are bold

flux-ilias-rest-api

You need flux-ilias-rest-api on your ILIAS server

Set up

RUN echo -e 'location /flux-ilias-object-field-value-storage/ui/ {\n    proxy_pass http://flux-ilias-object-field-value-storage/ui/;\n    proxy_pass_request_headers off;\n}\nrewrite ^/flux-ilias-object-field-value-storage/api/(.*)$ /flux-ilias-rest-api-proxy/flux-ilias-object-field-value-storage/$1;' > /flux-ilias-nginx-base/src/custom/flux-ilias-object-field-value-storage.conf

Web Proxy

Target key: flux-ilias-object-field-value-storage

iframe url: https://%ilias-host%/flux-ilias-object-field-value-storage/ui/

Page title: flux-ilias-object-field-value-storage

Short title: flux-ilias-object

View title: field-value-storage

Menu item: Yes

Menu title: flux-ilias-object-field-value-storage

Custom menu icon url: https://%ilias-host%/templates/default/images/outlined/icon_dcl.svg

Visible menu item only for users with administrator role: Yes

Api Proxy

Target key: flux-ilias-object-field-value-storage

Url: http://flux-ilias-object-field-value-storage/flux-ilias-rest-api-proxy

User: flux-ilias-object-field-value-storage

Password: %...%