Filebrowser:一个单文件的网页文件管理器,装完就能用
没有数据库、没有依赖,一个二进制文件就是全部。浏览、上传、下载、在线编辑、分享,够日常用。
如果你只是想要"在浏览器里翻文件、上传下载、改个配置文件",前面那些网盘系统都太重了。
Filebrowser 是个 Go 写的单文件程序:一个二进制,配一个配置文件,跑起来就完事。
装
services:
filebrowser:
image: filebrowser/filebrowser:latest
container_name: filebrowser
ports: ["8082:80"]
volumes:
- /vol1:/srv
- ./filebrowser/database.db:/database.db
- ./filebrowser/config.json:/config.json
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
restart: unless-stopped
打开 http://NAS地址:8082,默认账号密码都是 admin / admin,进去第一件事改掉。
/vol1 挂到容器里的 /srv,等于把整个存储卷暴露给这个界面——想限制范围,改成具体子目录,比如 /vol1/share。
它能干什么
浏览和操作:上传、下载、新建文件夹、重命名、删除、批量选择。
在线编辑:点开文本文件(配置、脚本、Markdown)直接在浏览器里改,保存即写入。这个功能我用得最多——改个 compose 文件不用开 SSH。
在线预览:图片、视频、PDF、代码高亮。
分享链接:单个文件生成一个带过期时间的下载链接。
多用户:建账号,给每个账号分配可访问的目录和权限(读写/只读)。
三个实用场景
一、给家人一个"只读"的入口
建一个账号,只授权照片目录,只读。给他们一个网址,能看能下载,动不了别的东西。
二、手机上传
在手机上打开这个网页,选"上传",能把照片、文件直接传进 NAS。比装 App 快。
三、临时改配置
某个容器配置错了,SSH 又连不上,打开 Filebrowser 找到那个文件改掉,比什么都快。
几个设置值得改
默认语言
config.json 里没有语言项,它在界面里设:设置 → 个人设置 → 语言 → 简体中文。
关闭注册
默认允许注册新用户。多用户场景下这很危险——关掉,只留你自己建的账号。
根目录范围
/srv 是整个卷的话,用户能看到所有目录。给普通账号单独设一个目录(Scope)。
和 Cloudreve 的区别
- Filebrowser:轻,单文件,管理型——像"文件资源管理器";
- Cloudreve:重,多存储后端,分享型——像"网盘"。
日常管理用 Filebrowser,对外分享用 Cloudreve。两个一起装也没问题,加起来不到 100 MB。
会踩的坑
权限错误,没法写文件
PUID/PGID 和你宿主机目录的属主不一致。SSH 上去 id 看当前用户,填那个数字。
改了 database.db 没生效
它是 SQLite,挂载时文件必须已存在,否则 Docker 会创建一个目录。先 touch 一下再启动。
中文文件名乱码
容器 locale 问题,加 LANG=C.UTF-8。
忘了密码
进容器执行 filebrowser users update admin --password 新密码。
别把根目录开到公网 它没有防暴力破解机制,账号密码是唯一防线。走隧道 + 认证。
它适合谁
- 想要一个轻量网页文件管理器的;
- 需要给家人一个只读/受限入口的;
- 经常在浏览器里改配置文件的。
不适合:需要分享链接带提取码、多存储后端、配额管理的(用 Cloudreve);只是自己偶尔传个文件(飞牛自带文件管理够)。
最后
Filebrowser 的卖点是简单:一个文件、一个配置、一个端口。
在"装个服务要先读半小时文档"的今天,这种简单本身就值钱。
有问题留言。
留言