Skip to content

Getting Started

Graham Steffaniak edited this page Jun 14, 2025 · 40 revisions

Try it out

How to try out filebrowser -- no persistent database (default username and password is admin/admin)

with docker

Available docker images

images are available from dockerhub gtstef/filebrowser and github ghcr ghcr.io/gtsteffaniak/filebrowser

image tag Download Size features description
latest, beta 60 MB ffmpeg and some document preview support (archs: arm64, amd64) this is the main image, which currently has the most features. Use this if you are working with documents -- even if you intend to include office integration.
beta-slim 15 MB core functionality for (archs: arm64, arm32, amd64) does not include media or office support in any way
dev 60 MB unstable, has ongoing new changes (archs: arm64, amd64) No not use

To try out using docker run, (changes will not be saved on exit):

  1. This will run with the default config and no persistent db -- just to try it out. You can log in with admin/admin:
docker run -d -it -v /path/to/your/folder/to/use:/srv -p 80:80 gtstef/filebrowser:beta

without docker

Go to releases and download the executable that matches your platform. Remember to install ffmpeg on your system if you want video preview support.

Note

You may need to enable executable permissions first. And platforms like macos will block and require allowing in security & privacy settings

You can execute the program (via running .\filebrowser.exe -c config.yaml on windows or ./filebrowser -c config.yaml on other platforms).

Tip

If you don't have a config file yet, you can generate one interactively with .\filebrowser.exe setup, which will ask a few questions and optionally backup/move any database you might have created by accident.

What is a config file? What should I use?

By default, starting v0.7.5 will run without a config file, with a default source being the current directory.

However, a config file is generally necessary, you can download this example config and modify as needed with your sources path (absolute or relative paths are allowed).

Note

A full list of config file options can be found on the full config example wiki.

non-root filebrowser user in docker is possible. When running as non-root or filebrowser make sure you either specify a server.cacheDir that points to a directory the user has permission to (creating one beforehand if necessary). By default the filebrowser attempts to create tmp directory in current directory.

docker run -u filebrowser -it -v $(pwd)/config.yaml:/home/filebrowser/config.yaml -v /path/to/folder:/srv -p 80:80 gtstef/filebrowser

Docker Compose

  1. I recommend using docker-compose if you want to run with a persistent database:

example docker-compose.yaml:

services:
  filebrowser:
    volumes:
      - '/path/to/folder:/folder'
      # optional if you want db to persist - configure a path under "database" dir in config file.
      - './database:/home/filebrowser/database'
      - './config.yaml:/home/filebrowser/config.yaml'
      # optional mount a temp directory to use. Generally, there is no need for this unless your user is not root or filebrowser.
      # - './tmp/:/home/filebrowser/tmp/'
    ports:
      - '80:80'
    image: gtstef/filebrowser
    # Optionally run as non-root filebrowser user
    #user: filebrowser
    restart: unless-stopped

Then, make sure to mount a modified config file that points to the database file you want to use:

server:
  port: 80
  database: "database/database.db" # placing in the database directory so it shows up on the host with that volume mounted in `docker-compose.yaml`.
  sources:
    - path: /folder # corresponds to the folder mounted above in docker-compose
auth:
  adminUsername: admin
  adminPassword: admin

Whats next?

Want to configure your FileBrowser more? See configuration wiki.

Clone this wiki locally