Customization of your instance
This guide is very much a work in progress and will be extended over time.
Adding fonts
Fonts may be added to the lab book. This can be done by adding the font files to the assets/fonts
folder and than registering the font in the database. After restarting the font should be available in the editor. This is done to ensure that the font is available and consistent across all clients.
You can register the font by running the following SQL command:
USE snip_perms;
INSERT INTO fonts (name, fpath) VALUES ('Font Name', 'font.ttf');
Keep in mind that some fonts may be protected by copyright and may not be used in a public instance without permission.
Adding Single Sign-On Providers
We allow you to add single sign on provider if they follow the OpenID Connect standard. For this make sure to mount the /config
folder in your docker-compose file. After startup and first navigation to deployment:/sso
you will find a sso_provider.yml
file in the config
folder. By default this file should look like this:
#Example SSO providers configuration file
providers:
- name: "Helmholz ID"
img: "helmholz.png" # -> /config/helmholz.png
description: "Login using the Helmholz AAI, allows a number of different institutions to authenticate."
# Provider id, used to match the provider to the callback
# Client ID and secret to authenticate client with the provider
type: "oidc"
providerId: "helmholz"
server: "https://login.helmholtz.de/oauth2"
clientId: "123"
clientSecret: "123"
You may add more providers by adding more entries to the providers
list.
The name
, description
and img
fields allow to customize the provider's appearance in the login screen. The img
field should be the path to an image in the /config
folder.
The type
field should be oidc
for OpenID Connect providers (at the moment the only supported type). The providerId
field should be a unique identifier for the provider. The server
field should be the URL of the provider's OpenID Connect server, this is used to get the provider's configuration according to the discovery standard.
The clientId
and clientSecret
fields should be the client ID and secret which the provider gives you when you register your application with them. For example you may find instructions on how to register an application with the Helmholz AAI here.
Setup should work while the container is running but you might need to have a look at the logs to see if there are any errors docker compose logs --timestamps
.