dokploy_compose
Manage Docker Compose services across environments: create, update, deploy, and monitor with built-in environment variable management and log access.
Instructions
Manage Docker Compose services. create: name+environmentId. get: composeId (metadata + masked env summary — never values). update: composeId+fields (supports sourceType, composeFile for raw/inline, git source fields, autoDeploy). delete/start/stop/getDefaultCommand: composeId. deploy: composeId, redeploy? (note: first deploy on new services may fail — retry immediately). move: composeId+targetEnvironmentId. loadServices: composeId (must deploy first). loadMounts: composeId+serviceName. saveEnvironment: composeId+env (full replace). setEnvVars: composeId + set?/unset? (merge inside the server, masked confirmation only). getEnvKeys: composeId — KEY names only. getEnvValuesUnsafe: composeId — UNSAFE escape hatch that returns full KEY=VALUE pairs (output goes to the tool transcript). cancelDeployment/cleanQueues/killBuild/refreshToken: composeId. readLogs: composeId+containerId, tail?, since?, search?.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment variables as KEY=VALUE pairs, one per line. Example: 'DB_HOST=localhost\nDB_PORT=5432'. Used by saveEnvironment (full replace). | |
| set | No | setEnvVars: KEY=VALUE pairs to upsert, one per line. | |
| name | No | ||
| tail | No | Number of recent log lines (default 100) | |
| type | No | ||
| owner | No | GitHub owner/organization | |
| since | No | Time range: 'all' or a duration like '30m', '1h', '7d' | |
| title | No | ||
| unset | No | setEnvVars: list of KEY names to remove. | |
| action | Yes | ||
| branch | No | GitHub branch | |
| search | No | Filter log lines by substring | |
| appName | No | Internal app name | |
| command | No | ||
| redeploy | No | ||
| serverId | No | ||
| composeId | No | ||
| autoDeploy | No | Enable auto-deploy on git push | |
| repository | No | GitHub repository (owner/repo format) | |
| sourceType | No | Source type. github → set repository+owner+branch (+composePath). git → set customGitUrl+customGitBranch (+customGitSSHKeyId for private). raw → set composeFile (inline YAML). The API also supports gitlab/bitbucket/gitea sources, but those need provider-specific fields not yet exposed by this tool. | |
| composeFile | No | Docker Compose YAML content (for sourceType: raw, set this to the inline compose file) | |
| composePath | No | Path to compose file in repo | |
| composeType | No | docker-compose or stack | |
| containerId | No | Container ID for readLogs (use dokploy_docker findContainers to discover) | |
| description | No | ||
| serviceName | No | ||
| customGitUrl | No | Custom git repository URL | |
| deleteVolumes | No | ||
| environmentId | No | ||
| customGitBranch | No | Custom git branch | |
| customGitSSHKeyId | No | SSH key ID for private git repos | |
| deployDescription | No | ||
| targetEnvironmentId | No |