收起左侧

增加自定义 Docker APP 支持

1
回复
50
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

2025-10-9 14:54:14 显示全部楼层 阅读模式

增加自定义 Docker APP 支持

背景现状

当前 fn-nas 已支持通过 Docker 部署自定义软件服务,但存在以下问题:

  1. **新增的 Docker 服务无法在 NAS 界面显示。**​用户自行运行的容器不会自动生成 NAS 应用入口或图标。
  2. 无法通过 fnconnect 进行访问转发。
    手动部署的容器无法自动映射至 NAS 的统一访问入口或子域名。

这使得自建 Docker 服务的体验与系统内置 APP 存在较大差异。


期望功能

参考 TraefikHomepageTinyauth 等项目,通过 Docker Label 机制,让容器自动与 NAS 管理界面及 fnconnect 系统集成。

目标实现

  • 通过标准化的 Docker Label:
    • NAS 界面可自动识别并显示相应 APP 图标与入口;
    • fnconnect 自动配置内网与外网的访问转发;
    • 用户可灵活控制哪些服务在 NAS 界面展示。

Label 设计建议

示例:MinIO 管理端

MinIO 是一个常用的对象存储服务,包含两个端口:

  • 9000:对象存储访问接口(API / 用户端)
  • 9001:管理控制台(Web 管理端)

以下示例展示如何让 MinIO 管理端(9001) 通过 fn-nas 自动集成:

labels:
  - "fn.enable=true"
  - "fn.minio-admin.icon=https://min.io/resources/img/logo.svg"
  - "fn.minio-admin.port=9001"
  - "fn.minio-admin.subdomain=minio-admin"

行为说明

Label 说明
fn.enable=true 控制是否在 NAS 界面中显示该容器的应用入口。对于纯后台服务(如数据库等),可省略或设为 false
fn.<name>.icon 指定该应用在 NAS 界面的图标。
fn.<name>.port 指定该应用在容器中的监听端口。
fn.<name>.subdomain 指定 fnconnect 外网访问子域名。

访问行为

环境 访问路径 说明
局域网内 http://<NAS_IP>:9001 使用局域网IP+监听端口号(fn.<name>.port)。
外网(通过 fnconnect) https://minio-admin.<fnconnect_url> 生成子域名转发入口,映射到容器服务。

功能优势

  • 统一的 Docker APP 构建规范​提供通用的 Label 标准,方便社区用户构建可识别的 fn-nas 应用。
  • 🌐 自动集成与访问转发​无需手动配置反向代理或入口,NAS 自动识别并生成访问入口与子域名。
  • ⚙️ 灵活控制显示​通过 fn.enable 控制哪些容器显示在 NAS 界面,满足多种场景(后台、前端、工具类服务)。
  • 🧩 社区生态扩展
    用户与开发者可共享基于 Docker 的 APP,实现生态快速增长。

高级功能建议

1. Auth Middleware

为 Docker Web 应用提供简单的访问控制:

labels:
  - "fn.auth.enabled=true"

当启用该参数时:

  • 系统自动在访问入口前添加统一鉴权;
  • 可与 NAS 用户体系集成;
  • 为无鉴权的 Docker Web 服务提供安全访问保护。

2. 多 Web 界面支持

部分应用(如 MinIO)同时提供多个 Web 界面:

  • API访问端(9000)
  • 管理控制端(9001)

未来可考虑通过扩展 Label 结构来支持多入口显示,例如:

labels:
  - "fn.enable=true"
  - "fn.minio-user.port=9000"
  - "fn.minio-admin.port=9001"

NAS 界面可在应用图标下展示多个入口按钮,以区分不同功能界面。


总结

通过引入基于 Docker Label 的自定义 APP 注册机制,fn-nas 将实现:

  • 自定义 Docker 应用自动显示在 NAS 界面;
  • 内外网统一访问入口(fnconnect 自动转发);
  • 灵活显示控制与潜在多入口扩展;
  • 可选的统一认证保护;
  • 促进社区贡献更多 Docker 应用,增强系统可扩展性。
收藏
送赞
分享

6

主题

9846

回帖

0

牛值

管理员

感谢反馈,这个我们转给技术评估一下

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则