appstore-1panel/Install-Readme.md
萌森 0f7374c954 统一编码
Signed-off-by: 萌森 <qyg2297248353@163.com>
2024-07-22 18:47:14 +08:00

146 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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