binhex-filebrowser-quantum
Docker app from Binhex's Repository
Overview
Readme
View on GitHubApplication
Description
FileBrowser Quantum provides a file managing interface within a specified directory. It can be used to upload, delete, preview and edit files from a web browser.
Build notes
The image installs the latest GitHub release. The seeded configuration is
written against v2.0.1-stable, the release the image installs today. Options are
added and removed between upstream releases, and uncommenting a key the installed
release no longer knows about stops the server, so compare the version the image
ships (filebrowser version) with the reference tag before uncommenting a key
you are unsure about.
Usage
docker run -d \
--name=<container name> \
-p <webui port>:8125 \
-v <path for config files>:/config \
-v <path for files>:/media \
-v /etc/localtime:/etc/localtime:ro \
-e FILEBROWSER_ADMIN_PASSWORD=<admin password> \
-e FILEBROWSER_JWT_TOKEN_SECRET=<jwt token secret> \
-e FILEBROWSER_TOTP_SECRET=<totp secret> \
-e FILEBROWSER_RECAPTCHA_SECRET=<recaptcha secret> \
-e FILEBROWSER_LDAP_USER_PASSWORD=<ldap bind password> \
-e FILEBROWSER_OIDC_CLIENT_ID=<oidc client id> \
-e FILEBROWSER_OIDC_CLIENT_SECRET=<oidc client secret> \
-e FILEBROWSER_ONLYOFFICE_SECRET=<onlyoffice secret> \
-e FILEBROWSER_DISABLE_AUTOMATIC_BACKUP=<true|false> \
-e FILEBROWSER_CONFIG=/config/filebrowser/config/config.yaml \
-e FILEBROWSER_DATABASE_PATH=/config/filebrowser/db/filebrowser.sqlite \
-e FILEBROWSER_FFMPEG_PATH=/usr/local/bin \
-e ADDITIONAL_PARAMETERS=<cli options> \
-e ENABLE_HEALTHCHECK=<yes|no> \
-e HEALTHCHECK_COMMAND=<command> \
-e HEALTHCHECK_ACTION=<action> \
-e HEALTHCHECK_HOSTNAME=<hostname> \
-e PUID=<uid for user> \
-e PGID=<gid for user> \
-e UMASK=<umask for created files> \
ghcr.io/binhex/arch-filebrowser-quantum
Please replace all user variables in the above command defined by <> with the correct values.
Access application
http://<host ip>:8125
The default username is admin. The seeded config sets no admin password, so
FileBrowser generates a random password on first start, writes it to
/config/filebrowser/logs/filebrowser.log, and forces a password change at
first login.
Set FILEBROWSER_ADMIN_PASSWORD to choose your own password instead. It is
re-applied on every start, so remove the variable once you have changed the
password in the UI. A value shorter than the configured minimum password
length (8 in the seeded config) is rejected once the admin account exists (the
previous password is kept), while a fresh install accepts the first value. The
literal value admin is treated as unset, so setting it does not give you
admin/admin.
Configuration
On first start the container seeds a commented reference configuration to
FILEBROWSER_CONFIG (default /config/filebrowser/config/config.yaml). Only
the basics are active: the webui port, the /media source, the cache directory,
logging and password authentication. Every other option is present but commented
out - uncomment the ones you need and restart the container.
- The file is seeded whenever the configured path is absent or empty. An existing config is never overwritten, so your edits survive a restart.
- At startup the container removes leftover temporary files next to the config
(
<config file>.tmp.*) older than five minutes - do not store anything under that name. - The seeded config writes logs to
/config/filebrowser/logs/filebrowser.log; the container creates that directory at startup. - The seeded config leaves
server.database.pathcommented out, soFILEBROWSER_DATABASE_PATH(default/config/filebrowser/db/filebrowser.sqlite) selects the database file. A path set inconfig.yamltakes precedence over the variable. ADDITIONAL_PARAMETERSappends command line flags to the server start.- An existing config written for an older release may be rejected by the current binary at startup. If that happens, fix or delete the config file to get a fresh seed.
- Full option reference: FileBrowser Quantum configuration
Environment variables
Supply secrets as environment variables rather than in the config file. Each
FILEBROWSER_* variable is passed to the server only when it holds a non-empty
value, so an empty or unset value leaves the matching config key in charge. A
non-empty secret variable overrides the matching key in config.yaml.
| Variable | Default | Description |
|---|---|---|
FILEBROWSER_ADMIN_PASSWORD |
- | Password for the admin account. Leave unset to have a random password generated and written to the log file once, with a password change forced at first login. When set, the value is applied on every start; the literal value admin is treated as unset. |
FILEBROWSER_JWT_TOKEN_SECRET |
- | Secret used to sign JWT authentication tokens. Changing it after first start invalidates all existing sessions. |
FILEBROWSER_TOTP_SECRET |
- | Encryption secret for stored TOTP two-factor secrets. Set it before enrolling users in TOTP. |
FILEBROWSER_RECAPTCHA_SECRET |
- | reCAPTCHA secret key, used by password authentication when reCAPTCHA is enabled. |
FILEBROWSER_LDAP_USER_PASSWORD |
- | Password of the LDAP bind account used to look up users. |
FILEBROWSER_OIDC_CLIENT_ID |
- | OIDC client id for single sign-on, for example from Authentik, Keycloak or Pocket ID. |
FILEBROWSER_OIDC_CLIENT_SECRET |
- | OIDC client secret for single sign-on. |
FILEBROWSER_ONLYOFFICE_SECRET |
- | JWT secret shared with your OnlyOffice document server. |
FILEBROWSER_DISABLE_AUTOMATIC_BACKUP |
false |
Set to true to skip the automatic database backup taken before an upgrade. |
FILEBROWSER_CONFIG |
/config/filebrowser/config/config.yaml |
Config file path. The default config is seeded here when the file is absent. |
FILEBROWSER_DATABASE_PATH |
/config/filebrowser/db/filebrowser.sqlite |
SQLite database file, used when server.database.path is empty (the seeded default). A path set in config.yaml takes precedence. |
FILEBROWSER_FFMPEG_PATH |
/usr/local/bin |
Directory holding the ffmpeg and ffprobe binaries. |
ADDITIONAL_PARAMETERS |
- | Additional command line flags appended to the server start. Wildcards are passed through literally. |
ENABLE_HEALTHCHECK |
yes |
Healthchecks only run when set to yes; anything else, including unset, disables them. |
HEALTHCHECK_COMMAND |
- | Command or script to run instead of the default healthcheck.sh (process, DNS and HTTPS checks). |
HEALTHCHECK_ACTION |
- | Action to run when the healthcheck fails. Defaults to exit 1; use kill 1 to stop the container. |
HEALTHCHECK_HOSTNAME |
google.com |
Hostname used for the HTTPS and DNS checks. HEALTHCHECK_HOSTNAMES accepts several targets as a space or comma separated list. |
PUID |
99 |
User ID the container runs as. |
PGID |
100 |
Group ID the container runs as. |
UMASK |
000 |
Umask for files and directories the container creates. |
The three path variables are optional: when unset the container uses the defaults shown.
Example
docker run -d \
--name=filebrowser \
-p 8125:8125 \
-v /apps/docker/filebrowser:/config \
-v /mnt/user:/media \
-v /etc/localtime:/etc/localtime:ro \
-e PUID=99 \
-e PGID=100 \
-e UMASK=000 \
-e FILEBROWSER_ADMIN_PASSWORD=changeme \
-e FILEBROWSER_CONFIG=/config/filebrowser/config/config.yaml \
-e FILEBROWSER_DATABASE_PATH=/config/filebrowser/db/filebrowser.sqlite \
-e FILEBROWSER_FFMPEG_PATH=/usr/local/bin \
ghcr.io/binhex/arch-filebrowser-quantum
Notes
- The
/mediamount is exposed as theMediasource inconfig.yaml. Add further sources there, or change itspathto suit your storage. - TLS is not generated automatically. Configure
http.tlsCertandhttp.tlsKeyinconfig.yamlto serve HTTPS.
User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-
id <username>
If you appreciate my work, then please consider buying me a beer :D
Requirements
Default authentication
Username: admin
Password: randomly generated on first start and written to /config/filebrowser/logs/filebrowser.log
Important: Please change the password at first login, you can do this through the web interface.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
ghcr.io/binhex/arch-filebrowser-quantumRuntime arguments
- Web UI
http://[IP]:[PORT:8125]- Network
bridge- Shell
bash- Privileged
- false
- Extra Params
--restart=unless-stopped
Template configuration
This is the Web UI port for the application.
- Target
- 8125
- Default
- 8125
This is the container path to your configuration files, e.g. databases, configuration files, logs etc.
- Target
- /config
- Default
- /mnt/user/appdata/filebrowser-quantum
This is the container path to your media files, e.g. movies, tv, music, pictures etc.
- Target
- /media
- Default
- /mnt/user
Admin password. Leave blank to keep the upstream behaviour: a random admin password is generated, written to /config/filebrowser/logs/filebrowser.log once, and a reset is forced at first login.
- Target
- FILEBROWSER_ADMIN_PASSWORD
Secret used to sign JWT authentication tokens. Changing it after first start invalidates all existing sessions.
- Target
- FILEBROWSER_JWT_TOKEN_SECRET
Encryption secret for stored TOTP two-factor secrets. Set it before enrolling users in TOTP.
- Target
- FILEBROWSER_TOTP_SECRET
reCAPTCHA secret key used by password authentication when reCAPTCHA is enabled in config.yaml.
- Target
- FILEBROWSER_RECAPTCHA_SECRET
Password of the LDAP bind account used to look up users.
- Target
- FILEBROWSER_LDAP_USER_PASSWORD
OIDC client id for single sign-on, for example from Authentik, Keycloak or Pocket ID.
- Target
- FILEBROWSER_OIDC_CLIENT_ID
OIDC client secret for single sign-on.
- Target
- FILEBROWSER_OIDC_CLIENT_SECRET
JWT secret shared with your OnlyOffice document server.
- Target
- FILEBROWSER_ONLYOFFICE_SECRET
Automatic backups are on by default. Set this to true to disable the backup taken automatically before an upgrade.
- Target
- FILEBROWSER_DISABLE_AUTOMATIC_BACKUP
- Default
- false|true
Path to the configuration file. The default config is seeded here on first start when the file is absent.
- Target
- FILEBROWSER_CONFIG
- Default
- /config/filebrowser/config/config.yaml
Path to the SQLite database.
- Target
- FILEBROWSER_DATABASE_PATH
- Default
- /config/filebrowser/db/filebrowser.sqlite
Directory holding the ffmpeg and ffprobe binaries.
- Target
- FILEBROWSER_FFMPEG_PATH
- Default
- /usr/local/bin
Additional parameters to pass to the File Browser cli
- Target
- ADDITIONAL_PARAMETERS
Enable or disable healthchecks.
- Target
- ENABLE_HEALTHCHECK
- Default
- yes|no
The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).
- Target
- HEALTHCHECK_COMMAND
The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.
- Target
- HEALTHCHECK_ACTION
The hostname used when performing HTTPS and DNS healthchecking.
- Target
- HEALTHCHECK_HOSTNAME
- Default
- google.com
User ID for the running container
- Target
- PUID
- Default
- 99
Group ID for the running container
- Target
- PGID
- Default
- 100
UMASK for the running container
- Target
- UMASK
- Default
- 000
