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

3.6 KiB
Raw Blame 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

应用声明文件

# 固定参数
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 卸载后执行

表单配置

# 固定参数
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} 获取表单配置中的值