dokploy
Manage Dokploy deployments, projects, applications, and domains via the Dokploy API.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Dokploy Skill
Interact with Dokploy's API to manage projects, applications, domains, and deployments.
Prerequisites
- Dokploy instance running with API access
-
API Key generated from
/settings/profile→ "API/CLI Section" - Set the
DOKPLOY_API_URLenvironment 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-keyheader - Use
jqfor JSON parsing in scripts - Some operations require admin permissions
- Deployment is asynchronous — use status endpoint to check progress
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-30
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!