Skip to content

How to setup FileBrowser (with Docker & Caddy)

Ready to use

Description

File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface.

Create a DNS record

Go to cPanel and add a new record (e.g. files.akdscloud.eu).

Caddy

files.akdscloud.eu:443 {
    header Strict-Transport-Security max-age=31536000;
    reverse_proxy localhost:8095
}

Files and Folders

Create the folder structure.

cd ~/services
mkdir -p filebrowser common/downloads
touch filebrowser/{filebrowser.db,settings.json}

Add the following content to settings.json.

{
  "port": 80,
  "baseURL": "",
  "address": "",
  "log": "stdout",
  "database": "/database/filebrowser.db",
  "root": "/downloads"
}

Docker

  1. Add the filebrowser section to your docker-compose.yml file:

      filebrowser:
        image: filebrowser/filebrowser:latest
        container_name: filebrowser
        volumes:
          - ./common/downloads:/downloads
          - ./filebrowser/filebrowser.db:/database/filebrowser.db
          - ./filebrowser/settings.json:/config/settings.json
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/Bucharest
        ports:
          - 8095:80 #Change the port if needed
        restart: unless-stopped
        depends_on:
          - caddy
    
  2. Download and start filebrowser:

    docker compose up -d filebrowser
    
  3. Restart Caddy to get an SSL certificate (details here)

Try it out

See if you can access the FileBrowser web interface.

The default credentials are: admin/admin.

See if it works as expected.
You can try the following:

  • browse the existing files/folders
  • upload some files
  • upload some folders (yes, you can actually upload folders, too)
  • download some files
  • download some folders
  • delete some files
  • delete some folders

Troubleshooting

If it doesn't work, see the troubleshooting guide.

Configuration

Admin password

You should change the default admin password to a stronger one.

Official site

Github page