License: Apache-2.0

Filebrowser - A modern file manager for the web

> [!NOTE] > Only intended to be used with docker. > [!WARNING] > Starting with v0.2.0, *ALL* configuration is done via `filebrowser.yaml` configuration file. This fork makes the following significant changes to filebrowser for origin: 1. [x] Better search. - Lightning fast - realtime results as you type - Works with more type filters - interactive results page. 1. [x] Revamped and simplified GUI navbar and sidebar menu. 1. [x] **IMPORTANT** Revamped configuration via `filebrowser.yml` config file. 1. [x] More configurations possible at a per-user level - image 1. [x] Additional compact view mode as well as refreshed view mode styles. ## About 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 directory. It can be used as a standalone app. This repository is a fork, a collection of changes that make this program work better in terms of asthetics and performance. Improved search, simplified ui (without removing features) and more secure and up-to-date build are just a few examples. ## Look

image image image image

## Install Using docker: 1. docker run (no persistent db): ``` docker run -it -v /path/to/folder:/srv -p 80:8080 gtstef/filebrowser ``` 1. docker-compose: - with local storage ``` version: '3.7' 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:8080' image: gtstef/filebrowser restart: always ``` - with network share ``` version: '3.7' 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:8080' 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 hinfo here ``` ## Configuration All configuration is now done via a single configuration file: `filebrowser.yaml`, here is an example minimal [configuration file](./backend/filebrowser.yaml). View the [Configuration Help Page](./configuration.md) for available configuration options and other help. ### background & help 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. 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. 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. ## Roadmap see [Roadmap Page](./roadmap.md)