马春杰杰 Exit Reader Mode

在飞牛上手动编译最新版1panel并打包为fpk文件

飞牛官方的1panel版本太低了,还是1.x,现在人家2.x都出了,所以只能手动编译了。

首先,安装Node.js,飞牛默认是不带的:

然后安装Go环境:

然后,下载指定1panel版本,例如:

git clone -b v2.1.0 https://github.com/1Panel-dev/1Panel.git

然后,进入1Panel中进行编译:

make build_all

成功之后,打包1Panel:

root@vpms:~/1Panel# fnpack create 1panel
fnpack create

Success! Created '1panel' in the directory ./1panel
Here are some tips you may need:
1. manifest – Configure your application's metadata (e.g., appname, version, dependencies).
2. app directory – Place your built frontend or backend files here (e.g., web UI assets or binaries).
3. cmd directory – Manage your application lifecycle scripts (e.g., main, start, stop, install, uninstall).
4. wizard directory – Define installation wizard steps (e.g., user inputs for setup).
5. config directory – Handle application resources and privileges files.

For more details, visit https://developer.fnnas.com/

重命名1panel->app->server目录为bin,bin目录将作为应用可执行文件及依赖的存放路径。

mv 1panel/app/server 1panel/app/bin

将构建成功后的build目录内的核心服务可执行文件(1panel-core Agent服务可执行文件(1panel-agent,复制到1panel->app->bin目录下

cp build/* 1panel/app/bin/

编辑打包目录下的1panel/manifest文件,配置应用核心信息(需确保参数格式正确):

配置项 配置值 说明
display_name 1Panel 应用显示名称
desc <p>注:默认运行端口: 24045;</p>新一代的 Linux 服务器运维管理面板 应用描述,测试后发现支持简单的html标签
arch x86_64 架构,飞牛NAS适配x86_64
source thirdparty 来源类型,第三方
maintainer 1Panel 开发者
maintainer_url https://1panel.cn/ 开发者官网
distributor 权戈 分发者
distributor_url https://www.teelm.com/ 分发者官网
helpurl https://1panel.cn/docs/v2/ 帮助文档地址
desktop_uidir ui 前端资源目录
desktop_applaunchname 1panel.Application 应用启动名称

编辑config/privilege文件,定义应用运行权限(建议以root身份运行以保障功能完整性):

{
    "defaults": {
        "run-as": "root"
    },
    "username": "1panel",
    "groupname": "1panel"
}

打包为fpk格式,进入打包目录根目录,执行fnpack构建命令生成飞牛NAS支持的fpk安装包:

fnpack build

构建成功后,将在当前目录生成1panel.fpk文件,该文件即为可在飞牛NAS上安装的应用包。