logo
Snip
  • Getting started
  • User Guide
  • Deployment
    • Getting started
    • Installation & Configuration
    • Maintenance
    • Troubleshooting
    • Customization
  • Development
  • Home

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.

  • v1.12.3 © 2021 - 2025
  • Sebastian B. Mohr
  • Markus Osterhoff
  • Schemas
  • Docs
  • Privacy policy
  • Imprint