前言
在极空间中存放资料后,如果还需要跨设备打开目录、通过浏览器上传文件,或为不同使用者分配查看与编辑权限,可以在现有 NAS 上增加一个轻量级 Web 文件管理器。File Browser 就是这样的开源项目:它通过网页提供文件浏览、上传下载、目录管理和用户配置,部署时可以利用 Docker 将需要管理的宿主机目录挂载进容器,而不必迁移原有存储。需要注意,容器能够看到什么内容,首先取决于挂载路径,其次才是应用内设置的用户权限;不能因为界面上创建了用户,就默认整个 NAS 已获得隔离保护。本篇以极空间为例,从 SSH 登录和 Docker 环境检查开始,依次创建工作目录、写入配置与数据库文件、启动服务,并演示密码修改、中文界面、用户管理和实际文件操作。之后安装 cpolar,将本地 8088 端口映射到公网,分别配置随机域名与固定二级子域名,方便外出时通过浏览器访问。原文的配置文件、命令及图片均按操作顺序保留,对权限设置与目录路径中容易踩坑的部分另作说明,便于读者在实际设备上排查和调整。

1. 为什么在极空间上再装一个 File Browser?
极空间本身有文件管理能力;这里增加 File Browser,并不是要替换原有 NAS 系统,而是建立一个可以从浏览器访问、按需分配用户权限的独立入口。它属于开源 Web 文件管理器,可运行在支持其部署方式的 NAS、服务器或本地电脑上。
从功能分工看,极空间继续负责磁盘和存储,File Browser 负责在已挂载目录中提供网页文件操作。实际可访问的文件范围由 Docker 挂载和应用权限共同决定。
| 能力 | 在本篇中的用途 |
|---|---|
| 可视化文件管理 | 浏览目录、预览、上传下载、复制移动和重命名文件 |
| 多用户与权限设置 | 针对使用者配置可访问范围和操作权限 |
| 文件整理 | 新建文件夹、搜索文件,按需要处理压缩文件 |
| 远程访问 | 配合 cpolar,从外部网络进入这个 Web 页面 |
适合的场景包括家庭资料整理、小团队文件收发、服务器文件管理和为特定目录增加便捷入口。但 File Browser 并不自动拥有 NAS 的所有文件:只有挂载给容器的目录,才会进入它可管理的范围。它也不是多端自动同步或云端备份工具,删除文件前仍应确认权限和备份安排。
2. 部署前准备:先确认极空间和 Docker 环境
本教程沿用原文的极空间 SSH 及 Docker 操作,示例使用 /docker/filebrowser 作为宿主机目录、8088 作为浏览器访问端口。不同设备的存储路径或账号可能不同,操作前先核对自己的实际环境。
2.1 开启 SSH 并登录极空间
在极空间管理页面开启【SSH 服务】,再从 Windows PowerShell 或 macOS Terminal 等终端连接设备,原文命令如下:
ssh root@IP
其中 IP 要替换为极空间的局域网地址,登录账号也须以设备实际允许的 SSH 用户为准。准备好终端连接后,再执行后面的 Docker 操作。
原文还给出了《极空间别再吃灰了!开启SSH,秒变全能服务器!》作为 SSH 功能的补充参考。

2.2 检查 Docker 是否可用
先确认设备已经安装并启用 Docker / 容器运行环境。原文保留的检查命令为:
docker -v
systemctl status -v
排查提示: docker -v 用于查看 Docker 客户端版本;原文的 systemctl status -v 不能直接用于检查 Docker 服务。若设备采用 systemd,检查 Docker 服务时应明确指定服务名,例如 systemctl status docker。也可进一步用 docker ps 判断客户端能否连接 Docker 守护进程;如果极空间使用了不同的服务管理方式,应以设备界面为准。
原文所引的《极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手!》可作为 Docker 环境准备的补充材料。

