家里NAS存了不少文件,出门却用不上?我用FileBrowser搭了个网页版文件管理器
前言
家里的 NAS 越用越久,照片、工作文档、安装包和各种备份也越积越多。文件明明都放在自己的设备里,可一旦换到另一台电脑,或者人在外面突然想找一份资料,访问起来就没有想象中方便。尤其是临时借用别人的电脑时,我并不想先装一套客户端,只希望打开浏览器,登录后就能找到指定文件。
这也是我想给 NAS 增加一个独立文件管理入口的原因。系统自带的文件管理器负责日常操作,而 File Browser 提供了另一种方式:将指定目录展示为网页,支持上传、下载、创建文件夹以及按账号分配权限。它不替代 NAS 的存储能力,也不会自动获得整台机器的全部文件;能管理哪些内容,取决于部署时挂载了哪些目录。
这次我以飞牛 OS 为例,先通过 SSH 确认 Docker 环境,再部署 File Browser,完成初次登录、文件操作与用户管理。最后利用 cpolar 将局域网内的 8080 端口映射到公网,并配置固定地址,演示手机或异地电脑如何访问。文章保留实际命令和界面截图,也会说明配置文件挂载、初始密码和公网开放时容易忽略的细节。目标不是把 NAS 说成万能云盘,而是搭建一个自己能维护、也便于家人使用的网页文件入口。
1. 认识 File Browser:给指定目录加一个网页入口
File Browser 是开源的 Web 文件管理器。它的价值在于让浏览器承担文件操作界面:在授权范围内查看目录、上传下载、创建和重命名文件,以及按实际配置使用预览、分享等功能。对家庭 NAS 来说,手机、平板和电脑都可以通过网页进入同一套管理界面,减少不同设备之间反复传文件的步骤。
需要先划清一个边界:File Browser 不负责替你保存“云端副本”,也不会自动扫描 NAS 全部硬盘。容器里的/srv对应哪个宿主机目录,就主要管理那个目录及其可访问内容。原文演示的是先给它建立一个独立文件夹,后续上传文件,因此第一次登录看到空目录是正常的。
我主要用它处理四类事情:临时上传下载、集中整理资料、把部分目录分配给家人,以及人在外面时通过自己的地址找文件。多用户并不等于所有人都有相同权限,实际使用时要分别设置账号的访问范围和读写权限。
2. 环境准备:先连接飞牛 OS,再检查 Docker
2.1 打开 SSH
在飞牛 OS 的设置中找到 SSH,启用后使用 Windows PowerShell 或 macOS Terminal 连接 NAS。操作位置可对照下面三张原图。账号、IP 和登录方式以你自己的设备为准,不需要照抄他人的地址。
2.2 检查 Docker
打开终端后,原文使用了下面两条命令。我保留原始内容,方便与截图逐项对应:
docker-vsystemctl status-v这里需要纠正一个检查思路:docker -v只能显示 Docker 客户端版本,systemctl status -v不能用于判断 Docker 服务是否正常运行。如果想进一步确认容器引擎是否可用,可执行docker info,或查看飞牛 OS 应用界面中的 Docker 运行状态;具体服务名称可能因系统环境而异。
3. 部署 File Browser:先理顺目录挂载
我先按原文建立三类目录:srv放准备交给网页管理的文件,config保存配置,db保存用户及应用数据库。下面是原文的创建命令:
mkdir-p/docker/filebrowser/{srv,config,db}原文随后使用文件级挂载,把宿主机的config.json和database.db分别指向容器中的文件路径。这属于原教程使用的历史写法,原始命令保留如下:
dockerrun-d--namefilebrowser\--restartalways\-v/docker/filebrowser/srv:/srv\-v/docker/filebrowser/config/config.json:/etc/config.json\-v/docker/filebrowser/db/database.db:/etc/database.db\-p8080:80 filebrowser/filebrowser新部署时不要忽略这里的版本差异。上一条命令依赖所用镜像对/etc/config.json、/etc/database.db的路径约定,而且前面仅建了目录,并未创建这两个文件。如果直接照抄,Docker 可能把不存在的宿主机文件路径创建成目录,导致文件挂载类型不匹配;镜像版本变化也可能使旧位置不再适用。
按照 File Browser 当前官方 Docker 文档,新的部署更适合使用目录挂载,配置和数据库由镜像在相应目录中初始化。继续使用刚才建立的目录时,可参考下面的现行目录式方案;它与上方历史命令是二选一,不要在同一台机器上把两条命令连续运行:
# 现行目录挂载示例;与上方原文历史命令二选一dockerrun-d--namefilebrowser\--restartalways\-v/docker/filebrowser/srv:/srv\-v/docker/filebrowser/db:/database\-v/docker/filebrowser/config:/config\-p8080:80\filebrowser/filebrowser当前官方文档还说明,基础镜像默认以 UID/GID 为1000:1000的用户运行。若容器无法写入db、config或srv,应检查这几个宿主机目录的实际所有者及读写权限,再按飞牛 OS 的用户和共享目录权限进行调整。不要为了省事给整块 NAS 共享目录执行chmod -R 777。如果原来的filebrowser容器已经存在,先检查其状态与数据,再决定是否迁移,切勿覆盖有数据的实例。
容器创建后,按原文命令检查其状态:
dockerps-a确认容器处于运行状态后,在与 NAS 同一局域网的浏览器打开http://飞牛IP:8080。8080 是宿主机端口;容器内部仍使用 80。只要前面的映射不变,后续 cpolar 也要指向 8080,而不是 80。
4. 登录并完成基础文件管理
4.1 从日志查找初始密码
首次启动后,我先查看容器日志获取管理员账号的初始登录信息。原文对应命令如下:
dockerlogs filebrowserFile Browser 当前官方文档说明,首次初始化时会在日志中显示admin用户的随机密码,并且通常只显示一次。先妥善保存,再登录页面;如果数据库是沿用旧数据,行为则以该实例原有账号为准。
4.2 上传、创建和整理文件
刚部署完成时目录里没有文件,不是程序出错:我挂载的是新建的/docker/filebrowser/srv。如果希望访问真正存放家庭资料的共享目录,需要按实际 NAS 路径重新规划/srv的挂载范围,并确认容器账号有对应权限。不要直接把根目录或所有私人资料都开放给一个共享账号。
我先在网页里上传一份文件,检查上传后的目录和列表是否正常显示。下面依次保留原文的三张操作截图。
除了上传已有文件,也能按权限创建新文件或文件夹,适合把临时资料与长期归档内容分开管理。
4.3 设置中文界面和独立用户
在个人设置中切换界面语言,日常操作会更直观。
如果家里有多人需要使用,可以新增账号,再按各自需要设置访问目录和读写权限。比如共享资料可安排为只读,私人资料则不应对其他账号可见。官方部署文档也提醒:启用自助注册前要检查新用户的默认 scope,避免新账号直接获得根目录的操作权限。
最后修改初始管理员密码。原始随机密码不好记,并不意味着应该换成简单口令;建议使用长度足够的独立密码,避免与 NAS 管理员密码重复。公网访问前也应确认是否开放分享或注册,以及能否通过权限策略收紧管理范围。
5. 安装 cpolar:从局域网访问过渡到远程访问
到这里,本地文件管理已经可以使用。它解决的是“通过网页管理指定目录”;如果我在外出时需要访问,还要再解决连接问题。cpolar 在这里承担的是网络入口的角色,将 NAS 上的 8080 端口映射为可访问的公网地址,并不替代 File Browser 的账号和文件权限。
先连接到飞牛 OS 的终端,按原文安装命令操作:
sudocurlhttps://get.cpolar.sh|sh安装后查看 cpolar 的服务状态。
sudosystemctl status cpolar如果服务已经正常运行,就在同一局域网的浏览器打开http://飞牛NAS局域网IP:9200,用 cpolar 账号登录 Web 管理界面。只有在浏览器本身就在安装 cpolar 的那台设备上时,localhost:9200才指向正确机器;从别的电脑访问要使用 NAS IP。
6. 创建随机公网地址:先验证链路是否通畅
在 cpolar 的“隧道管理”中创建一条指向 File Browser 的 HTTP 隧道。本文沿用原图参数:隧道名用FileBrowser作示例,本地地址填8080,域名类型先选“随机域名”,地区选China Top。隧道名不能与自己已有名称重复。
创建后进入“状态 → 在线隧道列表”,找到对应的公网访问地址。优先使用 HTTPS 地址,并从另一网络环境测试:先确认登录页能打开,再用正确账号登录、查看指定目录和上传下载一份无敏感内容的测试文件。只看到登录页,不等于文件权限、上传或分享功能都验证成功。
远程验证后仍要保留 File Browser 自身登录。公网隧道是连接通道,不应被理解为“自动加上所有安全防护”;建议关闭不需要的自助注册、限制目录范围,并根据可用功能配置额外访问认证。
7. 保留固定二级子域名:减少地址变化带来的麻烦
随机地址适合短期测试;如果想把地址保存在手机书签里,固定二级子域名更方便。这一步取决于 cpolar 账号当前支持的套餐和域名权限,不能将“地址固定”理解为服务不受关机、断网或套餐变化影响。
在 cpolar 控制台进入“预留 → 保留二级子域名”,按页面填写地区、子域名和备注。原文示例使用FileBrowser作为名称,实际以账号成功预留的名称为准。
接着回到本地 cpolar Web UI,在“隧道管理 → 隧道列表”找到刚才的隧道,点击编辑。
将域名类型改为“二级子域名”,在Sub Domain中填写已经预留成功的名称,地区与预留时保持一致,再点击更新。
更新后查看在线隧道列表,确认地址已从随机形式变成固定二级子域名。
最后用手机移动网络或异地电脑打开对应的 HTTPS 地址,按 File Browser 的账号权限完成登录与文件操作验证。日常使用时还应定期备份db、config及重要文件,并保持 Docker 镜像与 NAS 系统更新。
总结
对我来说,File Browser 最实用的地方不是把 NAS 变成另一个商业云盘,而是给自己存放的资料增加一个清楚、独立的浏览器入口。这次在飞牛 OS 上完成了目录准备、容器部署、初次登录、文件上传和用户管理,再通过 cpolar 做了随机地址与固定二级子域名配置,手机和电脑都可以按账号权限访问相应目录。
真正需要长期维护的,是文件挂载、用户权限、初始密码和备份,而不只是把页面打开。外网访问建议使用 HTTPS,并把 File Browser 目录范围控制在确实需要共享的部分。这样下次人在外面临时找资料时,操作更方便,数据仍由自己的 NAS 保存和管理。