飞牛官方的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:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
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身份运行以保障功能完整性):
|
1 2 3 4 5 6 7 |
{ "defaults": { "run-as": "root" }, "username": "1panel", "groupname": "1panel" } |
打包为
fpk格式,进入打包目录根目录,执行fnpack构建命令生成飞牛NAS支持的fpk安装包:
fnpack build
构建成功后,将在当前目录生成1panel.fpk文件,该文件即为可在飞牛NAS上安装的应用包。
马春杰杰

