文件浏览器在指定目录中提供文件管理界面,可用于上传、删除、预览和编辑文件。它是一款自建云软件,您只需将其安装在服务器上,指定路径,然后通过美观的 Web 界面访问文件即可。



文件浏览器是一个二进制文件,可以作为独立的可执行文件使用。但是,它也可以作为 Docker 镜像使用。无论您使用哪种系统,安装和首次设置都非常简单。
安装文件浏览器最快捷、最简单的方法是使用包管理器或我们的下载脚本,它会自动获取适合您平台的最新版本的文件浏览器。
brew tap filebrowser/tap
brew install filebrowser
filebrowser -r /path/to/your/files
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
filebrowser -r /path/to/your/files
iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex
filebrowser -r /path/to/your/files
您的实例现已启动并运行。文件浏览器将自动引导一个数据库,用于存储配置和用户信息。您可以在控制台日志中找到实例的运行地址以及随机生成的 admin 用户密码。
自动生成的用户 admin 密码仅显示一次。如果您忘记了密码,则需要手动删除数据库并重新启动文件浏览器。
文件浏览器有两种不同的 Docker 镜像,可在 Docker Hub 上找到:Alpine 镜像和 S6 Overlay 镜像。
docker run -d \
--name filebrowser \
--restart=always \
-v /data/filebrowser/data:/srv \
-v /data/filebrowser/database:/database \
-v /data/filebrowser/config:/config \
-p 8085:80 \
filebrowser/filebrowser:v2.44.2-s6
其中 filebrowser_data、filebrowser_database 和 filebrowser_config 是 Docker 卷,分别用于存储数据、数据库和配置。默认配置和数据库将自动初始化。
在容器内运行文件浏览器的默认用户的 PID 为 1000,GID 为 1000。如果出于某种原因,您想使用其他用户运行 Docker 容器,请查阅 Docker 的用户文档。
使用绑定挂载时,即在容器中挂载主机上的路径时,必须手动确保它们具有正确的权限。Docker 不会自动执行此操作。主机目录必须对容器内运行的用户具有可读写权限。您可以使用 chown 命令更改这些路径的所有者。
S6 Overlay 镜像基于 LinuxServer,并利用 s6-overlay 系统构建一个标准且高度可定制的镜像。其使用方法如下:
docker run \
-v /path/to/srv:/srv \
-v /path/to/database:/database \
-v /path/to/config:/config \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
filebrowser/filebrowser:s6
其中:
如果 settings.json 和 filebrowser.db 不存在,则会自动初始化它们。
大部分配置信息可以通过命令行界面文档了解。要访问该文档,您需要安装文件浏览器并运行 filebrowser --help。本页将介绍一些具体的、较为复杂的主题。
您可以自定义文件浏览器以使用您自己的品牌。这包括以下内容:
管理员用户可以在“设置”→“全局设置”下进行配置。您也可以使用 CLI 直接更新配置:
filebrowser config set --branding.name "My Name" \
--branding.files "/abs/path/to/my/dir" \
--branding.disableExternal
如果您使用的是 Docker,则需要挂载带有品牌目录的卷,以便从容器内访问它。
要替换默认徽标和网站图标,您需要在品牌目录下创建一个 img 目录。该目录的结构必须与默认徽标的结构相同:
img/
logo.svg
icons/
favicon.ico
favicon.svg
(...)
目前,有三种可用的身份验证方法。每种方法都有各自的功能和规范。
我们称之为 JSON 身份验证,但它只是默认的身份验证方法,如果您不进行任何更改,它将默认提供。它是默认设置的,但如果您之前进行过更改,则可以恢复使用 JSON 身份验证:
filebrowser config set --auth.method=json
此方法还可以通过登录期间的 reCAPTCHA 验证进行扩展:
filebrowser config set --auth.method=json \
--recaptcha.key site-key \
--recaptcha.secret private-key
默认情况下,我们使用 Google 的 reCAPTCHA 服务。如果想使用其他提供商,可以使用以下命令更改主机:
filebrowser config set --recaptcha.host https://recaptcha.net
如果您有反向代理,并希望用于登录用户,您可以通过我们的代理身份验证方法进行操作。要配置此方法,您的代理必须发送一个包含已登录用户名的 HTTP 标头:
filebrowser config set --auth.method=proxy --auth.header=X-My-Header
其中 X-My-Header 是您的代理提供的包含用户名的 HTTP 标头。
文件浏览器会盲目信任提供的标头。如果可以绕过代理,攻击者只需附加标头即可获得管理员权限。
我们还为希望在家庭网络中私密使用文件浏览器的用户提供了无身份验证机制。通过设置此身份验证方法,ID 为 1 的用户将被用作默认用户。创建更多用户不会有任何影响。
filebrowser config set --auth.method=noauth
Apache License 2.0 © File Browser Contributors