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``