[build 20200430] filebrowser enhanced v2.9.3 for amd64/arm64 machine
5M+
latest tag has bee removed [2020-03-01]adminadminfilebrowser/filebrowser you can find in the world!just add --device=/dev/dri/renderD128:/dev/dri/renderD128 to the run command
currently, only Intel CPU is supported, please do check your CPU see if it supports harware encoding and decoding:
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding
https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Intel
| container | description |
|---|---|
| /config | dir to save config file, ssl certificate and search index db |
| /myfiles | root dir for filebrowser |
if you want FBE to manage all the volume files, you can do this:
ssh login to your NAS, and run ls -ld /volume* to see how many volumes you have.
let's say that you have 2 volumes: /volume1 and /volume2 , then you can map the volume like this:
/volume1 => /myfiles/volume1
/volume2 => /myfiles/volume2
if you want FBE to manage all the volume files, you can just map /share dir to /myfiles
/share => /myfiles
if you want FBE to manage all the volume files, you can just map /media dir to /myfiles
/media => /myfiles
| name | default value | description |
|---|---|---|
| PUID | 1000 | run as uid |
| PGID | 100 | run as gid |
| UMASK_SET | 000 | umask for app running user |
| WEB_PORT | 8082 | http or https listen port |
| FB_SSL | off | set to on to startup as https server and use custom certificate under /config/ssl/ |
| AUTOCERT_DOMAIN | localhost | set to your ACME domains if AUTOCERT=true, can be multi like foo.com,b.bar.com, can be wildcard like *.foo.com |
| AUTOCERT_DOMAIN_WHITELIST | domain name allowed, empty means allow all, can be multi like foo.com,b.bar.com | |
| AUTOCERT_DNS_PROVIDER | see available DNS providers below | |
| AUTOCERT_KEYTYPE | EC256 | must be one of RSA2048, RSA4096, RSA8192, EC256, EC384 |
| name | cli flags | default value | description |
|---|---|---|---|
| -p, --port | WEB_PORT | ||
| FB_BASEURL | -b, --baseurl | base URL must start with / and end without / | |
| FB_ADDRESS | -a, --address | address to listen on, in container it should be 0.0.0.0 | |
| FB_ROOT | -r, --root | root path for FBE, forced to be /myfiles in container | |
| FB_CERT | -t, --cert | tls certificate file path | |
| FB_KEY | -k, --key | tls key file path | |
| FB_AUTH_EXP_HOUR | 24 | the JWT token expiration time in hours | |
| FB_AUTH_SERVER_ADDR | 127.0.0.1 | optional, dashboard IP, for auto authenticate with NanoDm dashboard |
# ACME related env vars
# acme check interval in hours, default to 24 hours
GO_ACME_INTERVAL=24
# change CA server to `https://acme-staging-v02.api.letsencrypt.org/directory` if you want to test
GO_ACME_CA_SERVER=""
# set to http://IP:PORT if you want to use http proxy for ACME
HTTP_PROXY=""
AUTOCERT_EMAIL=""
# ACME domain like `foo.com`, can be multi like `foo.com,b.bar.com`, can be wildcard like `*.foo.com`
AUTOCERT_DOMAIN=""
# must be one of `RSA2048`, `RSA4096`, `RSA8192`, `EC256`, `EC384`
AUTOCERT_KEYTYPE=EC256
# ACME DNS provider, default is cloudflare
AUTOCERT_DNS_PROVIDER=cloudflare
# this env var is only used by `cloudflare` DNS provider
CF_DNS_API_TOKEN=""
# ACME private key file location, should keep the same as FB_KEY in container
GO_ACME_KEY_PATH="/config/ssl/ssl.key"
# ACME cert file location, should keep the same as FB_CERT in container
GO_ACME_CERT_PATH="/config/ssl/ssl.crt"
# ACME certificate cache dir
GO_ACME_STORAGE_DIR="/config/ssl"
alidns,azure,cloudflare,cloudxns,digitalocean,dnspod,gcloud,linodev4,namecheap,qcloud,rfc2136,vultr
cloudflare:
get token from "My Profile -> API Tokens" API token must include the following permissions:
Zone.Zone: ReadZone.DNS: EditZone Resources: All zones
| Environment Variable Name | description |
|---|---|
| CF_DNS_API_TOKEN | API Token |
dnspod:
| Environment Variable Name | description |
|---|---|
| DNSPOD_API_KEY | format is: id,token |
qcloud:
| Environment Variable Name | description |
|---|---|
| QCLOUD_SECRET_ID | The SecretId |
| QCLOUD_SECRET_KEY | The SecretKey |
alidns:
| Environment Variable Name | description |
|---|---|
| ALICLOUD_ACCESS_KEY | Access key ID |
| ALICLOUD_SECRET_KEY | Access Key secret |
for other provider please ref to: https://go-acme.github.io/lego/dns/#dns-providers
To test or experiment with your configuration,
make sure you change the ACME endpoint to a staging or development URL,
otherwise you are likely to hit rate limits which can block your access to HTTPS for up to a week,
depending on which rate limit you hit.
the default CA is Let's Encrypt, which has a staging endpoint that is not subject to the same rate limits:
https://acme-staging-v02.api.letsencrypt.org/directory
you can set it for your container by using env var
GO_ACME_CA_SERVER="https://acme-staging-v02.api.letsencrypt.org/directory"
| container | description |
|---|---|
/config/.filebrowser.toml | config file |
/config/database.db | database file path |
/config/ssl/ssl.crt | SSL cert file path |
/config/ssl/ssl.key | SSL key file path |
attenion: change
$HOME/docker/fb/configand$HOME/docker/fb/myfiles... to your own path, DO NOT copy and paste!the tag name
2.9.3-amd64will not update frequently, replace tag2.9.3-amd64with the newest tag name based on your requirementuse
2.9.3-arm64` instead of2.9.3-amd64`` if you are running docker on an arm64 machine
IMAGE_NAME=80x86/filebrowser
WEB_PORT=8082
FB_AUTH_SERVER_ADDR="127.0.0.1"
mkdir -p $HOME/docker/fb/config $HOME/docker/fb/myfiles
podman run -d --name fb \
--restart=unless-stopped \
-e PUID=$UID \
-e PGID=$GID \
-e WEB_PORT=$WEB_PORT \
-e FB_AUTH_SERVER_ADDR=$FB_AUTH_SERVER_ADDR \
-p $WEB_PORT:$WEB_PORT \
-v $HOME/docker/fb/config:/config \
-v $HOME/docker/fb/myfiles:/myfiles \
--mount type=tmpfs,destination=/tmp \
${IMAGE_NAME}:2.9.3-amd64
just add --device=/dev/dri/renderD128:/dev/dri/renderD128
IMAGE_NAME=80x86/filebrowser
WEB_PORT=8082
FB_AUTH_SERVER_ADDR="127.0.0.1"
mkdir -p $HOME/docker/fb/config $HOME/docker/fb/myfiles
podman run -d --name fb \
--restart=unless-stopped \
--device=/dev/dri/renderD128:/dev/dri/renderD128 \
-e PUID=$UID \
-e PGID=$GID \
-e WEB_PORT=$WEB_PORT \
-e FB_AUTH_SERVER_ADDR=$FB_AUTH_SERVER_ADDR \
-p $WEB_PORT:$WEB_PORT \
-v $HOME/docker/fb/config:/config \
-v $HOME/docker/fb/myfiles:/myfiles \
--mount type=tmpfs,destination=/tmp \
${IMAGE_NAME}:2.9.3-amd64
just add -e FB_SSL=on
IMAGE_NAME=80x86/filebrowser
WEB_PORT=8082
FB_AUTH_SERVER_ADDR="127.0.0.1"
mkdir -p $HOME/docker/fb/config $HOME/docker/fb/myfiles
podman run -d --name fb \
--restart=unless-stopped \
-e PUID=$UID \
-e PGID=$GID \
-e WEB_PORT=$WEB_PORT \
-e SSL=on \
-e FB_AUTH_SERVER_ADDR=$FB_AUTH_SERVER_ADDR \
-p $WEB_PORT:$WEB_PORT \
-v $HOME/docker/fb/config:/config \
-v $HOME/docker/fb/myfiles:/myfiles \
--mount type=tmpfs,destination=/tmp \
${IMAGE_NAME}:2.9.3-amd64
first we need to enable SSL:
just add -e FB_SSL=on
then we need add some ACME related env vars.
take the provider cloudflare for example, your need add following env vars:
-e FB_SSL=on \
-e AUTOCERT_EMAIL=your-email-for-acme \
-e AUTOCERT_DOMAIN=you-domain.com \
-e AUTOCERT_DNS_PROVIDER=cloudflare \
-e CF_DNS_API_TOKEN="your-cf-token-here" \
an full example:
IMAGE_NAME=80x86/filebrowser
WEB_PORT=8082
FB_AUTH_SERVER_ADDR="127.0.0.1"
mkdir -p $HOME/docker/fb/config $HOME/docker/fb/myfiles
docker run -d --name fb \
--restart=unless-stopped \
-e PUID=$UID \
-e PGID=$GID \
-e WEB_PORT=$WEB_PORT \
-e FB_AUTH_SERVER_ADDR=$FB_AUTH_SERVER_ADDR \
-e FB_SSL=on \
-e AUTOCERT_EMAIL=your-email-for-acme \
-e AUTOCERT_DOMAIN=you-domain.com \
-e AUTOCERT_DNS_PROVIDER=cloudflare \
-e CF_DNS_API_TOKEN="your-cf-token-here" \
-p $WEB_PORT:$WEB_PORT \
-v $HOME/docker/fb/config:/config \
-v $HOME/docker/fb/myfiles:/myfiles \
--mount type=tmpfs,destination=/tmp \
${IMAGE_NAME}:2.9.3-amd64
2.9.3
4e31ada6/ and end without /AUTOCERT env var, but keep using AUTOCERT_DOMAIN_WHITELIST, ACME feature provided by auto-acme instead of filebrowserGO_ACME_KEY_PATH and GO_ACME_CERT_PATH if both tls cert and key config is not set or emptySSL renamed to FB_SSL2.9.2
2.9.1
2.9.0
2.9.0-amd64 and 2.9.0-arm64, latest tag has not been updated yet, do not use it. lots of improvement and bugfix.2.8.6
2.8.4
INDEXED_SEARCH, INDEX_DIR, INDEX_INTERVAL, CACHE_DIR has been removed, you can config these in FBE setttings2.8.4
2.8.3
Disable realtime video thumbnail preview option2.8.2
2.8.2
2.8.1
2.7.2
Show Indicator option (default disabled),2.7.1
2.6.9
2.6.8
CACHE_DIR env var added2.6.5
Ctrl + a keyboard shortcut to select all, add t key event to toggle task panel2.6.1
http: TLS handshake error from xxxx:port: remote error: tls: unknown certificate error by default,2.5.9
Copy direct play link button,FB_AUTH_EXP_HOUR ENV var allow user to change the default JWT token expiration hours2.5.7
Auto Fix Garbled Filename problem under AlpineLinux container. this feature is now tested and works stable.2.5.6
2.5.5
Auto Fix Garbled Filename option, add support for rar, zip file as well.mkthumb and unarchive task now support directory as well.2.5.3
2.4.8
2.4.7
unarchive and mkthumb task now supported directory.F4 to toggle task panel, esc to hide task panel.2.4.6
2.4.5
2.4.4
2.4.3
403 Forbidden),2.4.2
FB_AUTH_SERVER_ADDR env var support for podman container2.4.1
make torrent button and make video thumbnail buttonShell button with Task button. you can click Task button to toggle background task panel.2.3.x
Content type
-
Digest
Size
-
Last updated
over 6 years ago
docker pull 80x86/filebrowser