Skip to main content

debug

Debug a failed or stuck Dokploy deployment with full decision-tree analysis Arguments: app-name-or-id|compose-id.

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
October 3, 2026 at 23:16
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
debug
description
Debug a failed or stuck Dokploy deployment with full decision-tree analysis Arguments: app-name-or-id|compose-id.
# Debug Failed Deployment Run the full `debug-deploy` workflow against an application or compose stack — locate the failed run, read build logs, inspect container state, check Traefik, optionally AI-summarise, and recover. ## Arguments Format: `[app-name-or-id|compose-id]` (optional) - If a UUID is passed, treat it as either an `applicationId` or `composeId` and disambiguate by calling `application-one` first, falling back to `compose-one`. - If a name is passed, call `project-all` to resolve. - If **no argument** is passed, call `mcp__plugin_dokploy-dev_dokploy__deployment-allCentralized` and `mcp__plugin_dokploy-dev_dokploy__deployment-queueList`, list the recent `error` / stuck deployments, and ask the user which to investigate. Parse from "$ARGUMENTS". ## Process Read `${CLAUDE_PLUGIN_ROOT}/skills/debug-deploy/SKILL.md` and follow every step in order. Do not skip. Key checkpoints: 1. **Step 0 — Platform health.** Run `settings-health`, `checkInfrastructureHealth` (returns `postgres` / `traefik` status), `getDockerDiskUsage`, and on v0.30+ the read-only host check `docker-getServerHealth` (disk, memory, inotify, network IP pools, daemon errors) plus `docker-getEvents { minutes }` for recent daemon activity. If any fail, fix server before deploy issue. 2. **Step 1 — Locate the failed run.** Use `deployment-all` filtered by the resource ID. Save `deploymentId`. 3. **Step 2 — Read the logs (Dokploy v0.29.0+ — runtime logs are first-class over MCP/REST/CLI; see the `read-logs` skill).** Build failure → `deployment-readLogs { deploymentId, tail }`. Runtime crash → `application-readLogs { applicationId, tail, since, search }` for an app, or **read every container** of a compose stack: `docker-getContainersByAppNameMatch { appName, appType: "docker-compose" }` then `compose-readLogs { composeId, containerId, tail, since, search }` per container (or `/dokploy-dev:compose-logs`). Match against the build-failure pattern table. 4. **Step 3 — Container introspection.** `docker-getContainersByAppLabel { appName, type: "standalone" }` for state/health. `docker-getConfig` for command/mounts/networks (its `Env` is `[REDACTED]` by default since `@dokploy/mcp` 0.30.0 — diagnose env problems from the logs, see the `debug-deploy` skill "Env and credentials"). Use `docker-restartContainer` / `killContainer` if wedged. 5. **Step 4 — Request path.** Only if container is running but HTTP requests fail. `application-readTraefikConfig`, check port, network, listen address. 6. **Step 5 — Recovery.** Use the smallest action that unblocks: `killBuild` / `cancelDeployment` / `cleanQueues` / `deployment-removeDeployment` / `rollback-rollback`. Confirm destructive ops with the user. 7. **Step 6 — AI summary.** If `ai-getEnabledProviders` is non-empty, pass the log text from Step 2 to `ai-analyzeLogs { aiId, logs, context: "build" | "runtime" }` and present the result. Otherwise note that AI is not configured and continue manually. 8. **Step 7 — Verify the fix.** After applying a fix, `application-redeploy` (or `compose-redeploy`), poll `deployment-all` until `status: done`, validate domains, hit the endpoint with curl. ## Output format Report findings in this structure: ``` ## Diagnosis: <appName / composeName> **Failed deployment:** <deploymentId> (status: error, started: <timestamp>) **Build log:** <logPath> ### Root cause <one-paragraph plain-language explanation> ### Evidence - <log excerpt 1> - <container state observation> - <traefik / domain observation if relevant> ### AI summary (if available) <ai-analyzeLogs output, condensed> ### Recommended fix <concrete action, with the exact MCP call(s) needed> ### Recovery commands <list of MCP calls to apply the fix and redeploy> ``` After applying a fix, re-verify before declaring the issue resolved. ## Example Usage ``` /dokploy-dev:debug /dokploy-dev:debug web-frontend /dokploy-dev:debug abc123-def456 ```
View on GitHub