Dokploy

Auto-deploy

Automatically deploying your docker-compose application to Dokploy can be achieved through two primary methods: using Webhooks or the Dokploy API. Each method supports various platforms and provides a streamlined deployment process.

Webhook URL

Webhooks allow you to automatically deploy your docker-compose application whenever changes are made in your source repository.

  • GitHub
  • GitLab
  • Bitbucket
  • Gitea

Configuration Steps

  1. Enable Auto Deploy: Toggle the 'Auto Deploy' button found in the general tab of your application settings in Dokploy.
  2. Obtain Webhook URL: Locate the Webhook URL from the deployment logs.
Webhook URL
  1. Configure Your Repository:
    • Navigate to your repository settings on your chosen platform.
    • Add the webhook URL provided by Dokploy.
    • Ensure the settings match the configuration necessary for triggering the webhook.
Webhook URL

Important Notes

  • Branch Matching: When using Git-based providers (GitHub, GitLab, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
  • The steps are the same for all the providers.

API Method

Deploy your application programmatically using the Dokploy API from anywhere.

Steps to Deploy Using API

Steps:

  1. Generate a Token: Create an API token in your profile settings on Dokploy.
  2. Retrieve Compose ID:
curl -X 'GET' \
  'https://your-domain/api/project.all' \
  -H 'accept: application/json'
  -H 'Authorization: Bearer <token>'

This command lists all projects and services. Identify the composeId for the compose you wish to deploy.

  1. Trigger Deployment:
curl -X 'POST' \
  'https://canary.dokploy.com/api/compose.deploy' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <token>' \
  -d '{
  "composeId": "string"
}'

This API method allows for flexible, scriptable deployment options, suitable for automated systems or situations where direct repository integration is not feasible. In this way you can deploy your application from anywhere, you can use the webhook URL or the API.

On this page