filebrowser/README.md

221 lines
9.7 KiB
Markdown
Raw Normal View History

<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-08-24 22:02:33 +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-08-04 14:56:18 +00:00
<img width="800" src="https://github.com/user-attachments/assets/8ba93582-aba2-4996-8ac3-25f763a2e596" title="Main Screenshot">
2023-09-06 21:07:35 +00:00
</p>
> [!WARNING]
2024-08-03 15:34:12 +00:00
> Starting with v0.2.0, *ALL* configuration is done via `filebrowser.yaml`
2024-08-04 14:56:18 +00:00
> Configuration file.
2024-08-03 15:34:12 +00:00
> Starting with v0.2.4 *ALL* share links need to be re-created (due to
> security fix).
2024-08-24 22:02:33 +00:00
Filebrowser Quantum is a fork of the filebrowser opensource project with the
following changes:
2023-06-13 13:22:24 +00:00
2024-08-24 22:02:33 +00:00
1. [x] Enhanced lightning fast indexed search
- Real-time results as you type
2024-07-30 17:45:27 +00:00
- Works with more type filters
2024-08-24 22:02:33 +00:00
- Enhanced interactive results page.
2024-07-30 17:45:27 +00:00
2. [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-08-24 22:02:33 +00:00
3. [x] Revamped and simplified configuration via `filebrowser.yml` config file.
4. [x] Faster listing browsing
- Switching view modes is instant
- Changing Sort order is instant
- The entire directory is loaded in 1/3 the time
2024-02-10 00:13:02 +00:00
## About
2024-08-24 22:02:33 +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.
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
aesthetics and performance. Improved search, simplified ui
(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-08-24 22:02:33 +00:00
Filebrowser Quantum differs significantly to 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-08-04 14:56:18 +00:00
<img width="800" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/899152cf-3e69-4179-aa82-752af2df3fc6" title="Main Screenshot">
<img width="800" src="https://github.com/user-attachments/assets/18c02d03-5c60-4e15-9c32-3cfe058a0c49" title="Main Screenshot">
<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
## Install
Using docker:
2023-09-09 21:59:43 +00:00
1. docker run (no persistent db):
```
2024-02-10 00:13:02 +00:00
docker run -it -v /path/to/folder:/srv -p 80:80 gtstef/filebrowser
```
2024-08-24 22:02:33 +00:00
1. docker compose:
- with local storage
```
version: '3.7'
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
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
```
- with network share
```
version: '3.7'
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
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
volumes:
2023-09-09 21:59:43 +00:00
storage:
driver_opts:
type: cifs
2023-09-09 21:59:43 +00:00
o: "username=admin,password=password,rw" # enter valid info here
device: "//192.168.1.100/share/" # enter valid hinfo here
```
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
```
## Configuration
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-08-03 15:34:12 +00:00
View the [Configuration Help Page](./configuration.md) for available
configuration options and other help.
2023-09-09 21:59:43 +00:00
2024-02-10 00:13:02 +00:00
## Migration from filebrowser/filebrowser
2024-08-24 22:02:33 +00:00
If you currently use the original opensource filebrowser
but want to try using this. I recommend you start fresh without
2024-08-03 15:34:12 +00:00
reusing the database, but there are a few things you'll need to do if you
must migrate:
2024-02-10 00:13:02 +00:00
1. Create a configuration file as mentioned above.
2024-08-03 15:34:12 +00:00
2. Copy your database file from the original filebrowser to the path of
the new one.
3. Update the configuration file to use the database (under server in
filebrowser.yml)
4. If you are using docker, update the docker-compose file or docker run
command to use the config file as described in the install section
above.
5. If you are not using docker, just make sure you run filebrowser -c
2024-08-04 14:56:18 +00:00
filebrowser.yml and have a valid filebrowser config.
2024-02-10 00:13:02 +00:00
2024-08-24 22:02:33 +00:00
The filebrowser Quantum application should run with the same user and rules that
2024-08-03 15:34:12 +00:00
you have from the original. But keep in mind the differences that are
mentioned at the top of this readme.
2024-02-10 00:13:02 +00:00
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 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
Long-live API key support | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
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
see [Roadmap Page](./roadmap.md)