mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
99 lines
2.9 KiB
Plaintext
99 lines
2.9 KiB
Plaintext
---
|
||
title: Dokploy API
|
||
description: 如何与 Dokploy API 进行交互,面向管理员和用户
|
||
---
|
||
|
||
在某些情况下,您可能需要直接与 Dokploy API 进行交互。以下是管理员和用户如何做到这一点的指南。
|
||
|
||
## 对于管理员
|
||
|
||
1. 通过访问 `your-vps-ip:3000/swagger` 进入 Swagger UI。
|
||
2. 使用 Swagger 界面与 API 进行交互。
|
||
3. 默认情况下,Swagger UI 的访问受到限制,只有经过身份验证的管理员才能访问 API。
|
||
|
||
## 对于用户
|
||
|
||
1. 默认情况下,用户无法直接访问 API。
|
||
2. 管理员可以授予用户以下访问权限:
|
||
- 生成访问令牌
|
||
- 访问 Swagger UI
|
||
3. 如果您需要访问权限,请联系您的管理员。
|
||
|
||
注意:API 提供了高级功能。确保您理解所执行的操作,以避免对系统造成意外更改。
|
||
|
||
## 用法
|
||
|
||
默认情况下,OpenApi 基础 URL 为 `http://localhost:3000/api`,您需要将其替换为 Dokploy 实例的 IP 或域名。
|
||
|
||
### 身份验证
|
||
|
||
API 使用 JWT 令牌进行身份验证。您可以通过访问 `/settings/profile` 页面并进入 API/CLI 部分生成令牌。
|
||
|
||
以下是一个经过身份验证的请求示例:
|
||
```bash
|
||
curl -X 'GET' \
|
||
'https://dokploy.com/api/project.all' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer YOUR-TOKEN'
|
||
```
|
||
然后您将收到类似以下内容的响应:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
|
||
"name": "随机",
|
||
"description": "",
|
||
"createdAt": "2024-06-19T15:05:58.785Z",
|
||
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
|
||
"applications": [],
|
||
"mariadb": [],
|
||
"mongo": [],
|
||
"mysql": [
|
||
{
|
||
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
|
||
"name": "mysql",
|
||
"appName": "random-mysql-924715",
|
||
"description": "",
|
||
"databaseName": "mysql",
|
||
"databaseUser": "mysql",
|
||
"databasePassword": "h13BzO6y3KYSHaQg",
|
||
"databaseRootPassword": "mM1b7JeoPA7jArxj",
|
||
"dockerImage": "mysql:8",
|
||
"command": null,
|
||
"env": null,
|
||
"memoryReservation": null,
|
||
"memoryLimit": null,
|
||
"cpuReservation": null,
|
||
"cpuLimit": null,
|
||
"externalPort": null,
|
||
"applicationStatus": "完成",
|
||
"createdAt": "2024-06-24T01:55:40.378Z",
|
||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||
}
|
||
],
|
||
"postgres": [],
|
||
"redis": [
|
||
{
|
||
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
|
||
"name": "redis",
|
||
"appName": "random-redis-7eec62",
|
||
"description": "",
|
||
"databasePassword": "Yvb8gqClfomjcue8",
|
||
"dockerImage": "redis:7",
|
||
"command": null,
|
||
"env": null,
|
||
"memoryReservation": null,
|
||
"memoryLimit": null,
|
||
"cpuReservation": null,
|
||
"cpuLimit": null,
|
||
"externalPort": 6379,
|
||
"createdAt": "2024-06-26T06:43:20.570Z",
|
||
"applicationStatus": "完成",
|
||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||
}
|
||
],
|
||
"compose": []
|
||
}
|
||
]
|
||
``` |