File Browser 网页文件管理器:Docker 部署替代 FTP
痛点:2026 年了还在用 FTP?
给你的朋友分享文件:打开 FTP 客户端 → 输入 IP → 输入密码 → 找到文件夹 → 上传。对方呢?还得装个 FTP 客户端才能下载。
给团队管理服务器文件:SSH 进去 → vim 改配置 → 记不住路径 → 退出 → 再 SSH 进去。
FTP 的痛点很明显:
- 需要客户端——FTP 不是浏览器能打开的,必须装软件
- 明文传输——FTP 密码和文件在网络上裸奔
- 无权限体系——要么全给,要么全不给
- 操作复杂——上传下载靠拖拽,没有预览功能
File Browser 就是 FTP 的现代替代——一个轻量级的网页文件管理器,装好之后打开浏览器就能管理文件。
File Browser 是什么?
File Browser 是一个 Go 语言编写的开源网页文件管理器,提供简洁的 Web 界面让用户管理服务器上的文件。
核心指标:
| 指标 | 数据 |
|---|---|
| ⭐ GitHub Stars | 28.3k |
| 🦀 语言 | Go |
| 📦 最新版 | v2.33.0 |
| 📄 许可证 | Apache 2.0 |
| 🐳 Docker 镜像大小 | ~15MB |
| 🌐 界面语言 | 内置中文支持 |
核心功能:
- 📂 文件浏览:网格/列表视图,支持缩略图预览
- 📤 上传下载:拖拽上传,批量下载(自动打包 ZIP)
- ✏️ 文本编辑:内置编辑器,支持语法高亮
- 🔗 分享链接:生成临时分享链接,可设过期时间
- 👥 多用户:独立目录、独立权限
- 🎨 自定义:可自定义品牌、Logo、名称
传统 FTP vs File Browser
| 特性 | File Browser | vsftpd/Pure-FTPd | Nextcloud |
|---|---|---|---|
| 使用方式 | 浏览器访问 🏆 | 需 FTP 客户端 | 浏览器访问 |
| Docker 镜像 | ~15MB 🏆 | ~20MB | ~500MB+ |
| 资源占用 | ~10MB 内存 🏆 | ~5MB | ~200MB+ |
| 部署复杂度 | 1 条命令 🏆 | 配置复杂 | 需要数据库 |
| 权限管理 | ✅ 目录级权限 | ✅ Linux 用户 | ❌ 仅读写/只读 |
| 文件预览 | ✅ 图片/视频/文本 | ❌ | ✅ |
| 在线编辑 | ✅ 内置编辑器 | ❌ | ✅ 需插件 |
| 分享链接 | ✅ 有时效性 | ❌ | ✅ |
| 移动端适配 | ✅ 响应式 | ❌ 软件依赖 | ✅ 有 App |
一句话选型:
- 只要文件管理 → File Browser(最轻量)
- 要全套协作办公 → Nextcloud(功能最全)
- 就传传大文件 → 其实 FTP 也够用,但 File Browser 体验好得多
Docker 一行命令部署
docker run -d \ --name filebrowser \ --restart unless-stopped \ -p 8080:80 \ -v /path/to/your/files:/srv \ -v /path/to/config:/config \ -v /path/to/database:/database \ filebrowser/filebrowser:latest参数说明:
| 参数 | 作用 |
|---|---|
-v /path/to/your/files:/srv | 要管理的文件目录 |
-v /path/to/config:/config | 配置文件持久化 |
-v /path/to/database:/database | 用户数据库持久化 |
-p 8080:80 | 浏览器访问端口 |
启动后访问 http://你的IP:8080,默认账号密码:admin / admin。
docker-compose.yml
version: "3.8"
services: filebrowser: image: filebrowser/filebrowser:latest container_name: filebrowser ports: - "8080:80" volumes: # 要管理的文件(改成你的实际路径) - /mnt/data:/srv # 配置持久化 - ./config:/config - ./database:/database restart: unless-stopped基础配置
修改默认密码
登录后点击右上角设置图标 → 修改密码。或通过命令行:
docker exec -it filebrowser /bin/shfilebrowser users update admin --password newpassword设置中文界面
File Browser 自动检测浏览器语言。也可以在设置中强制指定:
# 启动时指定语言docker run -d ... \ filebrowser/filebrowser:latest \ --locale=zh-cn自定义端口和域名
# 修改默认端口(非 Docker 端口映射,而是内部端口)docker run -d ... \ filebrowser/filebrowser:latest \ --port=8080高级功能
多用户管理
# 添加用户,限制目录docker exec -it filebrowser filebrowser users add \ alice \ password123 \ --scope=/srv/alice-files \ --perm.admin=false \ --perm.create=true \ --perm.delete=false \ --perm.execute=false| 权限 | 说明 |
|---|---|
--scope | 用户能看到的目录范围 |
--perm.admin | 管理员权限(访问设置页) |
--perm.create | 创建文件和目录 |
--perm.delete | 删除文件 |
--perm.execute | 执行命令(危险,默认关闭) |
分享链接
File Browser 支持生成带过期时间的分享链接:
- 选中文件 → 右键 → 分享
- 设置有效期(1 小时 / 1 天 / 7 天 / 自定义)
- 复制链接发给别人
对方不需要登录就能下载。
性能与安全建议
1. 限制访问范围
不要直接暴露 /,给 File Browser 一个独立目录:
-v /mnt/shared-files:/srv # 只暴露这个目录2. 使用非 root 用户
services: filebrowser: image: filebrowser/filebrowser:latest user: "1000:1000" # 与文件所有者一致 volumes: - /mnt/data:/srv3. 配合 Nginx 限制 IP
location / { # 只允许内网访问 allow 192.168.1.0/24; deny all; proxy_pass http://127.0.0.1:8080;}FAQ
Q:File Browser 支持视频播放吗?
A:基础支持——可以直接在浏览器中播放 MP4/WebM 等常见格式。但不支持转码,大文件流式播放体验不如 Jellyfin/Emby。
Q:和 Nextcloud 比哪个好?
A:File Browser 定位是「文件管理器」,Nextcloud 是「全栈协作平台」。File Browser 镜像 15MB、内存占用 ~10MB,启动只要 1 秒。Nextcloud 需要 Web 服务器 + PHP + 数据库 + Redis,镜像 500MB+。
Q:能管理多个服务器的文件吗?
A:不能——File Browser 只管理运行它的那一台服务器。多服务器场景可以考虑 SeaweedFS 等分布式方案。
Q:上传大小有限制吗?
A:默认无限制,取决于反向代理配置。如果用了 Nginx,需要设置 client_max_body_size。
Q:怎么备份配置?
A:-v ./database:/database 挂载的 filebrowser.db 就是完整的配置+用户数据库。定期备份这个文件即可。
Q:支持命令行操作吗?
A:支持!docker exec -it filebrowser filebrowser --help 可以看到所有命令。支持批量用户管理、配置修改等。
总结
File Browser 是 FTP 最好的现代替代品之一:
- ✅ 极轻量——15MB 镜像,10MB 内存,1 秒启动
- ✅ 浏览器操作——不需要装任何客户端
- ✅ 权限体系——多用户、目录级、细粒度
- ✅ 实用功能——在线编辑、分享链接、缩略图预览
- ✅ Docker 一行部署——没有数据库依赖,没有复杂配置
本文由小啪撰写,基于 File Browser v2.33.0。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!