mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-24 21:05:09 +08:00
146 lines
3.8 KiB
Markdown
146 lines
3.8 KiB
Markdown
|
# 应用制作说明
|
|||
|
|
|||
|
### 基础目录
|
|||
|
|
|||
|
`/app`
|
|||
|
|
|||
|
### 应用格式
|
|||
|
|
|||
|
```
|
|||
|
├── app_name // 应用名称
|
|||
|
├── logo.png // 应用 logo , 推荐 180 * 180 px
|
|||
|
├── data.yml // 应用声明文件
|
|||
|
├── README.md // 应用说明文档
|
|||
|
├── 2.2.0 // 应用版本
|
|||
|
│ ├── data.yml // 表单配置
|
|||
|
| ├── scripts // 脚本目录
|
|||
|
│ └── docker-compose.yml // docker-compose 文件
|
|||
|
└── 2.3.2 // 应用版本
|
|||
|
├── data.yml
|
|||
|
├── data
|
|||
|
└── docker-compose.yml
|
|||
|
```
|
|||
|
|
|||
|
#### 应用声明文件
|
|||
|
|
|||
|
```yaml
|
|||
|
# 固定参数
|
|||
|
additionalProperties:
|
|||
|
# 应用的 key , 仅限英文
|
|||
|
key: app_name
|
|||
|
# 应用名称 显示名称
|
|||
|
name: app_show_name
|
|||
|
# 应用标签
|
|||
|
tags:
|
|||
|
# 参考 tags.yml
|
|||
|
- WebSite
|
|||
|
# 应用中文描述, 推荐 30 字以内
|
|||
|
shortDescZh: 应用主要概述
|
|||
|
# 应用英文描述
|
|||
|
shortDescEn: Application main description
|
|||
|
# 应用类型
|
|||
|
type: website
|
|||
|
# 跨大版本升级
|
|||
|
crossVersionUpdate: true
|
|||
|
# 安装限制, 0 代表无限制
|
|||
|
limit: 0
|
|||
|
# 官网地址
|
|||
|
website: https://app.com
|
|||
|
# 仓库地址
|
|||
|
github: https://github.com/app/app
|
|||
|
# 文档地址
|
|||
|
document: https://docs.app.com
|
|||
|
```
|
|||
|
|
|||
|
##### 应用类型
|
|||
|
|
|||
|
| type | 说明 |
|
|||
|
|---------|--------------------------------------------------------|
|
|||
|
| website | website 类型在 1Panel 中支持在网站中一键部署,wordpress halo 都是此 type |
|
|||
|
| runtime | mysql openresty redis 等类型的应用 |
|
|||
|
| tool | phpMyAdmin redis-commander jenkins 等类型的应用 |
|
|||
|
|
|||
|
#### 脚本目录
|
|||
|
|
|||
|
+ `scripts` 安装脚本文件
|
|||
|
+ `init.sh` 安装前执行
|
|||
|
+ `upgrade.sh` 升级前执行
|
|||
|
+ `uninstall.sh` 卸载后执行
|
|||
|
|
|||
|
#### 表单配置
|
|||
|
|
|||
|
```yaml
|
|||
|
# 固定参数
|
|||
|
additionalProperties:
|
|||
|
formFields:
|
|||
|
# 默认值
|
|||
|
- default: ""
|
|||
|
# 安装后可修改
|
|||
|
edit: true
|
|||
|
# 是否禁用
|
|||
|
disabled: false
|
|||
|
# 环境变量 key
|
|||
|
envKey: PANEL_DB_HOST
|
|||
|
# 依赖应用 key
|
|||
|
key: mysql
|
|||
|
# 英文标签
|
|||
|
labelEn: Database Service
|
|||
|
# 中文标签
|
|||
|
labelZh: 数据库服务
|
|||
|
# 是否必填
|
|||
|
required: true
|
|||
|
# 依赖服务
|
|||
|
type: service
|
|||
|
# 是否在默认值基础上增加随机字符
|
|||
|
random: true
|
|||
|
# 校验规则
|
|||
|
rule: paramCommon
|
|||
|
# 下拉选择
|
|||
|
- default: ""
|
|||
|
envKey: LOG_LEVEL
|
|||
|
labelEn: Log level
|
|||
|
labelZh: 日志级别
|
|||
|
required: true
|
|||
|
type: select
|
|||
|
values:
|
|||
|
- label: DEBUG
|
|||
|
value: "DEBUG"
|
|||
|
- label: INFO
|
|||
|
value: "INFO"
|
|||
|
- label: WARNING
|
|||
|
value: "WARNING"
|
|||
|
- label: ERROR
|
|||
|
value: "ERROR"
|
|||
|
- label: CRITICAL
|
|||
|
value: "CRITICAL"
|
|||
|
# 端口效验
|
|||
|
- default: 3306
|
|||
|
envKey: PANEL_APP_PORT_DB
|
|||
|
labelEn: Database port
|
|||
|
labelZh: 数据库端口
|
|||
|
rule: paramPort
|
|||
|
type: number
|
|||
|
```
|
|||
|
|
|||
|
##### 字段说明
|
|||
|
|
|||
|
+ `type` 字段类型
|
|||
|
+ `service` 依赖服务
|
|||
|
+ `password` 密码
|
|||
|
+ `text` 文本
|
|||
|
+ `number` 数字
|
|||
|
+ `select` 下拉框
|
|||
|
+ `rule` 校验规则
|
|||
|
+ `paramPort` 用于限制端口范围为 1-65535
|
|||
|
+ `paramCommon` 英文、数字、.-和_,长度2-30
|
|||
|
+ `paramComplexity` 支持英文、数字、.%@$!&~_-,长度6-30,特殊字符不能在首尾
|
|||
|
+ `paramExtUrl` 格式为 http(s)://(域名/ip):(端口)
|
|||
|
+ `key` 特殊值
|
|||
|
+ `PANEL_APP_PORT_HTTP` Web应用端口
|
|||
|
+ `PANEL_APP_PORT_HTTPS` Web应用端口 SSL
|
|||
|
+ `PANEL_APP_PORT` 前缀将认定为端口,并且用于安装前的端口占用校验
|
|||
|
|
|||
|
#### docker-compose.yml 文件
|
|||
|
|
|||
|
通过使用 `${envKey}` 获取`表单配置`中的值
|