AgentSkillsCN

dokploy

通过Dokploy API管理Dokploy部署、项目、应用和域。

SKILL.md
--- frontmatter
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

EndpointMethodDescription
/project.allGETList all projects
/project.createPOSTCreate project
/project.byIdGETGet project by ID
/project.updatePATCHUpdate project
/project.deleteDELETEDelete project
/application.allGETList applications
/application.createPOSTCreate application
/application.byIdGETGet application by ID
/application.updatePATCHUpdate application
/application.deleteDELETEDelete application
/application.deployPOSTTrigger deployment
/deployment.allGETList deployments
/deployment.byIdGETGet deployment by ID
/deployment.logsGETGet deployment logs
/domain.allGETList domains
/domain.createPOSTCreate domain
/domain.updatePATCHUpdate domain
/domain.deleteDELETEDelete 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