2026-03-24 19:00:47 +08:00
|
|
|
|
# 使用示例
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
## 从本地 compose 生成草稿
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-26 01:07:55 +08:00
|
|
|
|
cd /root/github/1Panel-Appstore/skills
|
|
|
|
|
|
|
|
|
|
|
|
./scripts/generate-app.sh \
|
|
|
|
|
|
--app-key demo-app \
|
|
|
|
|
|
--name DemoApp \
|
|
|
|
|
|
--version 1.25.3 \
|
|
|
|
|
|
--icon-mode skip \
|
|
|
|
|
|
--output ../apps \
|
|
|
|
|
|
/tmp/demo-compose.yml
|
2026-03-24 19:00:47 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
生成结构:
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
```text
|
|
|
|
|
|
../apps/demo-app/
|
2026-03-24 19:00:47 +08:00
|
|
|
|
├── data.yml
|
|
|
|
|
|
├── README.md
|
2026-05-26 01:07:55 +08:00
|
|
|
|
├── README_en.md
|
|
|
|
|
|
├── latest/
|
|
|
|
|
|
│ ├── data.yml
|
|
|
|
|
|
│ └── docker-compose.yml
|
|
|
|
|
|
└── 1.25.3/
|
|
|
|
|
|
├── data.yml
|
|
|
|
|
|
└── docker-compose.yml
|
2026-03-24 19:00:47 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
`latest/docker-compose.yml` 使用 `image: ...:latest`,`1.25.3/docker-compose.yml` 使用 `image: ...:1.25.3`。
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
## docker run 输入
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-26 01:07:55 +08:00
|
|
|
|
./scripts/generate-app.sh \
|
|
|
|
|
|
--app-key nginx-demo \
|
|
|
|
|
|
--name NginxDemo \
|
|
|
|
|
|
--version 1.25.3 \
|
|
|
|
|
|
--icon-mode cache-only \
|
|
|
|
|
|
"docker run -d --name nginx-demo -p 8080:80 -v ./data/html:/usr/share/nginx/html nginx:1.25.3"
|
2026-03-24 19:00:47 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
脚本会解析:
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
- `--name` 作为服务名候选。
|
|
|
|
|
|
- `-p` 生成 `PANEL_APP_PORT_*` 表单字段。
|
|
|
|
|
|
- `-v` 保留到 compose 的 `volumes`。
|
|
|
|
|
|
- 镜像 tag 作为版本候选;显式 `--version` 优先。
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
## 图标处理
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-26 01:07:55 +08:00
|
|
|
|
# 只使用缓存,不访问网络
|
|
|
|
|
|
./scripts/download-icon.sh --mode cache-only nginx ../apps/nginx-demo/logo.png
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
# 已知准确图标 URL 时强制下载,失败则退出非零
|
|
|
|
|
|
./scripts/download-icon.sh --mode required --url https://example.com/nginx.png nginx ../apps/nginx-demo/logo.png
|
2026-03-24 19:00:47 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
脚本不会创建占位图。找不到真实图标时,应保留缺失状态并在交付说明中指出。
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
## 验证
|
2026-03-24 19:00:47 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-26 01:07:55 +08:00
|
|
|
|
./scripts/validate-app.sh ../apps/demo-app
|
|
|
|
|
|
./tests/run_all.sh
|
2026-03-24 19:00:47 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-26 01:07:55 +08:00
|
|
|
|
`validate-app.sh` 负责结构和常见规则检查;仍需要人工检查 README、分类标签、架构支持、默认端口和多服务依赖是否合理。
|