Skip to content

Feat: Filebrowser -> added to my deployment howto #6

Description

@daemon31337

Update 5/5/25: Fixed .env and compose file to only use the .env for environment variables. Removed hostname in local .env as that is now set in the main .env in /opt/docker/apps

Filebrowser - something I use as a simple method to upload and download files, it also automatically compresses large sets of files or directories. I find it useful to backup and move files to/from my personal system and servers at times + even edit files. Adding so others may follow if they want to add this or other containers they may want to run (caution: if you dont know how this environment is setup by Viren, dont mod it until you do). Also putting here to add if you would like viren but you likely use scp command line:

  1. create directory structure
    ubuntu@daemonrealm:/opt/docker/apps$ mkdir filebrowser

in data too:
ubuntu@daemonrealm:/opt/docker/data$ mkdir filebrowser

  1. create database file before starting the container or else it crash loops and creates a directory not a file on local system
    ubuntu@daemonrealm:/opt/docker/data/filebrowser$ touch database.db

  2. Navigate back to your /opt/docker/apps/filebrowser. Create compose.yaml then populate:

services:
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    restart: unless-stopped
    user: "${PUID}:${PGID}"
    expose:
      - 9090
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.filebrowser.rule=Host(`${FILEBROWSER_HOSTNAME?}`)"
      - "traefik.http.routers.filebrowser.entrypoints=websecure"
      - "traefik.http.routers.filebrowser.tls.certresolver=letsencrypt"
      - "traefik.http.services.filebrowser.loadbalancer.server.port=9090"
      - "traefik.http.routers.filebrowser.middlewares=authelia@docker"
    volumes:
      - "${DOCKER_DATA_DIR}/filebrowser/database.db:/database.db"
      - "${FILEBROWSER_HOME}:/srv"
    env_file:
      - .env
    profiles:
      - filebrowser
      - all

  1. Then create .env and populate:
# Filebrowser is a simple lightweight web enable file management utility. Use 'openssl rand -base64 32' to generatre the key
# Set FILEBROWSER_HOME to the home files directory that filebrowser will use
# Remember to change the default admin:admin password on first login. This container is protected by Authelia
FB_ENCRYPTION_KEY=9qu1nTeFEfcCN2UCv1zrWG0pjcRfmARG4pzo4L7Aa9o=
FILEBROWSER_HOME=/opt/
FB_PORT=9090

  1. Navigate to /opt/docker/apps modify compose.yaml and add under include:

- filebrowser/compose.yaml

  1. same location now finally add your profile to run in your profiles section in .env. I add and remove profiles as I configure them/need them up and running + the default one. You can remove the profiles: section in the compose above if you want to run it as default (which I will be doing).
# TL;DR, each folder in the apps directory is a profile.
# And additional profiles are as follows: stremio, indexers, debrid_media_server
# A final profile - all - is provided that includes every service in the template.
COMPOSE_PROFILES="speedtest-tracker, librespeed, aiostreams, warp, mediaflow-proxy, filebrowser"

Also add the DNS name under:

# These values are the subdomains that Traefik will use to route traffic to the services. 
# You can modify these values to suit your needs, but ensure that they are unique and do not conflict with other services.
FILEBROWSER_HOSTNAME=filebrowser.${DOMAIN}
  1. last as I use Honey as my main dashboard - update it to include filebrowser. modify /opt/docker/data/honey/config.json

Under services add:

 {
			"name": "Filebrowser",
			"desc": "File management and explorer.",
			"href": "https:/YOUR_FILEBROWSER_DOMAIN",
			"icon": "https://raw.githubusercontent.com/filebrowser/filebrowser/refs/heads/master/frontend/public/img/icons/favicon.ico"
		},
  1. Restart docker and you're all set, dont forget to change the default login

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions