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.

Applications are the primary workload unit in Dokploy. They can be sourced from GitHub, GitLab, Bitbucket, Gitea, a custom Git URL, a Docker image, or a file drop. Once created, you can configure the build type, environment variables, domains, and then trigger a deployment — all programmatically through the API.

Endpoints

MethodEndpointDescription
POST/application.createCreate a new application
GET/application.oneFetch a single application by ID
POST/application.updateUpdate application configuration
POST/application.deleteDelete an application
POST/application.deployTrigger a new deployment
POST/application.redeployRe-run the last deployment
POST/application.stopStop the running application
POST/application.startStart a stopped application
POST/application.reloadReload the application service
POST/application.saveEnvironmentSave environment variables and build args
POST/application.saveBuildTypeConfigure build type (Dockerfile, Nixpacks, etc.)
POST/application.saveGithubProviderLink a GitHub repository
POST/application.saveGitlabProviderLink a GitLab repository
POST/application.saveBitbucketProviderLink a Bitbucket repository
POST/application.saveGiteaProviderLink a Gitea repository
POST/application.saveDockerProviderSet a Docker image as the source
POST/application.saveGitProviderLink a custom Git repository
POST/application.disconnectGitProviderRemove the linked Git provider
POST/application.refreshTokenRegenerate the webhook token
POST/application.cleanQueuesClear the deployment job queue
POST/application.clearDeploymentsRemove old deployment records
POST/application.killBuildAbort an in-progress build
GET/application.readTraefikConfigRead the Traefik routing config
POST/application.updateTraefikConfigUpdate the Traefik routing config
GET/application.readAppMonitoringGet resource monitoring stats
POST/application.moveMove an application to another environment
POST/application.cancelDeploymentCancel a queued or running deployment
POST/application.markRunningManually mark an application as running
GET/application.searchSearch applications

Key Endpoints

POST /application.create

Create a new application within a project environment.
name
string
required
Display name for the application.
environmentId
string
required
ID of the environment (inside a project) to create the application in.
appName
string
Internal Docker service name. Auto-generated if omitted.
description
string
Optional description of the application.
serverId
string
Target server ID. Required in cloud mode or when remoteServersOnly is enabled.
applicationId
string
Unique identifier of the created application.
appName
string
The internal Docker service name assigned to the application.
name
string
Display name of the application.
applicationStatus
string
Initial status — idle, running, done, or error.
curl -X POST 'https://your-instance.com/api/application.create' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "my-web-app",
    "environmentId": "env_abc123"
  }'

POST /application.deploy

Trigger a full build and deployment of the application from its configured source.
applicationId
string
required
ID of the application to deploy.
title
string
Optional label shown in the deployment history.
description
string
Optional notes about this deployment.
curl -X POST 'https://your-instance.com/api/application.deploy' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "applicationId": "app_xyz789",
    "title": "Release v1.2.0",
    "description": "New feature: dark mode"
  }'

POST /application.redeploy

Re-run the most recent deployment without pulling new source code.
applicationId
string
required
ID of the application to redeploy.
title
string
Optional label for this redeployment entry.
description
string
Optional notes.
curl -X POST 'https://your-instance.com/api/application.redeploy' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "applicationId": "app_xyz789"
  }'

POST /application.saveEnvironment

Set or update environment variables, build arguments, and build secrets for an application.
applicationId
string
required
ID of the application.
env
string | null
required
Newline-separated KEY=VALUE pairs for runtime environment variables. Pass null to clear.
buildArgs
string | null
required
Newline-separated Docker build arguments (ARG_NAME=value). Pass null to clear.
buildSecrets
string | null
required
Newline-separated build secrets. Pass null to clear.
createEnvFile
boolean
required
When true, write a .env file into the container at runtime.
curl -X POST 'https://your-instance.com/api/application.saveEnvironment' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "applicationId": "app_xyz789",
    "env": "DATABASE_URL=postgres://localhost/mydb\nPORT=3000",
    "buildArgs": null,
    "buildSecrets": null,
    "createEnvFile": false
  }'

POST /application.update

Update any property of an existing application — name, resource limits, source provider fields, Swarm config, and more.
applicationId
string
required
ID of the application to update.
name
string
New display name.
replicas
number
Desired number of running replicas.
memoryLimit
string
Hard memory limit (e.g., 512m, 1g).
cpuLimit
string
Hard CPU limit (e.g., 0.5, 1).
autoDeploy
boolean
Enable automatic deployment on Git push webhook.
buildType
string
Build strategy: dockerfile, heroku_buildpacks, paketo_buildpacks, nixpacks, static, or railpack.
curl -X POST 'https://your-instance.com/api/application.update' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "applicationId": "app_xyz789",
    "replicas": 2,
    "memoryLimit": "512m",
    "autoDeploy": true
  }'

POST /application.delete

Permanently delete an application and remove its Docker service and Traefik configuration.
applicationId
string
required
ID of the application to delete.
This action is irreversible. The application’s Docker service, configs, and deployment history are permanently removed.
curl -X POST 'https://your-instance.com/api/application.delete' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "applicationId": "app_xyz789"
  }'

Notes

To automate CI/CD, call application.deploy from your pipeline after pushing code. Combine with application.saveEnvironment to inject build-time secrets securely.
All endpoints require a valid API key passed in the x-api-key header. Generate one under Settings → API Keys in the Dokploy dashboard.

Build docs developers (and LLMs) love