Saltar al contenido principal

Auto-deploy y webhooks

Evitar entrar al panel a darle Deploy manual en cada push. Aplica a Applications y Docker Compose.

El procedimiento detallado para GitLab (con capturas del flujo) está en Conceptos → Auto-deploy con webhooks. Aquí, la referencia general y la vía por API.


GitHub: cero configuración

Con GitHub, el auto-deploy funciona out of the box: cada push al branch conectado dispara un deploy.

Otros providers: Webhook manual

Para GitLab, Bitbucket, Gitea o DockerHub hay que conectar un webhook a mano:

  1. Enable Auto Deploy — toggle en la pestaña General de la app.
  2. Obtener la Webhook URL — está en los logs de deployment.
  3. Pegarla en el proveedor: Settings del repo → webhooks → pegar la URL.

Errores comunes:

  • "Branch Not Match": el branch de Dokploy no coincide con el del push. Deben apuntar al mismo branch exacto.
  • DockerHub: además del webhook, el tag de la imagen debe coincidir con el tag configurado en Dokploy.

Deploy vía API (para CI/CD)

Alternativa cuando el deploy debe dispararse desde un pipeline propio (ej. tras correr tests).

1. Generar un token de API (desde el perfil del usuario en Dokploy).

2. Obtener el applicationId:

curl -X GET 'https://tu-dominio/api/project.all' \
-H 'accept: application/json' \
-H 'x-api-key: <token>'

3. Disparar el deploy:

curl -X POST 'https://tu-dominio/api/application.deploy' \
-H 'Content-Type: application/json' \
-H 'x-api-key: <token>' \
-d '{ "applicationId": "..." }'

Útil para un .gitlab-ci.yml propio en lugar del auto-deploy nativo — relevante para el pendiente de API Express.


📖 docs.dokploy.com/docs/core/auto-deploy