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-07-30 17:45:27 +00:00
|
|
|
<h3 align="center">Filebrowser - A modern web-based file manager</h3>
|
2023-09-06 21:07:35 +00:00
|
|
|
<p align="center">
|
2023-12-05 22:46:47 +00:00
|
|
|
<img width="800" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/899152cf-3e69-4179-aa82-752af2df3fc6" 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-08-03 15:34:12 +00:00
|
|
|
> Starting with v0.2.0, *ALL* configuration is done via `filebrowser.yaml`
|
|
|
|
> configuration file.
|
|
|
|
> Starting with v0.2.4 *ALL* share links need to be re-created (due to
|
|
|
|
> security fix).
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
This fork makes the following significant changes to filebrowser for
|
|
|
|
origin:
|
2023-06-13 13:22:24 +00:00
|
|
|
|
2024-07-30 17:45:27 +00:00
|
|
|
1. [x] Better search
|
|
|
|
- Lightning fast
|
|
|
|
- realtime results as you type
|
|
|
|
- Works with more type filters
|
|
|
|
- interactive results page.
|
|
|
|
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-07-30 17:45:27 +00:00
|
|
|
3. [x] Revamped configuration via `filebrowser.yml` config file.
|
|
|
|
- More configurations possible at a per-user level
|
|
|
|
- <img width="450" alt="image" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/625bd7c4-5ee9-4011-aaae-2a388ab0813b">
|
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
|
|
|
|
2023-08-17 21:46:49 +00:00
|
|
|
Filebrowser provides a file managing interface within a specified directory
|
|
|
|
and it 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 own
|
2024-07-30 17:45:27 +00:00
|
|
|
directory.
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-08-17 21:46:49 +00:00
|
|
|
This repository is a fork, a collection of changes that make this program
|
2024-08-03 15:34:12 +00:00
|
|
|
work better in terms of asthetics 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-03 15:34:12 +00:00
|
|
|
This Implementation of filebrowser differs significantly to the original.
|
|
|
|
There are hundereds of thousands of lines changed and they are generally
|
2024-07-30 17:45:27 +00:00
|
|
|
no longer compatible with eachother. This has been intentional -- the
|
|
|
|
focus of this fork is on a few key principles:
|
|
|
|
- Simplicity and improved user experience
|
|
|
|
- Efficiency of operations and performance
|
|
|
|
- Minimizing external dependancies and usage of standard libraries.
|
|
|
|
- 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
|
|
|
|
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.
|
|
|
|
If the action is does not depend on context, it will exist in the slide-out
|
|
|
|
action panel. If the action is available based on context, it will showup as
|
|
|
|
a popup menu.
|
2024-07-30 17:45:27 +00:00
|
|
|
|
2023-09-06 21:07:35 +00:00
|
|
|
<p align="center">
|
|
|
|
<img width="500" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/35cdeb3b-ab79-4b04-8001-8f51f6ea06bb" title="Dark mode">
|
2024-08-03 15:34:12 +00:00
|
|
|
<img width="500" alt="image" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/55fa4f5c-440e-4a97-b711-96139208a163">
|
|
|
|
<img width="500" alt="image" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/c76f4100-949b-4e17-a3e6-e410fb8ec08f">
|
|
|
|
<img width="500" alt="image" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/0bde26f3-fa90-411e-bd0b-abaa47506d62">
|
|
|
|
<img width="560" alt="image" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/71d8f2b8-6fe6-4fdc-8aac-503d08c28d86">
|
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
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
1. docker-compose:
|
|
|
|
|
|
|
|
- with local storage
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
|
|
|
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
|
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
|
|
|
```
|
|
|
|
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
|
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
|
|
|
|
device: "//192.168.1.100/share/" # enter valid hinfo here
|
|
|
|
|
2023-06-13 13:15:11 +00:00
|
|
|
```
|
2018-04-23 21:42:52 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
Not using docker (not recommended)
|
|
|
|
|
|
|
|
Note: Must download asset with frontend directory next to filebrowser binary
|
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
|
|
|
```
|
|
|
|
|
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:
|
|
|
|
`filebrowser.yaml`, here is an example minimal [configuration
|
|
|
|
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-03 15:34:12 +00:00
|
|
|
If you are currently using filebrowser from the filebrowser/filebrowser
|
|
|
|
repo, but want to try using this. I recommend you start fresh without
|
|
|
|
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
|
|
|
|
filebrowser.yml and have valid filebrowser config.
|
2024-02-10 00:13:02 +00:00
|
|
|
|
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
The filebrowser application should run with the same user and rules that
|
|
|
|
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
|
|
|
|
2023-09-10 14:08:21 +00:00
|
|
|
### background & help
|
2023-07-29 15:16:09 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
The original project filebrowser/filebrowser used multiple different ways
|
|
|
|
to configure the server. This was confusing and difficult to work with
|
|
|
|
from a user and from a developer's perspective. So I completely redesigned
|
|
|
|
the program to use one single human-readable config file.
|
2023-09-10 14:08:21 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
I understand many coming from the original fork may notice differences
|
|
|
|
which make using this improved version more difficult. If you notice
|
|
|
|
issues that you believe should be fixed, please open an issue here and it
|
|
|
|
will very likely be addressed with a PR within a few weeks.
|
2023-09-10 14:08:21 +00:00
|
|
|
|
2024-08-03 15:34:12 +00:00
|
|
|
This version of filebrowser is going through a configuration overhaul as
|
|
|
|
mentioned above. Certain features related to rules and commands may not
|
|
|
|
work as they do on the original filebrowser. The purpose of this is to
|
|
|
|
create a more consistent experience where configuration is done via files
|
|
|
|
rather than running commands, so that it's very clear what the current
|
|
|
|
state of the configuration is. When running commands its not clear what
|
|
|
|
the configuration is.
|
2023-09-10 14:08:21 +00:00
|
|
|
|
|
|
|
## Roadmap
|
|
|
|
|
|
|
|
see [Roadmap Page](./roadmap.md)
|