1. 为什么需要FnDepot第三方应用商店
在飞牛OS生态中,FnDepot扮演着类似手机应用商店的角色。传统Docker部署方式需要用户掌握命令行操作,包括镜像拉取、端口映射、卷挂载等复杂参数配置。而FnDepot将这些技术细节封装成可视化界面,通过应用卡片形式呈现各类服务,极大降低了NAS用户的使用门槛。
我实测发现,通过FnDepot安装MySQL数据库只需三次点击:选择应用→确认配置→点击安装。相比手动输入docker run -e MYSQL_ROOT_PASSWORD=xxx等命令,效率提升至少80%。商店内应用都经过飞牛团队适配测试,避免了版本兼容性问题,比如Nginx镜像默认已配置好飞牛OS的权限体系。
2. 安装前的环境准备
2.1 硬件兼容性检查
FnDepot对硬件要求极低,实测在斐讯N1(1GB内存)上也能流畅运行。但建议:
- 至少2GB空闲存储空间(存放应用镜像)
- 千兆网络环境(加速镜像下载)
- 开启VT-x/AMD-V虚拟化(Docker底层依赖)
注意:部分老旧设备如CM311-1A需先刷入飞牛OS底包,建议参考社区教程《CM311-1A刷机指南》
2.2 系统版本确认
通过SSH连接飞牛OS后执行:
bash复制cat /etc/fnos-release
要求版本≥2.1.0(2023年后发布的版本)。旧版用户需先升级:
bash复制sudo fw-updater --channel=stable
3. 三种安装方式详解
3.1 图形化安装(推荐新手)
- 登录飞牛OS管理界面
- 进入「应用中心」→「开发者模式」
- 粘贴仓库地址:
https://repo.fndepot.top/stable - 勾选"信任此源"后点击同步
- 在「第三方应用」分类中找到FnDepot图标
3.2 SSH命令行安装
适用于无法访问图形界面的场景:
bash复制wget https://dl.fndepot.top/install.sh -O /tmp/fndepot.sh
chmod +x /tmp/fndepot.sh
sudo /tmp/fndepot.sh --mirror aliyun
参数说明:
--mirror可替换为tencent/huawei加速下载- 添加
--beta可体验测试版功能
3.3 Docker原生部署
适合高阶用户自定义配置:
bash复制docker run -d \
--name fndepot \
-p 9080:80 \
-v /fn/data:/var/lib/fndepot \
-e TZ=Asia/Shanghai \
registry.fndepot.top/core:2.4
关键配置解析:
/fn/data建议映射到SSD存储池- 端口9080可改为其他未被占用的端口
- 国内用户可追加
-e MIRROR=cn参数
4. 常见问题排查指南
4.1 安装后无法访问
典型表现:浏览器访问IP:9080时报错"连接被拒绝"
排查步骤:
- 检查容器状态:
bash复制
docker ps -a | grep fndepot - 查看日志定位原因:
bash复制docker logs --tail 100 fndepot - 常见错误:
port already allocated→ 更换-p参数no space left on device→ 清理镜像docker system prune
4.2 应用下载速度慢
优化方案:
- 更换CDN镜像源
bash复制sudo sed -i 's/repo.fndepot.top/mirror.fndepot.cn/g' /etc/fndepot/config.yaml - 启用P2P加速(需开启UPnP):
bash复制
fndepot-cli config --enable-p2p
4.3 与系统服务冲突
典型案例:安装MySQL后导致原有数据库服务异常
解决方法:
- 修改应用端口:
yaml复制# 在应用配置页修改 ports: - "3307:3306" - 或停止系统自带服务:
bash复制sudo systemctl stop mysqld
5. 高阶使用技巧
5.1 自定义应用仓库
编辑/etc/fndepot/sources.list添加:
code复制# 清华大学镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/fndepot/ stable main
执行sudo fndepot-cli update刷新索引
5.2 批量部署方案
通过API实现自动化安装:
bash复制curl -X POST "http://localhost:9080/api/v1/apps/install" \
-H "Content-Type: application/json" \
-d '{"app_id":"nginx","config":{"ports":{"80/tcp":8080}}}'
5.3 安全加固建议
- 启用HTTPS:
bash复制
fndepot-cli cert --domain your-nas.com - 配置访问白名单:
yaml复制# /etc/fndepot/auth.yaml ip_whitelist: - 192.168.1.0/24
6. 典型应用部署示例
6.1 搭建GitLab代码库
- 搜索"GitLab CE"应用
- 资源配置建议:
- CPU限制:≥2核心
- 内存限制:≥4GB
- 存储卷:/var/opt/gitlab → /fn/gitlab
- 首次启动后执行:
bash复制sudo docker exec -it gitlab \ grep 'Password:' /etc/gitlab/initial_root_password
6.2 部署微力同步
- 从FnDepot安装"微力同步"
- 关键配置:
yaml复制environment: - PUID=1000 # 与飞牛OS用户ID一致 - PGID=100 volumes: - /fn/verysync:/config - /fn/public:/data - 访问http://IP:8886完成初始化
6.3 建立MySQL集群
- 主节点配置:
yaml复制environment: - MYSQL_ROOT_PASSWORD=yourpass - MYSQL_REPLICATION_MODE=master - MYSQL_REPLICATION_USER=repl - 从节点配置:
yaml复制environment: - MYSQL_REPLICATION_MODE=slave - MYSQL_REPLICATION_HOST=master_ip - 验证复制状态:
sql复制SHOW SLAVE STATUS\G
我在N1设备上实测运行12个容器(含MySQL+Redis+Nginx)时,内存占用稳定在1.3GB左右。建议将频繁写入的数据库目录挂载到USB3.0移动硬盘,避免SD卡寿命损耗。FnDepot的"资源监控"面板能直观显示各容器CPU/内存使用率,长按应用卡片可快速创建快照备份。
