Docker
The fastest way to get started with FileBrowser Quantum.
Available Images
Images from Docker Hub (gtstef/filebrowser) and GitHub Container Registry (ghcr.io/gtsteffaniak/filebrowser):
| Tag | Size | Features | Architectures |
|---|---|---|---|
latest, stable | 60 MB | FFmpeg + document preview | arm64, amd64 |
stable-slim | 15 MB | Core service only (no media/office) | arm64, arm32, amd64 |
beta | 60 MB | FFmpeg + document preview | arm64, amd64 |
beta-slim | 15 MB | Core service only (no media/office) | arm64, arm32, amd64 |
(Learn about version tags here.)
Quick Try
Test without persistence (changes not saved):
Access at http://localhost with admin / admin
Basic Setup with Docker Compose
This set up is just to get the feel of FileBrowser before you get into customization, defining access control, etc. For regular use, Check out the slightly upgraded guide here.
Step 1: Create a base folder for FileBrowser
| |
Step 2: Create Config
Create a new config.yaml file in the same directory:
| |
Then fill out your config as needed, for example:
Important: Source path specified in the config.yaml are in terms of container point of view. (Check this page for more information on configurations.)
Step 3: Create Docker Compose
Create docker-compose.yaml in the same directory.
| |
Then type in the below docker configuration.
Step 4: Start
| |
Healthcheck Configuration
The FileBrowser Docker image includes a default healthcheck that uses port 80:
If you configure FileBrowser to use a different port in your config.yaml, you must override the healthcheck in your docker-compose.yaml to match:
| |
Healthcheck options:
test- Command to run (must match your configured port)interval- Time between health checks (default: 30s)timeout- Time to wait for response (default: 3s)start_period- Grace period on startup (default: 10s)retries- Number of failures before marking unhealthy (default: 3)
Database Location
Default Database Location: In Docker, the default database location is /home/filebrowser/data/database.db. This is different from the standalone default of ./database.db in the current directory.
To persist your database, mount a volume to /home/filebrowser/data:
See Server configuration and configuration file priority for more information on database paths.
Running as Non-Root
FileBrowser Quantum docker images have a non-default filebrowser user built-in. This user has UID:GID of 1000:1000. You can use it by specifying a user in docker compose.
Add to docker-compose.yaml:
You can also specify any user UID:GID, but you will also need to mount a temp directory that the user has filesystem permissions to. (See cacheDir config)
Create tmp in your FileBrowser directory and change owner for it to the ID of the user/group as mentioned in docker-compose file.
| |