mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-14 16:07:13 +08:00
1Panel App Builder
快速生成符合 1Panel 本地应用商店规范的 APP 配置文件。
功能特性
- ✅ 支持多种输入源(GitHub、docker-compose、docker run、本地文件)
- ✅ 自动抽取应用信息并生成标准化配置
- ✅ 自动下载应用图标(支持多个图标源)
- ✅ 生成中英文 README
- ✅ 符合 1Panel 应用商店规范
目录结构
1panel-app-builder/
├── SKILL.md # 技能定义文件
├── README.md # 使用文档
├── templates/ # 配置模板
│ ├── data.yml.tpl # 应用元数据模板
│ └── docker-compose.yml.tpl # 编排文件模板
├── scripts/ # 工具脚本
│ ├── generate-app.sh # 主生成脚本
│ └── download-icon.sh # 图标下载工具
└── examples/ # 使用示例
└── example-usage.md
快速开始
1. 基本用法
# GitHub 项目
./scripts/generate-app.sh https://github.com/alist-org/alist
# docker-compose 文件链接
./scripts/generate-app.sh https://raw.githubusercontent.com/.../docker-compose.yml
# docker run 命令
./scripts/generate-app.sh "docker run -d --name=alist -p 5244:5244 xhofe/alist:v3.45.0"
# 本地文件
./scripts/generate-app.sh ./my-docker-compose.yml
2. 输出示例
./apps/alist/v3.45.0/
├── data.yml # 应用元数据
├── docker-compose.yml # 编排文件
├── logo.png # 应用图标
├── README.md # 中文简介
└── README_en.md # 英文简介
3. 生成的配置文件
data.yml 示例
name: AList
tags:
- 实用工具
- 云存储
title: 支持多存储的文件列表程序和私人网盘
description: 支持多存储的文件列表程序和私人网盘
additionalProperties:
key: alist
name: AList
tags:
- Storage
- Tool
shortDescZh: 支持多存储的文件列表程序和私人网盘
shortDescEn: Supporting multi-storage file listing program
website: https://alist.nn.ci/
github: https://github.com/alist-org/alist
architectures:
- amd64
- arm64
docker-compose.yml 示例
services:
alist:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:5244"
volumes:
- ./data/data:/opt/alist/data
environment:
- PUID=0
- PGID=0
- UMASK=022
image: xhofe/alist:v3.45.0
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
高级用法
指定输出目录
./scripts/generate-app.sh https://github.com/alist-org/alist ./my-apps
单独下载图标
./scripts/download-icon.sh alist ./logo.png 200
图标源优先级
依赖工具
必需:
bash- 脚本执行环境curl- HTTP 请求jq- JSON 解析yq- YAML 解析(可选,用于高级解析)
可选:
ImageMagick(convert) - 图标尺寸调整sips(macOS) - 图标尺寸调整tree- 目录树显示
配置模板说明
data.yml 模板变量
| 变量 | 说明 | 示例 |
|---|---|---|
${APP_NAME} |
应用名称 | AList |
${APP_KEY} |
应用键名 | alist |
${TITLE_ZH} |
中文标题 | 文件列表程序 |
${DESC_ZH} |
中文描述 | 支持多存储... |
${TAG_1} |
标签1 | 实用工具 |
${WEBSITE} |
官网 | https://alist.nn.ci/ |
${GITHUB} |
GitHub | https://github.com/alist-org/alist |
docker-compose.yml 模板变量
| 变量 | 说明 | 示例 |
|---|---|---|
${SERVICE_NAME} |
服务名 | alist |
${IMAGE} |
镜像名 | xhofe/alist |
${TAG} |
镜像标签 | v3.45.0 |
${PORT} |
端口 | 5244 |
下一步操作
生成配置后:
- ✅ 检查
data.yml中的应用信息是否准确 - ✅ 补充完善应用描述和标签
- ✅ 替换
logo.png为合适的应用图标 - ✅ 测试
docker-compose.yml是否正常工作 - ✅ 提交到 1Panel 应用商店仓库
常见问题
Q: 图标下载失败怎么办?
A: 手动从以下网站下载图标:
Q: 如何处理多服务应用?
A: 生成后手动编辑 docker-compose.yml,添加其他服务。
Q: 版本号如何确定?
A: 默认从镜像标签提取,也可手动指定。
参考资源
许可证
MIT License