Fix Auto-Deploy Not Triggering on Coolify
Error: Coolify auto deploy not working / GitHub webhook shows no deliveries after a push
Coolify never starts a new deployment after you push to Git because the webhook never arrives or gets rejected, not because your app or code changed anything.
Auto-deploy depends on a webhook actually reaching Coolify and being accepted, and several unrelated things break that silently: the "Auto Deploy" toggle can be off in the app's Advanced settings; the webhook secret Coolify generated can be out of sync with what GitHub stored; GitHub can send the payload as application/x-www-form-urlencoded instead of application/json, which Coolify rejects with a 422; a GitHub App source can register the webhook against the server's raw IP instead of its FQDN, so it silently breaks the moment that IP changes; and repos added through the public-repo/deploy-key flow never get a webhook created for them at all, since Coolify only auto-creates one for GitHub App sources.
The fix
Open the app in Coolify, go to Configuration > Advanced, and confirm the "Auto Deploy" toggle is switched on.
In GitHub, go to the repo's Settings > Webhooks > Recent Deliveries and check whether pushes are arriving at all, and whether they're getting a non-200 response.
If deliveries are arriving but failing, check the Content-Type is application/json, not application/x-www-form-urlencoded — the wrong type makes Coolify respond 422 and reject the payload.
Check Coolify's Instance Settings has a real FQDN set, not blank. A blank FQDN makes GitHub App sources register the webhook against the server's raw IP, which breaks silently if that IP ever changes — set the FQDN, then recreate the GitHub App source.
If the repo was added through the public-repo/deploy-key flow rather than a GitHub App, Coolify never auto-creates a webhook for it. Add one manually: copy the Payload URL and secret from the app's source page in Coolify, then in GitHub go to Settings > Webhooks > Add webhook, paste both in, and select "Just the push event".
Verify it worked
Push a commit — GitHub's Recent Deliveries shows a 200 response, and a new deployment starts in Coolify within about 30 seconds.
Related Coolify errors
- www.domain.com cert error but apex works
- Build-time error: process.env.NEXT_PUBLIC_* / VITE_* / API URL is undefined during build — values set in Coolify are empty in the built bundle (e.g. ReferenceError or fetch to "undefined")
- WebSocket connection to 'wss://<your-domain>:6001/app/...' failed (UI shows "WARNING: Cannot connect to real-time service")
- git@github.com: Permission denied (publickey) / Failed to read Git source
Sources
- github.com/coollabsio/coolify/issues/6049
- github.com/coollabsio/coolify/issues/6799
- github.com/coollabsio/coolify/issues/8947
- github.com/coollabsio/coolify/issues/6319
- github.com/coollabsio/coolify/issues/3047
- github.com/coollabsio/coolify/issues/5403
- coolify.io/docs/applications/ci-cd/github/auto-deploy