updated help document

This commit is contained in:
Graham Steffaniak 2023-09-09 16:59:43 -05:00
parent 668bbdd481
commit 57214542d4
3 changed files with 141 additions and 22 deletions

View File

@ -72,23 +72,23 @@ system should fully index within the first 5 minutes, potentially within the fir
For example, a low end 11th gen i5 with SSD indexes 86K files within 1 second: For example, a low end 11th gen i5 with SSD indexes 86K files within 1 second:
``` ```
2023/08/01 00:08:29 Using config file: /.filebrowser.json 2023/09/09 21:38:50 Initializing with config file: filebrowser.yaml
2023/08/01 00:08:29 Indexing files... 2023/09/09 21:38:50 Indexing files...
2023/08/01 00:08:29 Listening on [::]:8080 2023/09/09 21:38:50 Listening on [::]:8080
2023/08/01 00:08:30 Successfully indexed files. 2023/09/09 21:38:51 Successfully indexed files.
2023/08/01 00:08:30 Files found : 85310 2023/09/09 21:38:51 Files found : 123452
2023/08/01 00:08:30 Directories found : 1711 2023/09/09 21:38:51 Directories found : 1768
2023/08/01 00:08:30 Indexing scheduler will run every 5 minutes 2023/09/09 21:38:51 Indexing scheduler will run every 5 minutes
``` ```
## Install ## Install
Using docker: Using docker:
1. docker run: 1. docker run (no persistent db):
``` ```
docker run -it -v /path/to/folder:/srv -p 8080:8080 gtstef/filebrowser docker run -it -v /path/to/folder:/srv -p 80:8080 gtstef/filebrowser
``` ```
1. docker-compose: 1. docker-compose:
@ -100,12 +100,13 @@ version: '3.7'
services: services:
filebrowser: filebrowser:
volumes: volumes:
- '/path/to/folder:/srv' - '/path/to/folder:/srv' # required (for now not configurable)
#- './database/:/database/' - './database:/database' # optional if you want db to persist - configure a path under "database" dir in config file.
- './config.json:/.filebrowser.json' - './filebrowser.yaml:/filebrowser.yaml' # required
ports: ports:
- '8080:8080' - '80:8080'
image: gtstef/filebrowser image: gtstef/filebrowser
restart: always
``` ```
- with network share - with network share
@ -115,23 +116,28 @@ version: '3.7'
services: services:
filebrowser: filebrowser:
volumes: volumes:
- 'nas:/srv' - 'storage:/srv' # required (for now not configurable)
#- './database/:/database/' - './database:/database' # optional if you want db to persist - configure a path under "database" dir in config file.
#- './config.json:/.filebrowser.json' - './filebrowser.yaml:/filebrowser.yaml' # required
ports: ports:
- '8080:80' - '80:8080'
image: gtstef/filebrowser image: gtstef/filebrowser
restart: always
volumes: volumes:
nas: storage:
driver_opts: driver_opts:
type: cifs type: cifs
o: "username=myusername,password=mypassword,rw" o: "username=admin,password=password,rw" # enter valid info here
device: "//fileshare/" device: "//192.168.1.100/share/" # enter valid hinfo here
``` ```
## Configuration ## Configuration
All configuration is now done via a single configuration file: `filebrowser.yaml`, here is an example [configuration file](./backend/filebrowser.yaml). 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 ### background
The original project filebrowser/filebrowser used multiple different ways to configure the server. The original project filebrowser/filebrowser used multiple different ways to configure the server.

View File

@ -98,7 +98,6 @@ func handleWithStaticData(w http.ResponseWriter, _ *http.Request, d *data, fSys
} }
func getStaticHandlers(store *storage.Storage, server *settings.Server, assetsFs fs.FS) (index, static http.Handler) { func getStaticHandlers(store *storage.Storage, server *settings.Server, assetsFs fs.FS) (index, static http.Handler) {
log.Print("requesting", store, assetsFs)
index = handle(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { index = handle(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) {
if r.Method != http.MethodGet { if r.Method != http.MethodGet {
return http.StatusNotFound, nil return http.StatusNotFound, nil

114
configuration.md Normal file
View File

@ -0,0 +1,114 @@
# Configuration Help
This document covers the available configuration options, their defaults, and how they affect the functionality of filebrowser.
## All possible configurations
Here is an expanded config file which includes all possible configurations:
```
server:
indexingInterval: 5
numImageProcessors: 4
socket: ""
tlsKey: ""
tlsCert: ""
enableThumbnails: false
resizePreview: true
typeDetectionByHeader: true
port: 8080
baseURL: "/"
address: ""
log: "stdout"
database: "/database/database.db"
root: "/srv"
auth:
recaptcha:
host: ""
key: ""
secret: ""
header: ""
method: json
command: ""
signup: false
shell: ""
frontend:
name: ""
disableExternal: false
disableUsedPercentage: true
files: ""
theme: ""
color: ""
userDefaults:
scope: ""
locale: ""
viewMode: ""
singleClick: true
sorting:
by: ""
asc: true
permissions:
admin: true
execute: true
create: true
rename: true
modify: true
delete: true
share: true
download: true
commands: []
hideDotfiles: false
dateFormat: false
```
Here are the defaults if nothing is set:
```
Signup: true
AdminUsername: admin
AdminPassword: admin
Server:
EnableThumbnails: true
EnableExec: false
IndexingInterval: 5
Port: 8080
NumImageProcessors: 4
BaseURL: ""
Database: database.db
Log: stdout
Root: /srv
Auth:
Method: password
Recaptcha:
Host: ""
UserDefaults:
Scope: "."
LockPassword: false
HideDotfiles: true
Permissions:
Create: true
Rename: true
Modify: true
Delete: true
Share: true
Download: true
```
## About each configuration
### Server configuration settings
- `indexingInterval`: This is the time in minutes the system waits before checking for filesystem changes. (used in search only)
- `numImageProcessors`:
socket: ""
tlsKey: ""
tlsCert: ""
enableThumbnails: false
resizePreview: true
typeDetectionByHeader: true
port: 8080
baseURL: "/"
address: ""
log: "stdout"
- `database`: This is the database file path + filename that will be created if it does not already exist. If it exists, it will use the existing file.
- `root`: "/srv"