2023-09-15 22:14:18 +00:00
|
|
|
<p align="center">
|
|
|
|
<a href="https://opensource.org/license/apache-2-0/"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache-2.0"></a>
|
2023-09-06 21:07:35 +00:00
|
|
|
</p>
|
|
|
|
<p align="center">
|
2024-08-03 15:34:12 +00:00
|
|
|
<img src="frontend/public/img/icons/favicon-256x256.png" width="100" title="Login With Custom URL">
|
2023-09-06 21:07:35 +00:00
|
|
|
</p>
|
2024-09-16 21:01:16 +00:00
|
|
|
<h3 align="center">FileBrowser Quantum - A modern web-based file manager</h3>
|
2023-09-06 21:07:35 +00:00
|
|
|
<p align="center">
|
2024-10-07 22:50:21 +00:00
|
|
|
<img width="800" src="https://github.com/user-attachments/assets/e4a47229-66f8-4838-9575-dd2413596688" title="Main Screenshot">
|
2023-09-06 21:07:35 +00:00
|
|
|
</p>
|
2018-06-26 10:10:12 +00:00
|
|
|
|
2023-12-01 23:47:00 +00:00
|
|
|
> [!WARNING]
|
2024-11-21 00:15:30 +00:00
|
|
|
> Starting with `v0.3.0` API routes have been slightly altered for friendly usage outside of the UI.
|
|
|
|
> If on windows, please use docker. The windows binary is unstable and may not work.
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
FileBrowser Quantum is a fork of the file browser opensource project with the following changes:
|
2023-06-13 13:22:24 +00:00
|
|
|
|
2024-10-07 22:44:53 +00:00
|
|
|
1. [x] Efficiently indexed files
|
|
|
|
- Real-time search results as you type
|
|
|
|
- Search Works with more type filters
|
2024-08-24 22:02:33 +00:00
|
|
|
- Enhanced interactive results page.
|
2024-11-21 00:15:30 +00:00
|
|
|
- file/folder sizes are shown in the response
|
|
|
|
1. [x] Revamped and simplified GUI navbar and sidebar menu.
|
2024-08-03 15:34:12 +00:00
|
|
|
- Additional compact view mode as well as refreshed view mode
|
|
|
|
styles.
|
2024-11-21 00:15:30 +00:00
|
|
|
1. [x] Revamped and simplified configuration via `filebrowser.yml` config file.
|
|
|
|
1. [x] Better listing browsing
|
2024-08-24 22:02:33 +00:00
|
|
|
- Switching view modes is instant
|
2024-11-21 00:15:30 +00:00
|
|
|
- Folder sizes are shown as well
|
2024-08-24 22:02:33 +00:00
|
|
|
- Changing Sort order is instant
|
|
|
|
- The entire directory is loaded in 1/3 the time
|
2024-11-21 00:15:30 +00:00
|
|
|
1. Developer API support
|
|
|
|
- Can create long-live API Tokens.
|
|
|
|
- Helpful Swagger page available at `/swagger` endpoint.
|
2024-02-10 00:13:02 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
## About
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
FileBrowser Quantum provides a file-managing interface within a specified directory
|
2024-08-04 14:56:18 +00:00
|
|
|
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
|
2024-07-30 17:45:27 +00:00
|
|
|
directory.
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-24 22:02:33 +00:00
|
|
|
This repository is a fork of the original [filebrowser](https://github.com/filebrowser/filebrowser)
|
|
|
|
with a collection of changes that make this program work better in terms of
|
2024-11-21 00:15:30 +00:00
|
|
|
aesthetics and performance. Improved search, simplified UI
|
2024-08-24 22:02:33 +00:00
|
|
|
(without removing features) and more secure and up-to-date
|
2024-07-30 17:45:27 +00:00
|
|
|
build are just a few examples.
|
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
FileBrowser Quantum differs significantly from the original.
|
2024-08-04 14:56:18 +00:00
|
|
|
There are hundreds of thousands of lines changed and they are generally
|
|
|
|
no longer compatible with each other. This has been intentional -- the
|
2024-07-30 17:45:27 +00:00
|
|
|
focus of this fork is on a few key principles:
|
|
|
|
- Simplicity and improved user experience
|
2024-08-24 22:02:33 +00:00
|
|
|
- Improving performance and faster feedback when making changes.
|
2024-08-04 14:56:18 +00:00
|
|
|
- Minimize external dependencies and standard library usage.
|
|
|
|
- Of course -- adding much-needed features.
|
2023-08-02 13:49:50 +00:00
|
|
|
|
2023-08-02 13:31:04 +00:00
|
|
|
## Look
|
2024-07-30 17:45:27 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
One way you can observe the improved user experience is how I changed
|
2024-08-04 14:56:18 +00:00
|
|
|
the UI. The Navbar is simplified to a three-component system :
|
2024-07-30 17:45:27 +00:00
|
|
|
|
|
|
|
1. (Left) The slide-out action panel button
|
|
|
|
2. (Middle) The powerful search bar.
|
|
|
|
3. (Right) The view change toggle.
|
2024-08-03 15:34:12 +00:00
|
|
|
|
|
|
|
All other functions are moved either into the action menu or popup menus.
|
2024-08-04 14:56:18 +00:00
|
|
|
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
|
2024-08-03 15:34:12 +00:00
|
|
|
a popup menu.
|
2024-07-30 17:45:27 +00:00
|
|
|
|
2023-09-06 21:07:35 +00:00
|
|
|
<p align="center">
|
2024-11-21 00:15:30 +00:00
|
|
|
<img width="800" src="https://github.com/user-attachments/assets/2be7a6c5-0f95-4d9f-bc05-484ee71246d8" title="Search GIF">
|
|
|
|
<img width="800" src="https://github.com/user-attachments/assets/f55a6f1f-b930-4399-98b5-94da6e90527a" title="Navigation GIF">
|
|
|
|
<img width="800" src="https://github.com/user-attachments/assets/75226dc4-9802-46f0-9e3c-e4403d3275da" title="Main Screenshot">
|
2023-09-06 21:07:35 +00:00
|
|
|
</p>
|
2023-08-02 13:31:04 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
## Install
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
Using docker:
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-09-09 21:59:43 +00:00
|
|
|
1. docker run (no persistent db):
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
2024-02-10 00:13:02 +00:00
|
|
|
docker run -it -v /path/to/folder:/srv -p 80:80 gtstef/filebrowser
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-24 22:02:33 +00:00
|
|
|
1. docker compose:
|
2023-06-13 13:15:11 +00:00
|
|
|
|
|
|
|
- with local storage
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
|
|
|
services:
|
|
|
|
filebrowser:
|
|
|
|
volumes:
|
2023-09-09 21:59:43 +00:00
|
|
|
- '/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
|
2023-06-13 13:15:11 +00:00
|
|
|
ports:
|
2024-02-10 00:13:02 +00:00
|
|
|
- '80:80'
|
2023-08-02 13:49:50 +00:00
|
|
|
image: gtstef/filebrowser
|
2023-09-09 21:59:43 +00:00
|
|
|
restart: always
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
2020-06-18 15:54:37 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
- with network share
|
2020-06-18 15:54:37 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
|
|
|
services:
|
|
|
|
filebrowser:
|
|
|
|
volumes:
|
2023-09-09 21:59:43 +00:00
|
|
|
- '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
|
2023-06-13 13:15:11 +00:00
|
|
|
ports:
|
2024-02-10 00:13:02 +00:00
|
|
|
- '80:80'
|
2023-08-02 13:49:50 +00:00
|
|
|
image: gtstef/filebrowser
|
2023-09-09 21:59:43 +00:00
|
|
|
restart: always
|
2023-06-13 13:15:11 +00:00
|
|
|
volumes:
|
2023-09-09 21:59:43 +00:00
|
|
|
storage:
|
2023-06-13 13:15:11 +00:00
|
|
|
driver_opts:
|
|
|
|
type: cifs
|
2023-09-09 21:59:43 +00:00
|
|
|
o: "username=admin,password=password,rw" # enter valid info here
|
2024-11-21 00:15:30 +00:00
|
|
|
device: "//192.168.1.100/share/" # enter valid info here
|
2023-09-09 21:59:43 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-04 17:50:35 +00:00
|
|
|
Not using docker (not recommended), download your binary from releases and run with your custom config file:
|
2024-02-10 00:13:02 +00:00
|
|
|
|
|
|
|
```
|
2024-08-03 15:34:12 +00:00
|
|
|
./filebrowser -c <filebrowser.yml or other /path/to/config.yaml>
|
2024-02-10 00:13:02 +00:00
|
|
|
```
|
|
|
|
|
2024-10-07 22:44:53 +00:00
|
|
|
## Command Line Usage
|
|
|
|
|
|
|
|
There are very few commands available. There are 3 actions done via command line:
|
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
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"
|
2024-10-07 22:44:53 +00:00
|
|
|
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"]`
|
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
## 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:
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
You use the token as a bearer token. For example in postman:
|
|
|
|
|
2024-11-21 00:34:18 +00:00
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
Successful Request:
|
2024-11-21 00:34:18 +00:00
|
|
|
|
|
|
|
<p align="center"><img width="500" alt="image" src="https://github.com/user-attachments/assets/4f18fa8a-8d87-4f40-9dc7-3d4407769b59"></p>
|
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
Failed Request
|
2024-11-21 00:34:18 +00:00
|
|
|
|
|
|
|
<p align="center"><img width="500" alt="image" src="https://github.com/user-attachments/assets/4da0deae-f93d-4d94-83b1-68806afb343a"></p>
|
2024-11-21 00:15:30 +00:00
|
|
|
|
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
## Configuration
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
All configuration is now done via a single configuration file:
|
2024-08-04 14:56:18 +00:00
|
|
|
`filebrowser.yaml`, here is an example of minimal [configuration
|
2024-08-03 15:34:12 +00:00
|
|
|
file](./backend/filebrowser.yaml).
|
2023-09-09 21:59:43 +00:00
|
|
|
|
2024-10-07 22:44:53 +00:00
|
|
|
View the [Configuration Help Page](./docs/configuration.md) for available
|
2024-08-03 15:34:12 +00:00
|
|
|
configuration options and other help.
|
2023-09-09 21:59:43 +00:00
|
|
|
|
2024-02-10 00:13:02 +00:00
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
## Migration from the original filebrowser
|
2024-02-10 00:13:02 +00:00
|
|
|
|
2024-10-07 22:44:53 +00:00
|
|
|
If you currently use the original filebrowser but want to try using this.
|
2024-11-21 00:15:30 +00:00
|
|
|
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
|
2024-10-07 22:44:53 +00:00
|
|
|
readme](./docs/migration.md)
|
2024-08-24 22:02:33 +00:00
|
|
|
|
|
|
|
## Comparison Chart
|
|
|
|
|
|
|
|
Application Name | <img width="48" src="frontend/public/img/icons/favicon-256x256.png" > Quantum | <img width="48" src="https://github.com/filebrowser/filebrowser/blob/master/frontend/public/img/logo.svg" > Filebrowser | <img width="48" src="https://github.com/mickael-kerjean/filestash/blob/master/public/assets/logo/app_icon.png?raw=true" > Filestash | <img width="48" src="https://avatars.githubusercontent.com/u/19211038?s=200&v=4" > Nextcloud | <img width="48" src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Google_Drive_logo.png/480px-Google_Drive_logo.png" > Google_Drive | <img width="48" src="https://avatars.githubusercontent.com/u/6422152?v=4" > 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 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
|
2024-11-21 00:15:30 +00:00
|
|
|
Long-live API key support | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
API documentation page | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ |
|
2024-08-24 22:02:33 +00:00
|
|
|
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 | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
|
|
|
|
2023-09-10 14:08:21 +00:00
|
|
|
## Roadmap
|
|
|
|
|
2024-10-07 22:44:53 +00:00
|
|
|
see [Roadmap Page](./docs/roadmap.md)
|