是时候把它改造成NAS了!
一、NAS-Panel
NAS-Panel ≠ 传统 NAS 系统(如 TrueNAS)
它是一个:
- 🧭 Web 管理面板
- 📦 集成 Docker 管理
- 📁 带文件管理功能
- 💾 可管理挂载的磁盘(如
/data)
非常适合你这种:
小主机 + Ubuntu Server + Docker + 单块大容量机械盘
二、部署前检查(很重要,避免后面报错)
1️⃣ 确认 Docker 正常
docker version
能看到 Client / Server 信息即可。
2️⃣ 确认数据盘已挂载(sdb)
lsblk
你应该能看到类似:
sdb
└─sdb1 465G /data
如果 /data 不存在或没挂载,先别继续。
三、创建 NAS-Panel 目录结构(规范做法)
我们把 配置 和 数据盘 分开:
mkdir -p ~/docker/nas-panel
cd ~/docker/nas-panel
四、创建 docker-compose.yml(核心步骤)
在 ~/docker/nas-panel 目录下:
nano docker-compose.yml
粘贴下面内容(
services:
sun-panel:
image: hslr/sun-panel:latest
container_name: sun-panel
restart: unless-stopped
ports:
- "3002:3002"
volumes:
- ./conf:/app/conf
- /var/run/docker.sock:/var/run/docker.sock
- /data:/mnt/data
五、启动 NAS-Panel
在当前目录执行:
docker compose up -d
如果你看到:
✔ Container nas-panel Started
说明成功。
六、访问 NAS-Panel Web 界面
在 另一台电脑(Windows)浏览器 打开:
http://<服务器IP>:3002
例如:
http://192.168.1.100:3002
默认账号(首次登录)
⚠️ 如果页面提示创建管理员,按提示来
不同版本略有差异
通常是:
- 用户名:admin@sun.cc
- 密码:12345678
登录后第一件事:改密码
二、 File-browser
一、使用目的
在 Ubuntu Server 上,为 独立数据盘(如 /data,sdb) 提供一个:
- 浏览器访问的文件管理界面
- 用于 NAS 场景下的文件上传 / 下载 / 管理
- 与 Sun-Panel 搭配,作为文件管理入口
二、前置条件
- Ubuntu Server 已安装 Docker / Docker Compose
- 数据盘(sdb)已正确挂载到
/data - 使用普通用户(非 root)管理 Docker
三、推荐目录结构
/home/lluosu/docker/filebrowser/
├─ docker-compose.yml
└─ config/
说明:
docker-compose.yml:容器定义config/:File Browser 配置持久化目录
必须存在且可写
四、docker-compose.yml(稳定可用版本)
services:
filebrowser:
image: filebrowser/filebrowser:latest
container_name: filebrowser
restart: unless-stopped
ports:
- "8081:80"
volumes:
- /data:/srv
- ./config:/config
environment:
- PUID=1000
- PGID=1000关键说明
| 项 | 作用 |
|---|---|
/data:/srv |
将 sdb 数据盘映射为文件根目录 |
./config:/config |
保存 settings.json 等配置 |
PUID/PGID=1000 |
使用当前用户权限,避免 root 写入 |
五、安装与启动步骤
1️⃣ 创建目录
mkdir -p ~/docker/filebrowser/config
cd ~/docker/filebrowser2️⃣ 启动容器
docker compose up -d3️⃣ 检查运行状态(必须)
docker ps应看到:
filebrowser Up ...
如果状态为 Restarting,说明启动失败。
六、常见错误与排查
❌ 问题现象
- 浏览器无法访问
http://服务器IP:8081 docker ps显示:
filebrowser Restarting
- 日志报错:
cp: can't create '/config/settings.json': Permission denied
❗ 根因
config/目录 属主或权限不正确- 容器运行用户(PUID=1000)无写权限
- File Browser 无法生成
settings.json,直接退出
✅ 正确修复方式(推荐)
cd ~/docker/filebrowser
sudo chown -R lluosu:lluosu config确认:
ls -ld config应为:
drwxr-xr-x lluosu lluosu config
然后重启:
docker compose up -d七、访问方式
浏览器访问:
http://服务器IP:8081
默认登录信息:
- 用户名:admin
- 密码:admin
登录后建议立即修改密码。
八、目录映射关系说明(防止混淆)
| 宿主机 | 容器内 | 实际意义 |
|---|---|---|
/data |
/srv |
sdb 机械盘真实数据 |
~/docker/filebrowser/config |
/config |
File Browser 配置 |
在 Web UI 中看到的所有文件,实际都位于 /data。
九、部署完成后的建议
- 将 File Browser 入口添加到 Sun-Panel
- 下载类容器(qBittorrent)统一指向
/data - Docker 配置文件不要放在
/data - 定期关注磁盘 I/O,避免机械盘频繁唤醒
面板配置
这个地方自由发挥即可
像这样就是一个很初步的配置,后面我们会慢慢把它扩展起来