You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.
close
You are viewing the article in preview mode. It is not live at the moment.
Home > LOGS SDMS > Installation > Server Configurations
Server Configurations
print icon

LOGS Server Configuration

This document describes the main configuration file used by the LOGS application.

Minimal Example Configuration

Below is a minimal configuration that satisfies all required fields:

[Server]
HttpPort = 80
ListenAddress = "0.0.0.0"
AllowHttp = true

[Database]
User = "logsuser"
Password = "logspassword"
Host = "localhost"
Database = "logsdb"

[Paths]
Files = "/opt/logs/files"
Cache = "/opt/logs/cache"
Logs = "/opt/logs/log"
Apps = "/opt/logs/apps"

[[Groups]]
Id = "example"
Enabled = true

Full Example Configuration

[Server]
HttpPort = 80
HttpsPort = 443
ListenAddress = "0.0.0.0"
AllowHttp = true
AcmeWellKnownPath = "/.well-known/acme-challenge"
CertificatePath = "/etc/ssl/certs/server.crt"
KeyPath = "/etc/ssl/private/server.key"

[Server.Hsts]
MaxAge = 31536000
IncludeSubdomains = true

[Database]
User = "logsuser"
Password = "logspassword"
Host = "localhost"
Database = "logsdb"
Port = 5432

[Paths]
Files = "/opt/logs/files"
Cache = "/opt/logs/cache"
Config = "/opt/logs/config"
Logs = "/opt/logs/log"
Temp = "/opt/logs/tmp"
Apps = "/opt/logs/apps"
Licenses = "/opt/logs/licenses"

[SystemPaths]
Chromium = "/snap-bin-chrome"

[[Groups]]
Id = "example"
Enabled = true

# These settings only apply to the "example" group
[Groups.Settings]
Enable2FA = true

[Settings]
EnableBarcodeDisplay = true
MaxUploadSizeMb = 4096

Overview

In [Server], define where the LOGS server listens and configure TLS/HTTPS. To restrict LOGS to local access, change ListenAddress from "0.0.0.0" (all interfaces) to "127.0.0.1" (localhost).

At least one of HttpPort and HttpsPort is required. If only HTTPS is enabled, CertificatePath and KeyPath are required. When both HTTP and HTTPS are configured without a certificate and key, LOGS starts with HTTP only and emits a warning.

[Settings] contains global feature settings. The same settings may be placed in [Groups.Settings] after a [[Groups]] entry to enable a setting for that group. Global settings remain effective for every group; group settings can enable additional settings and supply group-specific values where supported. All settings are optional and use the defaults listed below.

Configuration Reference

