dokploy-to-pangolin
A webhook service that registers new Dokploy applications with Pangolin automatically, creating the resource and the target so a fresh deploy is routed the moment it exists. Stop hand-writing a route for every app.
What happens
┌──────────┐ ┌─────────────────┐ ┌──────────┐
│ Dokploy │────────▶│ This service │────────▶│ Pangolin │
│ │ webhook │ │ API │ │
└──────────┘ └─────────────────┘ └──────────┘It receives the build notification from Dokploy, checks whether the domain already exists in Pangolin, creates the resource if it doesn’t, configures a resource target pointing at your main site, and routing starts working. That’s the entire job.
Features
Automatic resources
New domain deployed, new Pangolin resource created. No console visit.
Duplicate-safe
Intelligent domain matching, so redeploys don’t pile up duplicate resources.
Authenticated webhooks
Shared secret token on the incoming hook, validated before anything is created.
Fast and small
Bun + Hono, full TypeScript, graceful SIGINT/SIGTERM shutdown, 90%+ test coverage.
Duplicate cleanup
bun run reconcile reports resources sharing a host name and, with --apply,
deletes the newer copies and tidies their names. The same report and cleanup are
exposed over the API as GET/DELETE /duplicates.
Run it
docker run -p 3000:3000 \
-e WEBHOOK_SECRET=your-secret \
-e PANGOLIN_API_KEY=your-key \
orochibraru/dokploy-to-pangolinIt has to be reachable by Dokploy to receive webhooks. Deploying it through Dokploy and Pangolin works fine; running it separately just means making sure the configured URL resolves. Full environment reference is in the README.