Server Settings
Configure server settings including port, address, database, and caching.
Basic Server Configuration
Configuration Options
port
Server port (default: 80)
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.
Privileged ports: For ports below 1024, Linux only allows a non-root process to bind if it has the NET_BIND_SERVICE capability (or net.ipv4.ip_unprivileged_port_start is lowered). Rootful Docker Engine / Docker Desktop usually includes NET_BIND_SERVICE in the default profile, so the non-root filebrowser user may still bind 80/443 there. bind: permission denied is more typical with rootless engines (Docker rootless, Podman rootless).
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.
| |
startupIntegrityCheck (default: quickCheck):
If you notice long delays on startup, you could configure this to probe (recommended) or off to reduce the startup check time.
quickCheck— Runs SQLitePRAGMA quick_check. Thorougher on very large databases.probe— Lightweight check (catalog / sample read); faster for huge indexes.off— Minimal check beyond opening the DB; fastest boot, least safety.
disableWebDAV
Disable WebDAV support (default: false).
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 maximum size of archive and unarchive operations (folder downloads, ZIP handling, etc.). The limit is the combined size of files involved, in gigabytes. Default is 20 GB. Set to 0 for no limit.
This cap exists because archiving uses temporary files under cacheDir and an unlimited value could exhaust disk or memory on the server.
Ensure you have enough free space in cacheDir if you raise this value.
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:
- 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:
Alternatively, in Docker, we can mount a single directory called data that contains the config, database files, and cacheDir. Check the Standalone docker setup guide to see how it’s done.
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.