收起左侧

飞牛桌面图标把 Docker 容器一键钉到飞牛桌面

0
回复
28
查看
[ 复制链接 ]

4

主题

6

回帖

0

牛值

系统先锋体验团🛩️

项目简介

实现将任意 Docker 容器应用一键添加至飞牛 OS(fnOS)桌面,安装专属 .fpk应用包后自动生成桌面快捷图标,可视化绑定 Docker 服务,点击图标可直接跳转对应服务页面。

核心功能特性

一、基础安装与管理入口

  1. 应用中心标准化安装
    上传 .fpk安装包即可,依托 fnOS 官方 app_service机制自动注册桌面入口,安装完毕桌面直接生成程序图标。
  2. 可视化 Web 管理面板
    无需登录 SSH 终端,访问地址:http://<NAS_IP>:5558/,也可直接双击桌面图标一键打开;面板内完成全流程可视化配置。
  3. 双操作模式兼容
    图形化面板 + SSH 命令行工具 /usr/fn-docker-desk/fn-docker-desk.sh并行使用。

二、Docker 容器桌面管理

  • 自动扫描列出本机全部正在运行的 Docker 容器、端口映射信息;
  • 一键执行「添加至桌面」「移除桌面图标」;
  • 支持自定义配置:桌面显示名称、访问端口、自定义图标(本地上传图片 / 填入图片 URL)。

三、智能图标自动匹配(四级优先级兜底)

  1. 从容器内部文件抓取 favicon 图标(通过 docker cp读取常见图标路径);
  2. 访问容器 Web 服务自动抓取网页 favicon;
  3. 内置 30 + 主流应用图标库(ghproxy、jsdelivr 网络加速);
  4. 兜底方案:生成文字首字母渐变风格占位图标。

四、桌面注入稳定保障

  1. 适配多版本 fnOS 前端选择器,搭配特征探测容错机制;
  2. 依托 MutationObserver实时监听页面变化,桌面 React 前端重渲染后自动恢复自定义图标;
  3. 每次修改系统网页文件前自动备份至路径 /usr/fn-docker-desk/backup/
  4. systemd 托管后台服务,设备开机自动执行注入配置,重启配置不丢失。

五、安全备份与一键还原机制

  1. 前置自动备份:修改系统 Web 资源前自动归档备份;
  2. 一键还原逻辑优化:
    • 仅清除用户自行添加的 Docker 桌面图标,保留本程序自身桌面入口
    • 不会整体覆盖系统原生安装包,保护应用商城内已安装的官方应用;
    • 还原后锁定 “纯净还原模式”,不会自动重建图标,重新添加容器即可恢复使用;
  3. 配套操作日志查看、备份文件下载、历史记录一键回滚。

安装方式

方式一:应用中心手动安装(推荐)

  1. 下载安装包:fn-docker-desk_1.0.6_all.fpk
  2. 登录 fnOS 桌面,打开「应用中心」→左下角「手动安装」;
  3. 上传 fpk 文件并确认安装;
  4. 安装完成桌面自动出现「飞牛桌面图标」快捷方式,点击进入管理面板;
  5. 若程序未自动启动,进入应用中心找到对应应用手动点击启动。

方式二:SSH 命令行安装

bash

sudo appcenter-cli install-fpk /path/to/fn-docker-desk_1.0.6_all.fpk --volume 1
sudo appcenter-cli start fn-docker-desk

使用指南

1、Web 管理面板

访问 http://<NAS_IP>:5558/,面板划分三大功能分区:

栏目 核心功能
运行中的容器 展示容器名称、镜像来源、映射端口;点击「添加到桌面」弹窗自定义配置
桌面图标 已绑定的桌面快捷方式列表,支持一键移除指定图标
系统文件备份 历次系统文件修改的备份记录,支持下载存档查看

顶部快捷按钮:应用配置生效、一键还原原生桌面、页面刷新。

配置新增 / 删除图标后,浏览器按下 Ctrl+Shift+R 强制刷新桌面即可生效。

2、SSH 命令行使用

配置快捷调用别名

bash

fn-docker-desk() { bash /usr/fn-docker-desk/fn-docker-desk.sh "$@"; }

常用示例指令

bash

# 查看所有运行中容器
fn-docker-desk list

# 一键添加容器至桌面(自动识别端口、图标)
fn-docker-desk add jellyfin

