Back to skills
extension
Category: Development & EngineeringAPI key required

Dokploy

Manage Dokploy deployments, projects, applications, and domains via the Dokploy API.

personAuthor: joshuarileydevhubclawhub

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:

# 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

dokploy-project list

Get project details

dokploy-project get <project-id>

Create a new project

dokploy-project create --name "My Project" --description "Description here"

Update a project

dokploy-project update <project-id> --name "New Name" --description "Updated"

Delete a project

dokploy-project delete <project-id>

Applications

List applications in a project

dokploy-app list --project <project-id>

Get application details

dokploy-app get <application-id>

Create an application

dokploy-app create \
  --project <project-id> \
  --name "my-app" \
  --type "docker" \
  --image "nginx:latest"

Application types: docker, git, compose

Trigger deployment

dokploy-app deploy <application-id>

Get deployment logs

dokploy-app logs <application-id> --deployment <deployment-id>

List deployments

dokploy-app deployments <application-id>

Update application

dokploy-app update <application-id> --name "new-name" --env "KEY=VALUE"

Delete an application

dokploy-app delete <application-id>

Domains

List domains for an application

dokploy-domain list --application <application-id>

Get domain details

dokploy-domain get <domain-id>

Add a domain to an application

dokploy-domain create \
  --application <application-id> \
  --domain "app.example.com" \
  --path "/" \
  --port 80

Update a domain

dokploy-domain update <domain-id> --domain "new.example.com"

Delete a domain

dokploy-domain delete <domain-id>

Environment Variables

List environment variables for an application

dokploy-app env list <application-id>

Set environment variable

dokploy-app env set <application-id> --key "DATABASE_URL" --value "postgres://..."

Delete environment variable

dokploy-app env delete <application-id> --key "DATABASE_URL"

Utility Commands

Check API connection

dokploy-status

View current config

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