AgentStack
SKILL verified MIT Self-run

Sc Dokploy

skill-rahmanef63-si-coder-agent-sc-dokploy · by rahmanef63

Dokploy CRUD, audit, and debug. List/create/update/delete projects, applications, compose services, and domains via REST API. Find stale domains, duplicate hosts, and *.traefik.me leftovers. Inspect status and recent deployments.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-rahmanef63-si-coder-agent-sc-dokploy

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Sc Dokploy? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/sc-dokploy — Dokploy CRUD & Audit

Use this skill when the user wants to inspect, change, or clean up Dokploy state directly (without redeploying code).

Pre-requisites

  • DOKPLOY_API_URL, DOKPLOY_API_KEY — Dokploy admin
  • SSH fallback to the Dokploy host (for orphan swarm services / Traefik file CRUD the REST API does NOT expose): ssh -i ~/.ssh/id_n8n rahman@srv614914 with passwordless sudo.

If missing, route to /sc-onboarding.

REST vs SSH

Dokploy REST API covers projects, applications, compose, domains, deploy/start/stop, monitoring read. It does NOT cover:

  • docker service rm (orphan swarm services)
  • rm /etc/dokploy/traefik/dynamic/.yml (orphan Traefik routers)
  • container exec / kill / log tail beyond the dashboard

For those, SSH in directly. Useful one-liners:

ssh -i ~/.ssh/id_n8n rahman@srv614914 'sudo -n docker service ls'
ssh -i ~/.ssh/id_n8n rahman@srv614914 'sudo -n ls /etc/dokploy/traefik/dynamic/'
ssh -i ~/.ssh/id_n8n rahman@srv614914 'sudo -n docker service rm '
ssh -i ~/.ssh/id_n8n rahman@srv614914 'sudo -n rm /etc/dokploy/traefik/dynamic/.yml'  # Traefik file watcher reloads in ~5-10s

Orphan-service pattern: when a Dokploy app is recreated, the old swarm service and its Traefik dynamic config can survive deletion. Both compete for the same Host(...) rule. Symptom: prod serves an old image even after a fresh deploy. Diagnosis: docker service ls shows two services for the same project, and two .yml files in traefik/dynamic/ bind the same domain. Fix: remove the orphan file + service.

CORE RULES

  1. Idempotency: domain.create may 4xx on duplicate; treat that as a no-op, not an error.
  2. Don't delete domains blindly: only delete domains via audit.js's selectDomainsToDelete — keep the desired canonical host, drop *.traefik.me and duplicates.
  3. Never rename the Dokploy control host: whatever hostname is in DOKPLOY_API_URL is the control plane. Never rewrite it inside scripts — read it from env.
  4. x-api-key header, not Bearer: Dokploy uses x-api-key, NOT Authorization: Bearer.

Scripts

projects.js — Project CRUD

node scripts/projects.js list
node scripts/projects.js create 
node scripts/projects.js show 

apps.js — Application CRUD

node scripts/apps.js list --project 
node scripts/apps.js show --project  --app 
node scripts/apps.js deploy --project  --app 

compose.js — Compose service CRUD

node scripts/compose.js list --project 
node scripts/compose.js show --compose 
node scripts/compose.js env --compose 
node scripts/compose.js deploy --compose 

domains.js — Domain CRUD

node scripts/domains.js list-app --app-id 
node scripts/domains.js list-compose --compose-id 
node scripts/domains.js create-app --app-id  --host  [--port N] [--service NAME]
node scripts/domains.js delete --domain-id 

audit.js — Sweep

Reports across all projects:

  • *.traefik.me placeholder hosts that should be removed
  • Duplicate hosts on the same service
  • Applications with no domain configured
  • Compose services missing INSTANCE_SECRET
node scripts/audit.js [--fix]   # --fix removes stale domains

debug.js — Status & recent deployments

node scripts/debug.js status --project  --app 
node scripts/debug.js status --compose 
node scripts/debug.js deployments --app-id 

API endpoint reference (Dokploy)

| Action | Endpoint | Method | |---|---|---| | List projects | /project.all | GET | | Create project | /project.create | POST { name } | | Get application | /application.one?applicationId= | GET | | Update application | /application.update | POST | | Deploy application | /application.deploy | POST { applicationId } | | Get compose | /compose.one?composeId= | GET | | Update compose | /compose.update | POST | | Deploy compose | /compose.deploy | POST { composeId } | | Deploy compose template | /compose.deployTemplate | POST { environmentId, id } | | Create domain | /domain.create | POST | | Delete domain | /domain.delete | POST { domainId } | | List GitHub providers | /github.githubProviders | GET | | Save app GH provider | /application.saveGithubProvider | POST |

Auth: x-api-key: .

Note on logs

Dokploy build logs are NOT exposed over the REST API (as of this skill's last update). On deployment failure, point the user at the Dokploy dashboard: → project → service → Deployments

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.