name: Dokploy Deploy description: Trigger a Dokploy application or Compose deployment and wait for it to finish. author: maxvojtkov branding: icon: upload-cloud color: purple inputs: host: description: >- Base URL of the Dokploy instance, e.g. https://dokploy.example.com. A trailing /api is tolerated. Falls back to $DOKPLOY_HOST. required: false api-key: description: >- API token from Settings → Profile → API/CLI. Falls back to $DOKPLOY_API_KEY. required: false # --- what to deploy: an id, or a name to look up ------------------------- application-id: description: Application to act on. required: false compose-id: description: Compose stack to act on. required: false project: description: Project name, when looking the service up by name. required: false service: description: >- Application or Compose stack name, when looking it up by name. Matches either the display name or the Docker service name. required: false environment: description: Environment name. Defaults to the project's default environment. required: false # --- what to do ---------------------------------------------------------- action: description: One of deploy, redeploy, start, stop, reload. required: false default: deploy docker-image: description: >- Image to point the application at before deploying, e.g. ghcr.io/acme/api:1.4.0. Switches the application's source type to Docker. Applications only. required: false registry-username: description: Username for a private registry, alongside docker-image. required: false registry-password: description: Password or token for a private registry, alongside docker-image. required: false registry-url: description: Registry URL for a private registry, alongside docker-image. required: false title: description: Deployment title shown in Dokploy. Defaults to the short commit SHA. required: false description: description: Deployment description. Defaults to repository, ref, actor and a link to the run. required: false # --- how to wait --------------------------------------------------------- wait: description: Wait for the deployment to reach a terminal status and fail the step if it errored. required: false default: "true" timeout: description: Seconds to wait for the deployment to finish. required: false default: "600" poll-interval: description: Seconds between deployment status checks. required: false default: "5" request-timeout: description: Seconds before a single API request is abandoned. required: false default: "60" cancel-on-timeout: description: Ask Dokploy to cancel the deployment when the timeout is hit. required: false default: "false" logs: description: When to print deployment logs — on-failure, always or never. required: false default: on-failure log-tail: description: Number of log lines to print. required: false default: "200" insecure: description: Skip TLS certificate verification. Only for self-signed certificates. required: false default: "false" outputs: status: description: Terminal deployment status — done, error, cancelled, timed-out or triggered. succeeded: description: '"true" when the deployment finished successfully.' deployment-id: description: Id of the deployment this run started, when one was watched. service-kind: description: application or compose. service-id: description: Id of the resolved service. application-id: description: Resolved application id, empty for a Compose stack. compose-id: description: Resolved Compose id, empty for an application. app-name: description: Docker service name of the resolved service. duration: description: Seconds the step spent triggering and waiting. runs: using: node20 main: src/index.js