mirror of
https://github.com/Dokploy/website
synced 2025-06-26 18:16:01 +00:00
99 lines
3.0 KiB
Plaintext
99 lines
3.0 KiB
Plaintext
---
|
|
title: Dokploy API
|
|
description: How to interact with the dokploy API for administrators and users
|
|
---
|
|
|
|
In some cases, you may need to interact directly with the dokploy API. Here's how both administrators and users can do this.
|
|
|
|
## For Administrators
|
|
|
|
1. Access the Swagger UI by navigating to `your-vps-ip:3000/swagger`.
|
|
2. Use the Swagger interface to interact with the API.
|
|
3. By default, access to the Swagger UI is restricted, and only authenticated administrators can access the API.
|
|
|
|
## For Users
|
|
|
|
1. By default, users do not have direct access to the API.
|
|
2. Administrators can grant users access to:
|
|
- Generate access tokens
|
|
- Access the Swagger UI
|
|
3. If you need access, contact your administrator.
|
|
|
|
Note: The API provides advanced functionalities. Make sure you understand the operations you're performing to avoid unintended changes to the system.
|
|
|
|
## Usage
|
|
|
|
By default the OpenApi base url is `http://localhost:3000/api`, you need to replace with the ip of your dokploy instance or the domain name.
|
|
|
|
### Authentication
|
|
|
|
The API uses JWT tokens for authentication. You can generate a token by going to the `/settings/profile` page and go to API/CLI Section and generate the token.
|
|
|
|
Let's take a example of authenticated request:
|
|
```bash
|
|
curl -X 'GET' \
|
|
'https://dokploy.com/api/project.all' \
|
|
-H 'accept: application/json'
|
|
-H 'Authorization: Bearer YOUR-TOKEN'
|
|
```
|
|
then you will get the something like this:
|
|
|
|
```json
|
|
[
|
|
{
|
|
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
|
|
"name": "Random",
|
|
"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": "done",
|
|
"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": "done",
|
|
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
|
}
|
|
],
|
|
"compose": []
|
|
},
|
|
]
|
|
``` |