给 1Panel 应用商店新增应用,真正麻烦的地方往往不是写 docker-compose.yml,而是把一整套应用包格式整理完整:
-
应用信息要规范
-
data.yml字段要齐 -
表单参数要能在 1Panel 中正确配置
-
端口、环境变量、数据卷不能写错
-
README 要能让用户看懂
-
目录权限、初始化脚本不能凭感觉补
-
最后还要能放到本地应用目录里跑起来
这些事情不难,但很琐碎,也很容易因为复制模板、漏字段、猜参数而返工。
所以我们整理了一个专门面向 1Panel 应用封装的 Skill:1panel-appstore-skills。
GitHub 项目地址:https://github.com/1Panel-dev/1Panel-appstore-skills
它解决的核心问题
1panel-appstore-skills 可以把已经支持 Docker 化部署的应用,整理成符合 1Panel 应用商店格式的安装包。
它重点解决三件事:
- 少手写重复模板
根据应用信息、Docker 镜像、官方 Compose 或中间 spec,生成 1Panel 应用包所需的目录、data.yml、docker-compose.yml、README 和数据目录。
- 少踩格式坑
应用商店包不只是 Compose 文件,还涉及版本目录、表单字段、多语言描述、容器名称、端口变量、持久化路径等规则。Skill 会按 1Panel 应用包结构统一生成。
- 少凭经验猜部署参数
镜像、端口、环境变量、数据卷、运行用户和目录权限等信息,优先来自应用官方仓库、官方文档或官方 Docker / Docker Compose 安装说明,避免“能写出来但跑不稳”的问题。
适合用在什么场景
如果你正在做这些工作,就可以让它帮忙:
-
把一个 Docker 化应用封装成 1Panel 应用商店应用
-
把官方 Docker Compose 部署方式转换成 1Panel 应用包
-
把现有
docker-compose.yml整理成 1Panel 本地应用目录 -
基于已经准备好的 app spec 快速生成标准应用包
可以这样使用:
帮我把 https://github.com/example/myapp 封装成 1Panel 应用商店应用。
帮我把 ghcr.io/example/myapp:1.0.0 封装成 1Panel 应用商店应用。
对外端口 8080,容器端口 3000。
使用 1panel-appstore-skills,把当前目录的 docker-compose.yml 转成 1Panel 应用商店应用包。
生成后能得到什么
默认会生成一个类似这样的应用包:
apps/<app-key>/
logo.png
README.md
README_en.md
data.yml
<version>/
data.yml
docker-compose.yml
data/
如果官方来源能够证明需要处理持久化目录权限,也可以生成 scripts/init.sh。
也就是说,它不是只帮你拼一个 Compose 文件,而是把 1Panel 应用商店需要的一整套包结构都整理出来。
它不会做什么
这个 Skill 的定位很明确:把可靠的 Docker 化部署资料整理成 1Panel 应用包。
它不会替你凭空设计部署方案,也不建议在没有官方依据的情况下乱补:
-
不凭空猜镜像
-
不凭空猜端口
-
不凭空猜环境变量
-
不凭空猜数据目录
-
不直接发布到远程应用商店仓库
如果应用官方没有 Docker 安装方式,需要先补齐可靠的容器化部署信息,再继续封装。
本地验证
生成应用包后,可以放到 1Panel 本地应用目录:
/opt/1panel/resource/apps/local/<app-key>
然后在 1Panel 应用商店中刷新本地应用列表,测试安装、启动、停止、重启和卸载。
这一步建议一定做。应用包结构生成出来只是第一步,真正可用还要看端口、权限、变量和持久化目录在实际环境中是否都能正常工作。
总结
1panel-appstore-skills 最适合接手那些“重复但不能随便写”的工作。
它让 1Panel 应用封装从手工拼文件,变成基于官方来源、按应用商店规范生成应用包。对于经常需要把 Docker 化应用整理成 1Panel 应用的场景,可以明显减少模板整理和格式校对成本,把更多精力留给来源确认和安装验证。