
File Browser · 挂在指定目录上的 Web 文件管理器 · 中文部署与使用全指南
项目仓库: https://github.com/filebrowser/filebrowser
开源协议:Apache License 2.0 · 实现语言:Go · 数据库:BoltDB(单文件
filebrowser.db) · 分发:单二进制 / Docker(Alpine、s6
两种镜像) · 默认容器端口:80 → 宿主 8080 · 仓库已于 2026-09-01
归档(archived),不再发布新版本、不修复安全问题
1 项目简介
File Browser(仓库名
filebrowser/filebrowser)是一个挂在指定目录上的 Web
文件管理界面:把它装在你的服务器上,指向某个目录,你就能用一个清爽的网页界面上传、删除、预览、编辑这些文件。官方定位是
"create-your-own-cloud"——自己搭私有云盘。
重要状态说明(务必先读):官方 README 顶部明确标注——File Browser 已于 2026 年 9 月 1 日归档(archived),最后一个计划版本已发布,此后不再有新版本、Bug 修复或安全修复。现有 Release 与 Docker 镜像仍在线。如果你继续使用,应按官方建议把它当作"不再维护的软件"对待(详见第 11 节风险说明)。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | File Browser |
| 仓库地址 | github.com/filebrowser/filebrowser |
| 项目定位 | 指定目录上的 Web 文件管理器(私有云盘) |
| 开源协议 | Apache License 2.0 |
| 实现语言 | Go |
| 数据库 | BoltDB 单文件(filebrowser.db) |
| 分发方式 | 单二进制、Docker 镜像(Alpine / s6-overlay) |
| 默认 Web 端口 | 容器 80,宿主常映射 8080:80 |
| 容器内运行用户 | 默认 UID 1000 / GID 1000 |
| 仓库状态 | 2026-09-01 归档,不再维护 |
1.2 适用场景
- 想给某个服务器目录套一个网页上传 / 下载 / 预览 / 编辑界面,而不是自己搭一整套网盘。
- 轻量私有云:分享文件、手机传文件、远程改配置。
- 已有目录,临时需要一个 Web 界面做批量文件管理。
1.3 能力边界(官方口径)
- 提供:上传、删除、预览、编辑文件、用户管理、自定义命令(Command Runner,默认关闭)。
- 官方安全说明:命令执行 / runner / hooks
功能存在跨多个安全公告的漏洞,默认关闭;若用
--disable-exec=false重新开启,应把它等同于宿主机 shell 权限。 - 会话为自包含 JWT,无法服务端吊销:登出、改密、刷新后旧 token 在过期前仍有效。
2 功能特性
- 简易登录系统:多用户、鉴权。
- 文件列表与编辑:网页内预览、在线编辑文件。
- 用户管理:多用户管理界面。
- 自定义命令(Command Runner,默认关闭):在文件上下文执行自定义命令。
- 高度可定制:外观、行为可通过配置调整。
- 单二进制 / 容器:一条命令起服务。
3 官方界面预览
封面为项目官方横幅。官方文档还提供登录页、文件列表、用户管理、文件编辑器等截图(见仓库
docs/static/)。
4 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/filebrowser/filebrowser | 源码与文档 |
| 文档目录 | docs/ | 安装、配置、部署、排错 |
| Release | releases | 各平台二进制(最后版本已归档) |
| Docker Hub | hub.docker.com/r/filebrowser/filebrowser | Alpine / s6 镜像 |
| 安全公告 | security/advisories | 已知未修复问题 |
| 作者归档说明 | Goodbye File Browser, for Real This Time | 2026-07-28 官方博客 |
5 前置要求与服务器配置
5.1 软件前提
- Docker(容器方式)或可运行 Go 二进制的 Linux / macOS / Windows。
- 准备好要托管的目录;用 bind mount 时,宿主机目录必须对容器内运行用户(UID 1000)可读可写。
5.2 端口与目录
| 项 | 默认 | 说明 |
|---|---|---|
| Web 端口 | 宿主 8080 → 容器 80 | 可自行改映射 |
| 数据目录(srv) | /srv |
要管理的文件根 |
| 数据库 | /database/filebrowser.db |
BoltDB 单文件 |
| 配置 | /config/settings.json |
不存在会自动初始化 |
6 方式一:Docker 部署(官方推荐)
6.1 裸 Alpine 镜像
docker run \
-v filebrowser_data:/srv \
-v filebrowser_database:/database \
-v filebrowser_config:/config \
-p 8080:80 \
filebrowser/filebrowser三个 Docker volume 分别存数据、数据库、配置,首次运行自动初始化默认配置与数据库。
6.2 s6-overlay 镜像(LinuxServer 风格,自定义更强)
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/path/to/config 放
settings.json、/path/to/database 放
filebrowser.db,不存在会自动初始化。
注意:使用 bind mount 时,宿主机目录权限要手动
chown到容器内用户(UID 1000),Docker 不会自动帮你改权限。
7 方式二:单二进制安装
# macOS(Homebrew)
brew tap filebrowser/tap
brew install filebrowser
filebrowser -r /path/to/your/files
# Linux
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
filebrowser -r /path/to/your/files
# Windows
iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex
filebrowser -r /path/to/your/files7.1 首次启动(First Boot)
首次启动会自动引导一个 BoltDB
数据库,配置与用户都存在里面;控制台日志会打印监听地址和
admin 用户的随机初始密码。
官方警告:自动生成的 admin 密码只显示一次,忘了就只能删掉数据库重新启动。生产部署建议改用
config init/config set自定义初始化。
8 配置项说明
- 数据库路径:
-d, --database(默认./filebrowser.db)。 --disableExec:默认true(命令执行功能默认关闭,保持关闭)。--disableImageResolutionCalc:关闭读取图片计算分辨率。--disablePreviewResize:关闭图片预览缩放。- 快速初始化:
--username(默认admin)、--password用于首次引导。 - CLI
子命令:
filebrowser config(配置)、filebrowser users(用户)、filebrowser hash(密码哈希)、filebrowser rules(规则)。
9 常用运维命令
# 查看日志(找 admin 初始密码只在首次日志)
docker logs <容器名>
# 进入 CLI 管理用户 / 配置
filebrowser users --help
filebrowser config --help
# 更新镜像
docker pull filebrowser/filebrowser
docker compose up -d # 或重建容器10 常见故障排查
- 找不到 admin 密码:首次生成密码只打印一次,找不到就删除数据库 volume 重启重新初始化(会丢用户)。
- 文件目录读写失败:bind mount
路径权限不对,
chown到容器内 UID 1000(或 s6 镜像里的 PUID/PGID)。 - 容器起来但网页打不开:确认
8080:80映射与防火墙。 - 误开了命令执行功能:保持
--disable-exec默认 true,不要为图方便开 runner。 - 忘了数据库在哪:BoltDB 是单个
filebrowser.db文件,随 volume 备份即可。
11 风险与合规说明
- 项目已归档:2026-09-01 后不再发布新版本、不做 Bug 修复与安全修复。
- 官方安全指引(必读):
- 已知两类问题不再修复:命令执行 / runner / hooks 漏洞(默认关闭,别开);会话 JWT 无法吊销(旧 token 到期前一直有效,泄露即视为有效)。
- 官方建议:不要直接暴露公网,放在终止 TLS 且自带鉴权的反向代理后面;保持命令 runner 关闭;用非特权容器、只把要服务的目录挂进容器。
- Apache-2.0 许可;继续使用即接受"不再维护"的风险,重要生产环境建议评估替代方案。
- 本文命令来自官方 README 与 docs 文档,随版本可能微调,以官方仓库(已归档版本)为准。