Skip to content

Configuration

System-wide settings are managed through environment variables. For configurations specific to a namespace or domain name, YAML files are used.

The YAML configuration files allow customization of the following:

  • Authentication options
  • Branding (e.g., logo, application name)
  • PWA settings (e.g., icons, display name)
  • File storage settings

YAML File Format

Below is an example YAML file with detailed explanations of each configurable setting:

---
# Authentication methods available for login.
auth:
- buttonLabel: # Text displayed on the login button, e.g., "Login with Google"
name: # Unique identifier for the method, e.g., "GoogleAuth"
options: {} # Key-value pairs for additional settings specific to the method
type: password # Type of authentication, e.g., "password", "oauth", or "ldap"
# Branding settings for the application's appearance.
branding:
logo: # Path or URL to the default logo.
logoDark: # Path or URL to the logo used in dark mode.
name: # Name of the application or brand.
# Settings for Progressive Web App (PWA) functionality.
pwa:
icon: # Path or URL to the icon used for the PWA on devices.
name: # Full name of the PWA, e.g., "BAUSW App."
shortName: # Shortened version of the name, displayed in compact spaces.
# Configuration for file storage.
storage:
maxUploadFileSize: 0 # Maximum upload size in bytes. Set to 0 for no limit.

Adding Configuration Files

Place YAML configuration files in the /bausw/server/config directory within the Docker container. The filename must match the domain name, followed by .yml or .yaml. Examples:

  • example.com.yml
  • bausw.example.com.yml
  • *.example.com.yml (applies to all subdomains)

Mounting Configuration Files

To include configuration files in the Docker container, add them to the volumes section of your Docker Compose file:

services:
bausw:
image: bausw:v3.x.x
env_file: ".env"
ports:
- "3000:3000"
volumes:
- server_data:/bausw/server/data
- config/:/bausw/server/config:ro
volumes:
server_data:

Authentication Methods

BAUSW supports multiple authentication methods. These are configured as an array under the auth property.

Examples

Password Authentication

This is the default authentication method:

auth:
- buttonLabel: "Login with Password"
name:
options:
registrations: true # Set to false to disable user registrations.
type: password

LDAP (Active Directory) Authentication

auth:
- buttonLabel: "Login with Active Directory"
name:
options:
url: "ldap://ldap.forumsys.com"
userDn: "uid=USERNAME,dc=example,dc=com" # USERNAME placeholder will be replaced at runtime.
userSearchBase: "dc=example,dc=com"
type: ldap

OAuth Authentication

Supported providers:

  • Microsoft Azure ("provider": "azure")
  • Google ("provider": "google")

Example for Azure:

auth:
- buttonLabel: "Login with Azure"
name:
options:
clientId: "your-client-id"
clientSecret: "your-client-secret"
provider: "azure"
type: oauth
``