
Deploy filebrowser on Your Own Server
filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files with supports for multi users.
Want to deploy filebrowser on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is filebrowser?
filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. IMPORTANT: The default image maps an empty volume to FileBrowser in order to avoid exposing your files, but after you finished installation and changed the password you can mount the root directory of host. i.e. / to /srv in the app.
Self-Host filebrowser
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
filebrowser:
image: filebrowser/filebrowser:v2.36.1-s6
environment:
PGID: "0"
PUID: "0"
volumes:
- filebrowser-database:/database
- filebrowser-files:/srv
- filebrowser-config:/config
volumes:
filebrowser-database: {}
filebrowser-files: {}
filebrowser-config: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host filebrowser?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
filebrowser/filebrowser:${filebrowser_version}Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"