为什么会关注到 FileBrowser?

在日常服务器运维、团队协作、私有云搭建等场景中,文件管理始终是绕不开的需求。无论是使用传统的 scp
、rsync
进行远程文件传输,还是通过 FTP 进行多端访问,这些方式虽然稳定可靠,但在某些使用场景下略显"硬核":
比如:
- 想快速预览某个文件内容,无需下载
- 希望多位同事共用一个目录,但权限需细分
- 临时需要通过网页将文件发给外部人员
- 或者,只是单纯想要一个更直观、易用的文件管理方式
这时,FileBrowser 就是一个很不错的补充选项。
什么是 FileBrowser?
FileBrowser 是一款基于 Go 语言开发的Web 文件管理工具,本质上就是一个图形化的文件管理器,运行后通过浏览器访问即可查看、上传、下载服务器上的文件。
它的目标不是替代传统命令行工具,而是补充可视化操作的便利性。
核心功能包括:
- 图形界面查看和管理文件
- 支持多用户系统,权限可精细到路径级
- 支持外链分享,设置有效期和密码
- 支持在线编辑文本类文件(如 .md、.txt、.conf)
- 支持 WebDAV、API、命令行同步等拓展
如何部署 FileBrowser?
部署方式非常灵活,可根据你的使用环境选择合适方式:
方法一:单行脚本安装
适用于常规 Linux 系统(默认账号密码 admin
/ admin
):
bash
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
# -r 指定filebrowser管理的路径
# -a 指定监听地址(0.0.0.0 运行所有地址访问)
filebrowser -r / -a 0.0.0.0

方法二:Docker 安装
推荐方式,环境隔离好,方便维护:
bash
# 创建数据库文件
touch .filebrowser.db
# 创建配置文件
echo '{
"address": "0.0.0.0"
}' > ~/.filebrowser.json
docker run \
-v /home/getcharzp:/srv \
-v /home/getcharzp/.filebrowser.db:/database/filebrowser.db \
-v /home/getcharzp/.filebrowser.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
filebrowser/filebrowser:s6
适合哪些场景?
FileBrowser 的优势在于轻量、界面直观,因此特别适合:
- 程序员日常文件预览、快速上传下载
- 极客用户自建家庭网盘系统
- 教育机构共享教学资源
- IT 管理员为非技术人员提供"图形化"文件入口
- 公司内部临时文件共享需求(无公网服务也能用)
安全性如何?
FileBrowser 支持:
- HTTPS 配置(可结合 Nginx、Caddy 实现)
- 多用户权限管理
- 基础日志记录和操作追踪
虽然不主打"企业级存储方案",但在小规模使用场景下,已经足够灵活且安全。