hxido

将自己的Docker应用转换为fpk应用

2025/11/29
229
0

本教程根据飞牛应用开放平台进行编写。

创建飞牛 fnOS 应用目录——目录文件下载

my-app/
├── manifest                         #应用信息
├── ICON.PNG
└── ICON_256.PNG
├── config/                          #权限设置
│   ├── privilege                    #应用权限设置,一般无需修改
│   └── resource                     #“能力声明",定义应用可以使用的扩展功能,比如设置应用文件目录
├── app/
│   ├── docker/
│   │   └── docker-compose.yaml
│   ├── ui/                          #编辑桌面图标
│   │   ├── images/                  #图标
│   │   └── config                   #访问端口
├── cmd/                             #docker应用一般不需要修改
│   ├── main
│   ├── install_init
│   ├── install_callback
│   ├── uninstall_init   
│   ├── uninstall_callback
│   ├── upgrade_init
│   ├── upgrade_callback
│   ├── config_init
│   └── config_callback

注:ICON.PNG、ICON_256.PNG和images文件中的图标大小自行修改,文件名保持一致。

修改manifest

#必填
appname=myapp           #应用名称-建议小写
version=1.0.0           #应用版本
display_name=           #应用商店展示的名称
desc=                   #应用描述
arch=x86_64             #无需修改
source=thirdparty       #无需修改

maintainer=张三         #应用作者
maintainer_url=         #应用来源链接
distributor=            #应用发布者
distributor_url=        #应用发布者链接
desktop_uidir= "ui"
desktop_applaunchname= "myapp.Application"   #应用中心启动入口,修改myapp为应用名称
source= "thirdparty"    #无需修改

修改config/privilege

{
    "docker-project": 
    {
        "projects": 
        [
            {
                "name": "myapp",   #与manifest文件中的appname名称保持一致
                "path": "docker"
            }
        ]
    }
}

编辑docker-compose.yaml

services:
 emby:
   image: emby/embyserver:beta # 使用 Emby 官方镜像
   container_name: emby # 容器名称
   networks:
      - trim-default
   ports:
     - "8096:8096" # 映射 HTTP 端口
     - "8920:8920" # 映射 HTTPS 端口
   volumes:
     - /var/apps/emby/var/data:/config #持久化配置文件,/var/apps/emby/var/可改为自己的文件地址,否则会文件会保存在/vol1/@appdata/emby下
     - /var/apps/emby/var/Media/strm:/Media # 同理可修改/var/apps/emby/var/为自己的文件地址
   environment:
     - UID=0
     - GID=0
     - GIDLIST=0
   restart: always # 自动重启容器(除非手动停止)
networks:
  trim-default:
    external: true

修改ui/config

{
    ".url": {
        "emby.Application": {                           #与manifest文件中的desktop_applaunchname名称保持一致
        "title": "Emby",                                #图标展示名称
            "icon": "images/icon_{0}.png",              #无需修改
            "type": "url",
            "protocol": "http",
            "port": "8096",                             #访问端口
            "url": "/",                                 #访问路径
            "allUsers": ture                            #所有用户都可以访问
        }
    }
}

打包安装

修改完毕后将文件上传到飞牛文件夹中,通过SSH在文件目录下用fnpack build进行打包

最后,通过应用商店进行手动安装

资源下载

提示:如遇链接失效,请在评论区留言反馈