Go to file
Graham Steffaniak f5450b06e8
Hotfix: Fix url link issues (#246)
2024-11-27 07:30:03 -06:00
.github v0.3.1 release (#245) 2024-11-26 11:21:41 -06:00
backend Hotfix: Fix url link issues (#246) 2024-11-27 07:30:03 -06:00
docs v0.3.1 release (#245) 2024-11-26 11:21:41 -06:00
frontend Hotfix: Fix url link issues (#246) 2024-11-27 07:30:03 -06:00
.dockerignore updated workflow 2023-09-15 15:57:22 -05:00
.gitignore v0.3.0 release 2024-11-20 18:16:42 -06:00
CHANGELOG.md v0.3.1 release (#245) 2024-11-26 11:21:41 -06:00
Dockerfile v0.3.0 release 2024-11-20 18:16:42 -06:00
Dockerfile.playwright v0.3.0 release 2024-11-20 18:16:42 -06:00
README.md v0.3.1 release (#245) 2024-11-26 11:21:41 -06:00
makefile v0.3.1 release (#245) 2024-11-26 11:21:41 -06:00

README.md

License: Apache-2.0

FileBrowser Quantum - A modern web-based file manager

[!WARNING] Starting with v0.3.0 API routes have been slightly altered for friendly usage outside of the UI. The resources api returns items in separate files and folder objects now.

[!WARNING] If on windows, please use docker. The windows binary is unstable and may not work.

[!WARNING] There is no stable version yet. Always check release notes for bugfixes on functionality that may have been changed. If you notice any unexpected behavior -- please open an issue to have it fixed soon.

FileBrowser Quantum is a fork of the file browser opensource project with the following changes:

  1. Indexes files efficiently. See indexing readme
    • Real-time search results as you type
    • Search supports file/folder sizes and many file type filters.
    • Enhanced interactive results that shows file/folder sizes.
  2. Revamped and simplified GUI navbar and sidebar menu.
    • Additional compact view mode as well as refreshed view mode styles.
    • Many graphical and user experience improvements.
    • right-click context menu
  3. Revamped and simplified configuration via filebrowser.yml config file.
  4. Better listing browsing
    • Switching view modes is instant
    • Folder sizes are shown as well
    • Changing Sort order is instant
    • The entire directory is loaded in 1/3 the time
  5. Developer API support
    • Can create long-live API Tokens.
    • Helpful Swagger page available at /swagger endpoint.

Notable features that this fork does not have (removed):

  • jobs/runners are not supported yet (planned).
  • shell commands are completely removed and will not be returning.
  • themes and branding are not fully supported yet (planned).
  • see feature matrix below for more.

About

FileBrowser Quantum provides a file-managing interface within a specified directory and 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 directory.

This repository is a fork of the original filebrowser with a collection of changes that make this program work better in terms of aesthetics and performance. Improved search, simplified UI (without removing features) and more secure and up-to-date build are just a few examples.

FileBrowser Quantum differs significantly from the original. There are hundreds of thousands of lines changed and they are generally no longer compatible with each other. This has been intentional -- the focus of this fork is on a few key principles:

  • Simplicity and improved user experience
  • Improving performance and faster feedback when making changes.
  • Minimize external dependencies and standard library usage.
  • Of course -- adding much-needed features.

Look

One way you can observe the improved user experience is how I changed the UI. The Navbar is simplified to a three-component system :

  1. (Left) The slide-out action panel button
  2. (Middle) The powerful search bar.
  3. (Right) The view change toggle.

All other functions are moved either into the action menu or popup menus. If the action does not depend on context, it will exist in the slide-out action panel. If the action is available based on context, it will show up as a popup menu.

Install

Using docker:

  1. docker run (no persistent db):
docker run -it -v /path/to/folder:/srv -p 80:80 gtstef/filebrowser
  1. docker compose:
  • with local storage
services:
  filebrowser:
    volumes:
      - '/path/to/folder:/srv' # required (for now not configurable)
      - './database:/database'  # optional if you want db to persist - configure a path under "database" dir in config file.
      - './filebrowser.yaml:/filebrowser.yaml' # required
    ports:
      - '80:80'
    image: gtstef/filebrowser
    restart: always
  • with network share
services:
  filebrowser:
    volumes:
      - 'storage:/srv' # required (for now not configurable)
      - './database:/database'  # optional if you want db to persist - configure a path under "database" dir in config file.
      - './filebrowser.yaml:/filebrowser.yaml' # required
    ports:
      - '80:80'
    image: gtstef/filebrowser
    restart: always
volumes:
  storage:
    driver_opts:
      type: cifs
      o: "username=admin,password=password,rw" # enter valid info here
      device: "//192.168.1.100/share/"         # enter valid info here

Not using docker (not recommended), download your binary from releases and run with your custom config file:

./filebrowser -c <filebrowser.yml or other /path/to/config.yaml>

Command Line Usage

There are very few commands available. There are 3 actions done via command line:

  1. Running the program, as shown on the install step. The only argument used is the config file, if you choose to override default "filebrowser.yaml"
  2. Checking the version info via ./filebrowser version
  3. Updating the DB, which currently only supports adding users via ./filebrowser set -u username,password [-a] [-s "example/scope"]

API Usage

FileBrowser Quantum comes with a swagger page that can be accessed from the API section of settings or by going to /swagger to see the full list:

image

You use the token as a bearer token. For example in postman:

Successful Request:

image

Failed Request

image

Configuration

All configuration is now done via a single configuration file: filebrowser.yaml, here is an example of minimal configuration file.

View the Configuration Help Page for available configuration options and other help.

Migration from the original filebrowser

If you currently use the original filebrowser but want to try using this. I would recommend that you start fresh without reusing the database. However, If you want to migrate your existing database to FileBrowser Quantum, visit the migration readme

Comparison Chart

Application Name Quantum Filebrowser Filestash Nextcloud Google_Drive FileRun
Filesystem support
Linux
Windows
Mac
Self hostable
Has Stable Release?
S3 support
webdav support
ftp support
Dedicated docs site?
Multiple sources at once
Docker image size 22 MB 31 MB 240 MB (main image) 250 MB > 2 GB
Min. Memory Requirements 128 MB 128 MB 128 MB (main image) 128 MB 4 GB
has standalone binary
price free free free free tier free tier $99+
rich media preview
upload files from the web?
Advanced Search? configurable
Indexed Search? configurable
Content-aware search? configurable
Custom job support
Multiple users
Single sign-on support
LDAP sign-on support
2FA sign-on support
Long-live API key support
API documentation page
Mobile App
open source?
tags support
sharable web links?
Event-based notifications
Metrics
file space quotas
text-based files editor
office file support
Themes
Branding support
activity log
Comments support
collaboration on same file
trash support
Starred/pinned files
Content preview icons
Plugins support
Chromecast support

Roadmap

see Roadmap Page