← Back to DevOps & Cloud
DevOps & Cloud by @joshuarileydev

dokploy

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

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