[Server]

  • HttpPort (int, optional): HTTP port to listen on. Either this or HttpsPort is required.
  • HttpsPort (int, optional): HTTPS port to listen on. Either this or HttpPort is required.
  • ListenAddress (string, required): IP address to bind, for example "0.0.0.0".
  • AllowHttp (bool, optional): Whether unencrypted HTTP connections are allowed. When set to false, LOGS will automatically redirect all requests to the HTTP port to HTTPS
  • AcmeWellKnownPath (string, optional): Path used for ACME HTTP challenges (Let's Encrypt).
  • CertificatePath (string, optional): TLS certificate path.
  • KeyPath (string, optional): TLS private-key path.

[Server.Hsts]

  • MaxAge (int, optional, default 0): HSTS max age in seconds.
  • IncludeSubdomains (bool, optional, default false): Apply HSTS to subdomains.

[Database]

  • User (string, required): Database username.
  • Password (string, required): Database password.
  • Host (string, required): Database host.
  • Database (string, required): database name (must be all lowercase).
  • Port (int, optional, default 5432): Database port.

[Paths]

  • Files (string, required): Path for file storage.
  • Cache (string, required): Path for cache storage.
  • Config (string, optional): Path for legacy configuration files.
  • Logs (string, required): Path for logs.
  • Temp (string, optional): Path for temporary files.
  • Apps (string, required): Path for application/download files.
  • Licenses (string, optional): Path for license files. Other fallback locations are also checked for license files.

[SystemPaths]

  • Parsing (string, optional): Path to the parsing installation.
  • ParserExecutor (string, optional): Path to the parser-executor binary.
  • Chromium (string, optional): Path to the Chromium binary.

[[Groups]]

  • Id (string, required): Group identifier. It must start with a letter or number and may otherwise contain letters, numbers, -, and _. The identifiers api, groups, admin, and status are reserved.
  • Enabled (bool, optional, default false): Whether the group is enabled.
  • [Groups.Settings]: Optional group-level feature settings. It supports every option listed in [Settings].

[Settings] and [Groups.Settings]

The following feature settings are accepted in both sections. Boolean settings default to false unless another default is shown.

Option Type and default Description
Eln bool, true Enables the electronic lab notebook feature.
JobQueueMaxThreadCount int, unset Maximum number of job-queue worker threads.
AllowGenericFiles bool, false Allows generic files.
DisablePublicGroups bool, true Hides public groups from the authentication group endpoint.
ActiveDatasetClasses string, unset Comma-separated list of active dataset classes.
NumberOfParallelSftpConnections int, 10 Maximum number of parallel SFTP connections.
NumberOfParallelTransientSftpConnections int, 5 Maximum number of parallel transient SFTP connections.
EnableBarcodeDisplay bool, false Displays UUID barcodes on entity detail pages.
PermanentlyRemoveDatasetFilesAfterDays int, 30 Number of days before permanently removing dataset files; values below 1 are treated as 1.
Enable2FA bool, false Enables two-factor authentication.
AutoLogoutAfterMinutes int, unset Automatically logs users out after this many minutes.
EnableMweb bool, false Enables the MWEB feature.
EnableStrictCustomTypeLocking bool, false Enables strict custom-type locking.
EnableZontalIntegration bool, false Enables ZONTAL integration.
EnableZontalAutomaticDataPush bool, false Enables automatic data push to ZONTAL.
MaxUploadSizeMb int, 4096 Maximum upload size in MiB.

[Authentication]

The Authentication section is optional. It is used to configure Single-Sign-On (SSO). Configure LDAP and/or OIDC by adding the relevant subsection.

[Authentication.LDAP]

  • Url (string): LDAP server URL.
  • BindTemplate (string): Template used to bind a user, such as "cn=${username},dc=example,dc=org".
  • ServiceDn (string, optional): Distinguished name of the service account used for LDAP searches.
  • ServicePassword (string, optional): Password for ServiceDn.
  • ServiceScope (string, optional): LDAP search scope for service-account searches.
  • ServiceSearchBase (string, optional): Base DN for service-account searches.
  • ServiceSearchTemplate (string, optional): LDAP filter template for service-account searches.
  • SearchScope (string): LDAP search scope for user searches.
  • SearchBase (string): Base DN for user searches.
  • SearchTemplate (string): LDAP filter template for user searches, such as "(cn=${username})".
  • VerboseLogging (bool, optional, default false): Enables verbose LDAP logging.

[Authentication.LDAP.UserCreation]

  • UserEnabledByDefault (bool, optional, default true): Enables newly created LDAP users by default.
  • DefaultRoles (array of strings): Role names assigned to newly created LDAP users.

[Authentication.LDAP.UserCreation.Mappings]

  • LastName (string, optional): LDAP attribute mapped to the user's last name.
  • FirstName (string, optional): LDAP attribute mapped to the user's first name.
  • Email (string, optional): LDAP attribute mapped to the user's email address.

[Authentication.LDAP.UserCreation.Home]

  • From (string, optional): LDAP attribute used to derive the user's home project.
  • ResolveDuplicates (bool, optional, default false): Resolve duplicate home-project values.
  • UseExisting (bool, optional, default false): Use an existing matching home project.

[Authentication.OIDC]

  • Authority (string): OIDC issuer/authority URL.
  • ClientId (string): OIDC client identifier.
  • UserEnabledByDefault (bool, optional, default false): Enables newly registered OIDC users by default.
  • DefaultRole (int, optional): Numeric ID of the role assigned to newly registered OIDC users.

[Authentication.OIDC.ProfileMapping]

  • LastName (string, optional, default family_name): OIDC claim used for the user's last name.
  • FirstName (string, optional, default given_name): OIDC claim used for the user's first name.
  • Email (string, optional, default email): OIDC claim used for the user's email address.
  • Login (string, optional, default email): OIDC claim used for the user's login name.
Feedback
0 out of 0 found this helpful

scroll to top icon