3. 安装 File Browser:把存储、配置和数据库分开
开始部署时,先明确一个重要关系:宿主机上的 /docker/filebrowser/srv 将映射为容器内部的 /srv;配置文件和数据库文件也分别映射。后续在网页里看到的根目录,取决于这一组映射,并不等于直接接管整个极空间磁盘。
3.1 创建文件夹
按原文创建 srv、config、db 三个目录:
mkdir -p /docker/filebrowser/{srv,config,db}
chmod -R 777 /docker/filebrowser/
上述 chmod -R 777 是原文中的演示命令,并不建议把它作为长期权限配置。它会扩大文件与目录的读写权限。实际部署中应按容器运行 UID/GID 设置目录所有者和必要权限;尤其是公网开放前,应检查配置文件、数据库与共享目录,避免其他本机用户获得不必要的写入权限。
3.2 写入配置文件和数据库文件
在配置目录下创建 config.json,保留原文端口、数据库及根目录参数:
cat > /docker/filebrowser/config/config.json <<EOF
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/etc/database.db",
"root": "/srv"
}
EOF
这份配置将 Web 服务端口设为容器内的 80,数据库路径设为 /etc/database.db,管理根目录设为 /srv。继续创建数据库文件:
touch /docker/filebrowser/db/database.db
权限说明: 原文先执行 chmod,后用 touch 新建数据库文件,文件的所有者和权限未必适合稍后指定的 --user 1000:1000。若启动日志出现 permission denied 或数据库无法写入,应确认 config.json、database.db 和目录的所有者与权限,让 UID/GID 1000:1000 在必要位置拥有读写能力,而不是反复扩大成 777。
3.3 拉取镜像并启动容器
先下载镜像:
docker pull filebrowser/filebrowser
再按原文的端口和卷挂载方式运行:
docker run -d \
--name filebrowser \
--restart always \
-v /docker/filebrowser/srv:/srv \
-v /docker/filebrowser/config/config.json:/etc/config.json \
-v /docker/filebrowser/db/database.db:/etc/database.db \
-p 8088:80 \
--user 1000:1000 \
filebrowser/filebrowser
这条命令中,8088:80 表示浏览器访问宿主机 8088 端口时转发到容器内 80 端口;srv 是网页可管理的文件根目录;config.json 和 database.db 分别保存配置与应用数据。--user 1000:1000 指定容器进程身份,因此宿主机文件权限必须与之匹配。使用 latest 镜像时,后续更新可能改变默认行为,长期使用可记录实际运行版本并做好数据备份。

3.4 用日志检查启动问题并打开页面
若容器启动异常,先看日志以区分权限、端口占用或配置问题。原文提供了删除容器的命令:
docker rm -f filebrowser
请只在确认需要重新创建容器时执行。 该命令会强制删除名为 filebrowser 的容器,不是查看错误日志的命令;已映射到宿主机的文件应另行备份,尤其不要误删共享数据目录。
原文用于查看容器日志及首次登录信息的命令为:
docker logs filebrowser

首次登录凭据的呈现方式可能随镜像版本、数据库是否已初始化而变化,应以实际部署的日志与项目说明为准。如果登录信息没有出现在日志里,先检查服务是否完成初始化,不要直接假定密码固定不变。
部署完成后,在浏览器打开 http://极空间IP:8088,先确认登录页能从局域网正常显示。

