DevOps
dokploy
Manage Dokploy deployments, projects, applications, and domains
---
name: dokploy
description: "Manage Dokploy deployments, projects, applications, and domains via the Dokploy API."
emoji: "🐳"
metadata:
clawdhub:
requires:
bins: ["curl", "jq"]
---
# Dokploy Skill
Interact with Dokploy's API to manage projects, applications, domains, and deployments.
## Prerequisites
1. **Dokploy instance** running with API access
2. **API Key** generated from `/settings/profile` → "API/CLI Section"
3. Set the `DOKPLOY_API_URL` environment variable (default: `http://localhost:3000`)
## Configuration
Set these environment variables or use the config command:
```bash
# Dokploy instance URL
export DOKPLOY_API_URL="https://your-dokploy-instance.com"
# Your API token
export DOKPLOY_API_KEY="your-generated-api-key"
# Or run the config command
dokploy-config set --url "https://your-dokploy-instance.com" --key "your-api-key"
```
## Projects
### List all projects
```bash
dokploy-project list
```
### Get project details
```bash
dokploy-project get <project-id>
```
### Create a new project
```bash
dokploy-project create --name "My Project" --description "Description here"
```
### Update a project
```bash
dokploy-project update <project-id> --name "New Name" --description "Updated"
```
### Delete a project
```bash
dokploy-project delete <project-id>
```
## Applications
### List applications in a project
```bash
dokploy-app list --project <project-id>
```
### Get application details
```bash
dokploy-app get <application-id>
```
### Create an application
```bash
dokploy-app create \
--project <project-id> \
--name "my-app" \
--type "docker" \
--image "nginx:latest"
```
**Application types:** `docker`, `git`, `compose`
### Trigger deployment
```bash
dokploy-app deploy <application-id>
```
### Get deployment logs
```bash
dokploy-app logs <application-id> --deployment <deployment-id>
```
### List deployments
```bash
dokploy-app deployments <application-id>
```
### Update application
```bash
dokploy-app update <application-id> --name "new-name" --env "KEY=VALUE"
```
### Delete an application
```bash
dokploy-app delete <application-id>
```
## Domains
### List domains for an application
```bash
dokploy-domain list --application <application-id>
```
### Get domain details
```bash
dokploy-domain get <domain-id>
```
### Add a domain to an application
```bash
dokploy-domain create \
--application <application-id> \
--domain "app.example.com" \
--path "/" \
--port 80
```
### Update a domain
```bash
dokploy-domain update <domain-id> --domain "new.example.com"
```
### Delete a domain
```bash
dokploy-domain delete <domain-id>
```
## Environment Variables
### List environment variables for an application
```bash
dokploy-app env list <application-id>
```
### Set environment variable
```bash
dokploy-app env set <application-id> --key "DATABASE_URL" --value "postgres://..."
```
### Delete environment variable
```bash
dokploy-app env delete <application-id> --key "DATABASE_URL"
```
## Utility Commands
### Check API connection
```bash
dokploy-status
```
### View current config
```bash
dokploy-config show
```
## API Reference
Base URL: `$DOKPLOY_API_URL/api`
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/project.all` | GET | List all projects |
| `/project.create` | POST | Create project |
| `/project.byId` | GET | Get project by ID |
| `/project.update` | PATCH | Update project |
| `/project.delete` | DELETE | Delete project |
| `/application.all` | GET | List applications |
| `/application.create` | POST | Create application |
| `/application.byId` | GET | Get application by ID |
| `/application.update` | PATCH | Update application |
| `/application.delete` | DELETE | Delete application |
| `/application.deploy` | POST | Trigger deployment |
| `/deployment.all` | GET | List deployments |
| `/deployment.byId` | GET | Get deployment by ID |
| `/deployment.logs` | GET | Get deployment logs |
| `/domain.all` | GET | List domains |
| `/domain.create` | POST | Create domain |
| `/domain.update` | PATCH | Update domain |
| `/domain.delete` | DELETE | Delete domain |
## Notes
- All API calls require the `x-api-key` header
- Use `jq` for JSON parsing in scripts
- Some operations require admin permissions
- Deployment is asynchronous — use status endpoint to check progress
devops
By
Comments
Sign in to leave a comment