# 自定义名称、端口、图标添加容器
fn-docker-desk add jellyfin --name "我的影视库" --port 8096 --icon https://example.com/jellyfin.png

# 添加自定义网页链接图标
fn-docker-desk add-custom --title "导航主页" --url http://192.168.31.200:8080

# 查看已添加桌面图标
fn-docker-desk ls

# 查看备份列表
fn-docker-desk backups

# 一键还原桌面
fn-docker-desk restore

完整命令对照表

表格

命令 功能说明
list 枚举运行中容器,自动解析服务访问地址
add <容器名> [可选参数] 将指定容器绑定桌面,支持自定义名称、端口、图标地址
add-custom 创建独立自定义网页链接桌面图标
remove <序号/图标名称> 删除指定桌面图标
ls 查看当前已挂载的全部桌面图标
backups 查看系统文件历史备份清单
apply 将当前配置重新注入桌面并持久化保存
status 查看程序后台运行状态
restore 一键恢复 fnOS 原生干净桌面

技术实现原理

  1. 程序注册
    遵循 fnOS 官方 fnpack 打包规范,安装时写入 ui/config配置,同步写入 PostgreSQL 数据库 appcenter数据表,应用中心识别后生成程序原生桌面图标。
  2. 前端脚本注入
    程序启动后向系统文件 /usr/trim/www/index.html注入 JS 脚本(携带版本标识避免重复注入),同时修补系统还原包 /usr/trim/share/.restore/www.zip,防止系统重置配置丢失。
  3. 桌面渲染逻辑
    注入脚本监听桌面渲染完成,读取配置文件 /userimg/fn-docker-desk.json,动态生成和原生图标结构一致的跳转链接;配置读取失败时回退至后端接口 /api/icons拉取数据。
  4. 持久化保障
    systemd 守护进程 fn-docker-desk.service开机自动执行注入;用户配置、备份数据存放于持久卷 /usr/local/apps/@appdata/fn-docker-desk,重装、升级应用数据不会丢失。

内置自动适配图标清单(30 + 主流应用)

jellyfin、emby、plex、alist、qbittorrent、transmission、aria2、portainer、nginx、mysql、mariadb、postgres、redis、mongodb、nextcloud、homeassistant、n8n、gitea、gitlab、grafana、prometheus、uptime、vaultwarden、immich、photoprism、syncthing、frp、ddns-go、watchtower、code-server、jenkins、sonarr、radarr、nastool

版本迭代记录

表格

版本号 更新内容
1.0.6 遵循官方 fnpack 规范打包,修复程序自身桌面图标无法注册问题;2. 修复脚本 CRLF 换行格式异常
1.0.5 一键还原保留本程序图标,仅清理用户自定义图标;2. 管理面板屏蔽自身图标,仅管理用户添加项
1.0.4 修复还原操作误杀后台进程;还原后锁定纯净还原状态
1.0.3 还原操作彻底清空图标配置、持久卷数据与本地备份记录
1.0.2 优化还原逻辑,不再覆盖系统原始资源包,保护商城已装应用;清理持久卷备份数据
1.0.1 修复点击桌面图标被浏览器弹窗拦截的问题
0.x 初始版 基础能力:容器探测、图标自动抓取、前端注入、基础一键还原功能

常见问题排查

  1. 添加后桌面图标不显示
    绝大多数为浏览器缓存导致,按下快捷键 Ctrl+Shift+R 强制刷新页面即可。

  2. fnOS 系统升级后自定义图标消失
    系统升级会覆盖前端页面文件,进入应用重启程序,或执行命令 apply 重新注入配置。

  3. fnOS 大版本更新后图标失效
    桌面前端 DOM 结构、CSS 选择器发生变更,等待工具适配新版本选择器即可。

  4. 执行一键还原后想要重新使用
    还原后进入纯净锁定模式,在 Web 面板重新添加任意容器图标,自动解除锁定恢复正常使用。

    声明:此应用是图省事用ai写的。目前测试未发现问题。因免费共享,对使用本软件出现的一切问题概不负责。

重要注意事项

  1. 本工具会修改 fnOS 系统 Web 目录文件(/usr/trim/www/index.html),属于非官方层面深度定制操作;
  2. Web 管理面板未内置账号鉴权,仅限内网可信环境使用,异常情况可随时执行一键还原恢复系统原状;
  3. 还原机制安全隔离,不会卸载本程序、不会破坏应用商城内官方安装的应用。
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则