4. 真正用起来:文件夹、账号和文件操作
网页能够打开,只说明容器服务已就绪。下一步先核对能看到的目录,再调整账号和密码,最后测试文件的上传、查找与管理。
4.1 为什么首页会出现这些文件夹?
File Browser 的根目录设为容器内 /srv。原文用于展示预先创建目录的示例命令如下,继续原样保留:
mkdir -p /srv/ubuntu/Prometheus
mkdir -p /srv/ubuntu/Debian
mkdir -p /srv/work
mkdir -p /srv/***
特别注意路径: 这组 /srv/... 路径只有在容器内执行,或宿主机的 /srv 恰好就是实际映射来源时,才会对应网页根目录。本篇 docker run 明确挂载的是宿主机 /docker/filebrowser/srv,因此如果在极空间宿主机提前创建文件夹,应放到该挂载目录下,而不能把两处 /srv 混为一谈。示例中的 *** 也不应照搬为正式目录名,应改成自己需要的名称。


验证时应确保新建目录确实出现在网页中;若未出现,优先检查宿主机路径、容器挂载及账号的根目录权限。
4.2 首次登录后修改密码、设置语言
完成首次登录,先进入个人设置修改初始化密码。自定义密码应保持足够长度和强度,不要因为原始密码不好记就改成简单数字组合。

若习惯中文界面,可以在设置中切换语言,日常操作会更容易辨认。

4.3 创建用户并限定可访问范围
File Browser 支持配置多个用户和对应权限。管理员可以根据使用者的任务分配目录范围及操作权限;不应默认把最高权限提供给所有账号。

新增用户时填写相应账号信息,并检查其访问目录及允许执行的操作。配置完成后,建议实际切换到普通用户验证一次,确认不能越权查看或删除其他目录。


4.4 新建文件夹、上传和搜索
在网页中创建文件夹,整理照片、资料和工作文件等常用内容:

需要将电脑中的资料存入 NAS 时,使用上传功能选择文件或文件夹。传输完成后,核对文件名、大小和目标目录,避免误放进不该共享的位置。


文件增多后,还可以通过关键词查找需要的内容:


这里应区分“上传到 NAS”与“给电脑自动扩容”:只有已经迁移或备份到 NAS、并确认可读取的文件,才可以按需要清理本地副本。File Browser 不是自动备份工具,重要资料仍应保留独立备份。
5. 出门后也要用:安装 cpolar
到目前为止,http://极空间IP:8088 主要用于可访问家庭局域网的设备。想在公司或手机移动网络中打开同一个文件管理页面,就需要额外配置远程访问入口。
cpolar 可以将本地 Web 服务映射到公网地址,无需直接要求家庭宽带具有可入站访问的公网 IP。本篇让它指向 File Browser 的 8088 端口;公网域名只是访问入口,文件数据仍由极空间上的服务处理。
5.1 在极空间中安装 cpolar
沿用原文一键安装命令:
sudo curl https://get.cpolar.sh | sh

安装后查看服务状态:
sudo systemctl status cpolar

确认服务运行后,在同一局域网的浏览器里打开 http://极空间IP:9200,使用 cpolar 账号登录 Web 管理界面。原文将链接显示文字写为 http://ip:9200,却指向 localhost;实际从另一台电脑访问时,应填极空间的真实 IP,localhost 只表示浏览器所在的本机。

6. 先用随机域名验证远程访问
建议先把随机域名作为连通性测试,确认外网能够访问 File Browser,再根据需要决定是否配置固定地址。
登录 cpolar Web UI,进入【隧道管理】→【创建隧道】,按原文示例填写:
| 设置项 | 本篇配置 |
|---|---|
| 隧道名称 | fb(可自定义,避免重名) |
| 协议 | http |
| 本地地址 | 8088 |
| 域名类型 | 随机域名 |
| 地区 | China Top |

创建成功后,进入【状态】→【在线隧道列表】,复制系统实际生成的公网地址。不同用户获得的地址并不相同,不能直接复用截图中的示例地址。

使用其他网络中的电脑或手机打开地址,验证是否显示 File Browser 登录界面,并使用有权限的账号实际读取测试文件。

公网安全提醒: 可以远程打开登录页,并不等于服务已获得充分安全保护。务必先修改初始化密码、限制用户权限、使用 HTTPS 入口,并根据实际使用范围考虑附加认证;不要直接公开管理账号,更不要将整个 NAS 根目录挂载给容器。
7. 长期访问:设置固定二级子域名
如果经常外出使用或需要把地址保存在手机书签中,随机域名可能不便于长期使用。这时可按照原文的固定二级子域名流程配置。是否提供及如何收费,应以 cpolar 账户当前可用权限为准。
先在 cpolar 官网的预留页面选择【保留二级子域名】。

选择 China Top 地区并输入自定义子域名,原文示例名称为 fb。填写备注信息后点击【保留】。名称能否成功保留取决于是否已被占用以及当前账号权限。

接着回到本地 cpolar Web UI 的【隧道管理】→【隧道列表】,找到刚才创建的 fb 隧道并点击【编辑】。

将域名类型改为【二级子域名】,在 Sub Domain 中填写已经保留成功的名称,地区保持 China Top,再点击【更新】。

随后进入【在线隧道列表】,确认原随机地址已更新为保留的二级子域名地址。

最后从其他网络打开该地址,确认能进入 File Browser 并完成登录、文件查看等基本操作。

固定地址解决的是入口易变的问题,并不意味着设备断电、容器停止或隧道离线后仍能访问,也不等于数据获得自动备份。公网开放后尤其要做好口令、用户权限、容器和系统更新,以及数据库与文件目录的定期备份。
总结
本篇完成了极空间 SSH 环境准备、File Browser 容器部署、配置与数据库映射、初次登录和多用户文件操作,并通过 cpolar 验证随机公网地址及固定二级子域名。方案的核心是“NAS 本地存储+Web 文件管理+按需公网入口”,各组件职责明确,方便后续维护和排错。
需要记住的边界也很清楚:File Browser 只能管理实际挂载给它的目录;原文的 777 权限和 /srv 路径示例应结合当前挂载关系重新核对;公网上能打开页面,不代表访问控制或备份就自动到位。重要文件保留独立备份,远程开放时使用强密码、最小权限和 HTTPS,才能让这套工具长期用得踏实。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/Z_oioihoii/article/details/166789217




