Path: 宝塔面板 API 参考 › Docker

`POST /mod/docker/com/get_apps/stype`

获取 Docker 应用商店中所有可安装的应用列表，共 289 个。**每个应用的 `env` 和 `field` 字段定义了安装时需要的参数**。

## Request body

_Required._

- `opPostModDockerComGetAppsStype.request_time` (string, required) — Unix 时间戳；与接口密钥一起生成 request_token。
- `opPostModDockerComGetAppsStype.request_token` (string, required) — 按 API 概览中的双重 MD5 签名算法生成。

## Example request

```text
{
  "request_time": "string",
  "request_token": "string"
}
```

## Code samples

### cURL（填写面板地址与签名）

```curl
curl --request POST \
  --url "https://your-panel.example.com:8888/mod/docker/com/get_apps/stype" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "appname": "wordpress",
  "apptitle": "WordPress",
  "apptype": "BuildWebsite",
  "appversion": [
    {
      "m_version": "6",
      "s_version": [
        "7.2",
        "7.1"
      ]
    }
  ],
  "depend": [
    {
      "appname": [
        "mysql"
      ],
      "apptype": "Database",
      "appversion": [
        "5",
        "8",
        "9"
      ]
    }
  ],
  "env": [
    {
      "key": "version",
      "type": "string",
      "desc": "版本号"
    },
    {
      "key": "wordpress_port",
      "type": "port",
      "desc": "端口"
    }
  ],
  "field": [
    {
      "attr": "domain",
      "name": "域名",
      "type": "textarea"
    },
    {
      "attr": "allow_access",
      "name": "允许外部访问",
      "type": "checkbox",
      "default": true
    }
  ]
}
```

- `opPostModDockerComGetAppsStype.response.default.data` (string, optional) — 应用列表


## get_apps (Docker)

获取 Docker 应用商店中所有可安装的应用列表，共 289 个。**每个应用的 `env` 和 `field` 字段定义了安装时需要的参数**。

- **路由**：`POST /mod/docker/com/get_apps/stype`
- **方法**：POST

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| data | Array&lt;Object&gt; | 应用列表 |

### 应用对象关键字段

| 字段 | 类型 | 描述 |
|------|------|------|
| appname | String | 应用标识名（传 `create_app` 的 `app_name`） |
| apptitle | String | 应用显示名称 |
| apptype | String | `BuildWebsite`(建站) / `Database`(数据库) / `Storage`(存储) 等 |
| appversion | Array | 可用版本列表，每项含 `m_version`(主版本) 和 `s_version`(子版本) |
| depend | Array | 依赖应用列表，安装前需先通过 `get_dependence_apps` 确认已安装 |
| env | Array&lt;Object&gt; | **安装参数定义**，每项含 `key`(参数名)、`type`(类型)、`desc`(描述) |
| field | Array&lt;Object&gt; | **UI 配置字段**，每项含 `attr`(参数名)、`name`(显示名)、`type`(类型)、`default`(默认值) |

### 如何确定 `create_app` 的参数

1. 从 `appversion` 取 `m_version` 和 `s_version`
2. `env` 数组中每个对象的 `key` 就是要传的参数名（如 `wordpress_port`、`mysql_database`）
3. `field` 数组中每个对象的 `attr` 也是参数名（如 `allow_access`、`domain`）

## 示例（WordPress）

```json
{
  "appname": "wordpress",
  "apptitle": "WordPress",
  "apptype": "BuildWebsite",
  "appversion": [{"m_version": "6", "s_version": ["7.2", "7.1"]}],
  "depend": [{"appname": ["mysql"], "apptype": "Database", "appversion": ["5", "8", "9"]}],
  "env": [
    {"key": "version", "type": "string", "desc": "版本号"},
    {"key": "wordpress_port", "type": "port", "desc": "端口"}
  ],
  "field": [
    {"attr": "domain", "name": "域名", "type": "textarea"},
    {"attr": "allow_access", "name": "允许外部访问", "type": "checkbox", "default": true}
  ]
}
```

> 安装 WordPress 需要先安装 MySQL 依赖。参数 `wordpress_port`、`allow_access` 等均来自此接口返回。

## 相关接口

- [create_app](/api/docker/create_app) — 安装应用（参数来源于此接口）
- [get_dependence_apps](/api/docker/get_dependence_apps) — 查询依赖安装状态

