appstore-1panel/Install-Readme.md

146 lines
3.8 KiB
Markdown
Raw Normal View History

# 应用制作说明
### 基础目录
`/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}` 获取`表单配置`中的值