Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt

Use this file to discover all available pages before exploring further.

The Compose API lets you manage Docker Compose stacks as first-class services within Dokploy. Stacks can be sourced from Git repositories, deployed from built-in templates, or imported from existing Compose files. Each stack supports the same lifecycle operations as applications — deploy, redeploy, stop, start — plus Compose-specific features like service listing and isolated deployment modes.

Endpoints

MethodEndpointDescription
POST/compose.createCreate a new Compose stack
GET/compose.oneFetch a single Compose stack by ID
POST/compose.updateUpdate Compose stack configuration
POST/compose.deleteDelete a Compose stack
POST/compose.deployDeploy the Compose stack
POST/compose.redeployRedeploy the Compose stack
POST/compose.stopStop all services in the stack
POST/compose.startStart all services in the stack
GET/compose.loadServicesList services defined in the Compose file
GET/compose.templatesList available Compose templates
POST/compose.deployTemplateDeploy a stack from a template
GET/compose.getConvertedComposeGet the resolved Compose file content
POST/compose.isolatedDeploymentDeploy a single service in isolation
POST/compose.moveMove the stack to another environment
POST/compose.refreshTokenRegenerate the webhook token
POST/compose.cancelDeploymentCancel a running or queued deployment
POST/compose.importImport a Compose stack from a file
GET/compose.searchSearch Compose stacks
POST/compose.cleanQueuesClear the deployment job queue
POST/compose.clearDeploymentsRemove old deployment records
POST/compose.killBuildAbort an in-progress build
POST/compose.disconnectGitProviderRemove the linked Git provider
GET/compose.getDefaultCommandGet the default deployment command

Key Endpoints

POST /compose.create

Create a new Docker Compose stack in a project environment.
name
string
required
Display name of the Compose stack.
environmentId
string
required
Target environment ID within a project.
appName
string
Internal stack name used by Docker. Auto-generated if omitted.
description
string
Optional description.
serverId
string
Target server ID. Required in cloud mode.
composeId
string
Unique ID of the created Compose stack.
appName
string
Internal Docker stack name.
composeStatus
string
Initial status: idle, running, done, or error.
curl -X POST 'https://your-instance.com/api/compose.create' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "my-stack",
    "environmentId": "env_abc123"
  }'

POST /compose.deploy

Trigger a full deployment of the Compose stack, pulling images and applying the Compose file.
composeId
string
required
ID of the Compose stack to deploy.
title
string
Optional label shown in deployment history.
description
string
Optional deployment notes.
curl -X POST 'https://your-instance.com/api/compose.deploy' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "composeId": "cmp_xyz789",
    "title": "Deploy v2.0"
  }'

POST /compose.deployTemplate

Create and deploy a new Compose stack directly from a built-in template. This is the fastest way to spin up popular stacks like WordPress, Nextcloud, or Plausible.
id
string
required
Template identifier (use /compose.templates to list available IDs).
environmentId
string
required
Target environment ID.
serverId
string
Target server ID. Required in cloud mode.
curl -X POST 'https://your-instance.com/api/compose.deployTemplate' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "wordpress",
    "environmentId": "env_abc123"
  }'

GET /compose.loadServices

List all service names defined in the stack’s Compose file. Useful for populating domain or monitoring configuration.
composeId
string
required
ID of the Compose stack.
type
string
Compose mode — docker-compose (default) or stack.
curl -G 'https://your-instance.com/api/compose.loadServices' \
  -H 'x-api-key: YOUR_API_KEY' \
  --data-urlencode 'composeId=cmp_xyz789'

POST /compose.redeploy

Re-run the last deployment of the Compose stack without re-cloning the source.
composeId
string
required
ID of the Compose stack.
title
string
Optional label for the redeployment entry.
curl -X POST 'https://your-instance.com/api/compose.redeploy' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "composeId": "cmp_xyz789"
  }'

Notes

Use /compose.templates to browse all built-in templates before deploying with deployTemplate. Templates are fetched from the Dokploy GitHub repository and may vary by version.
The isolatedDeployment endpoint deploys a single named service within the stack without affecting the rest — ideal for zero-downtime partial updates.

Build docs developers (and LLMs) love