Server Settings
Configure server settings including port, address, database, and caching.
Basic Server Configuration
Configuration Options
port
Server port (default: 8080)
Docker Healthcheck: If you change the port from the default (80), you must update the Docker healthcheck in your docker-compose.yaml to match the new port. See Docker healthcheck configuration for details.
listen
Server listen address (default: 0.0.0.0)
baseURL
Base URL – primarily for reverse proxy
socket
Unix socket to listen on (alternative to TCP port). When set, overrides port configuration.
minSearchLength
Minimum length of search query to begin searching (default: 3)
disableUpdateCheck
Disable backend update check service
numImageProcessors
Number of concurrent image processing jobs used to create previews. Default is number of CPU cores available.
disablePreviews
Disable all previews and thumbnails. Simple icons will be used instead.
disablePreviewResize
Disable resizing of previews for faster loading over slow connections.
disableTypeDetectionByHeader
Disable type detection by header. Useful if filesystem is slow.
externalUrl
Used by share links if set. This is the base domain that share links will use.
cacheDirCleanup
Whether to automatically cleanup the cache directory. Note: Docker must also mount a persistent volume to persist the cache (default: false).
filesystem
Filesystem settings for file and directory creation permissions.
indexSqlConfig
Index database SQL configuration for performance tuning.
| |
sources
Configure file system sources. See Sources configuration for detailed information.
logging
Configure logging output and levels. See Logging configuration for detailed information.
database
Database file path. See configuration file priority for default locations.
Default locations:
- Current directory:
./database.db - Docker: first checks
/home/filebrowser/data/database.db, then current directory./database.db
maxArchiveSize
FileBrowser limits the maxiumum size of archive – this affects folder downloads. This is limited to 50GB by default, which means the pre-archive combined size of a directory to be downloaded must be 50GB or less. This is necessary because archiving will store temporary files and that could exhaust the server if left unlimited.
Ensure you have enough free space available in your cacheDir if you choose to increase this further.
cacheDir
The cacheDir is a critical configuration that defines where FileBrowser stores temporary files during various operations. By default, a tmp folder is created in the same directory as the program is run, but this may not be ideal. For example unRAID uses a different user by default and that causes permission issues with the default cache directory creation process.
Important Considerations
Permissions: The user running the FileBrowser process must have read/write permissions on the cache directory. This is especially critical in Docker environments.
Disk Space: The cache directory can grow significantly during large file operations. Monitor disk usage and ensure adequate space. If you are using docker – consider mounting a sufficient volume for temp directory if you need more space.
Reliable: Must be available and not tampered with during operation. Make sure its not in a location that could be moved or modified by accident. Do not use network locations!
unRAID Users: If you’re using unRAID, you must mount a volume for the cache directory. The default container user (if not uid 1000) needs write access to this directory.
The cacheDir is used by:
- Chunked file uploads: Each upload chunk is temporarily stored here before being assembled
- Image preview generation: Thumbnails and processed images are cached
- Archive operations: ZIP extraction and compression temporary files
- Document processing: Temporary files during PDF/image conversion
- Video processing: Some media files during video operations
Docker Examples
Basic Docker Setup:
Corresponding config.yaml:
Corresponding config.yaml:
Troubleshooting
Permission Issues:
By default, filebrowser uses uid 1000 for the user (you can change that):
internalUrl
Internal URL for integrations to access filebrowser (Currently just OnlyOffice)
this could be a docker network dns name or a local IP address on the network. This address should allow the integration to communicate directly with the service.