settings
Configuration Files
What is a Config File?
A configuration file (config file) is a YAML file that defines how FileBrowser Quantum should work. While FileBrowser can run without a config file using default settings, a config file is generally necessary and allows you to customize:
- Server settings (port, database location, sources)
- Authentication methods (password, OIDC, proxy)
- User management and permissions
- Frontend customization (themes, branding)
- Media and office integrations
See an example config file on github.
How to Specify a Config File
FileBrowser looks for configuration in the following order of priority:
1. Command Line Argument
./filebrowser -c /path/to/config.yaml2. Environment Variable
export FILEBROWSER_CONFIG="/path/to/config.yaml"
./filebrowser3. Default Locations
- Current directory (
./config.yaml) - Docker default:
/home/filebrowser/data/config.yaml
Docker Configuration
Using Docker Run
# Mount your config file
docker run -d \
-v /path/to/your/config.yaml:/home/filebrowser/data/config.yaml \
-v /path/to/your/folder:/folder \
-p 80:80 \
gtstef/filebrowser:betaUsing Docker Compose
services:
filebrowser:
volumes:
- '/path/to/folder:/folder'
- './data:/home/filebrowser/data'
ports:
- '80:80'
image: gtstef/filebrowser
restart: unless-stoppedBasic Configuration Example
Here’s a minimal config file to get you started:
server:
sources:
- path: "/path/to/your/files" # or '/folder' in above example
config:
defaultEnabled: true # Give access to all users by default
auth:
adminUsername: admin
adminPassword: adminConfiguration Options
FileBrowser supports extensive configuration options. You can view the complete configuration reference at:
- Full config example: Configuration Reference
- Current config: In the web UI, Admins can go to Settings > System & Admin > Load Config
Key Configuration Sections
- Server Settings: Port, database, sources, caching
- Authentication: Password, OIDC, proxy authentication
- Users: User management and permissions
- Frontend: UI customization, themes, branding
- Integrations: Media (FFmpeg) and office (OnlyOffice) support
Best Practices
1. Keep It Simple
Only configure the settings you need. A minimal config is easier to read and maintain:
server:
sources:
- path: "/data"
config:
defaultEnabled: true
auth:
adminUsername: admin2. Use Environment Variables for Secrets
Instead of putting secrets in your config file, use environment variables:
# In config.yaml
auth:
methods:
oidc:
enabled: true
clientId: "${OIDC_CLIENT_ID}"
clientSecret: "${OIDC_CLIENT_SECRET}"3. Restart After Changes
Configuration changes require a restart to take effect:
# Stop FileBrowser
# Edit your config.yaml
# Start FileBrowser again
./filebrowser -c config.yamlNext Steps
- Configuration Overview - Complete configuration guide
- Full Configuration Reference - All available options
- Source Configuration - Configure file sources
- Authentication Setup - Set up authentication methods