Session notes covering Gitea-Coolify webhook fixes, NocoDB/Vaultwarden credentials, Stalwart mail server setup, Snappymail config, WhyRating databases and email, CloudBeaver deployment, and Turbostarter setup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
Gitea-Coolify Webhook Fix
Date: 2026-02-01 14:30 Context: Fixing auto-deploy webhooks from Gitea to Coolify
Problem
Gitea webhooks to Coolify were failing with two different errors:
Error 1: ALLOWED_HOST_LIST
dial tcp 10.0.1.5:8000: webhook can only call allowed HTTP servers
(check your webhook.ALLOWED_HOST_LIST setting), deny 'coolify(10.0.1.5:8000)'
Error 2: Connection Refused
dial tcp 10.0.1.5:8000: connection refused
Root Causes
1. Gitea Blocks Internal Webhooks by Default
Gitea has a security feature that prevents webhooks to internal/private IP addresses unless explicitly allowed.
Fix: Add [webhook] section to Gitea's app.ini:
[webhook]
ALLOWED_HOST_LIST = coolify,10.0.1.5,192.168.1.3,localhost,host.docker.internal,external
2. Wrong Port (Critical Discovery!)
| Port | Usage |
|---|---|
| 8000 | External Docker port mapping (for browser access from 192.168.1.3:8000) |
| 8080 | Internal container port (what nginx actually listens on inside the container) |
When Gitea (running in Docker) calls Coolify (also in Docker), it uses the Docker network. From within the network, Coolify's nginx listens on port 8080, not 8000.
Wrong: http://coolify:8000/webhooks/... → Connection refused
Correct: http://coolify:8080/webhooks/... → HTTP 200 OK
Solution Applied
-
Added
[webhook]section to Gitea's app.ini:ssh nuc "docker exec gitea-ho0cwgcwos88cwc48g84c0g8 sh -c 'echo \"\" >> /data/gitea/conf/app.ini && echo \"[webhook]\" >> /data/gitea/conf/app.ini && echo \"ALLOWED_HOST_LIST = coolify,10.0.1.5,192.168.1.3,localhost,host.docker.internal,external\" >> /data/gitea/conf/app.ini'" ssh nuc "docker restart gitea-ho0cwgcwos88cwc48g84c0g8" -
Updated webhook URL from port 8000 to 8080:
http://coolify:8080/webhooks/source/gitea/events/manual?uuid=t80w0cw0oooc4g0soswos4so
Verification
- Webhook test delivery returned HTTP 200
- Green checkmark in Gitea webhook delivery history
Key Learnings
- Always check internal vs external ports when Docker containers communicate
- Gitea has webhook security - must explicitly allow internal hosts
- The
?uuid=parameter is required - without it, Coolify doesn't know which app to deploy - Test deliveries may not trigger actual deployments but confirm connectivity
Files Updated
docs/gitea-coolify-auto-deploy.md- All port references updated to 8080CLAUDE.md- Webhook URL format and checklist added
Related
- Coolify container:
coolify(IP: 10.0.1.5 on coolify network) - Gitea container:
gitea-ho0cwgcwos88cwc48g84c0g8 - Both must be on the
coolifyDocker network