finds.dev← search

// the find

yyx990803/pod

★ 1,335 · JavaScript · MIT · updated Oct 2020

Git push deploy for Node.js

Pod is a git-push deployment tool for Node.js apps on a VPS, wrapping pm2 for process management and git hooks for deploys. You push to a bare repo on the server, a post-receive hook runs npm install and restarts the app. Aimed at solo developers hosting personal projects on a single Linux box.

The .podhook escape hatch is well thought out — non-zero exit aborts the restart and hard-resets the working tree, which is the right behavior. GitHub/GitLab/Bitbucket webhook support for remote repos means you can treat a hosted repo as the push target instead of SSHing to your VPS. The config file passes arbitrary pm2 options through directly, so cluster mode, custom log paths, and restart limits all work without pod needing to know about them. Test coverage is explicitly tracked at 95% and tests include a CLI integration script, which is more discipline than most deploy tools this size show.

Last commit was October 2020 and it targets Node >= 0.10.x — the ecosystem has moved on considerably, and pm2 itself has had major releases since. No HTTPS or token auth on the webhook endpoint means anyone who can reach port 19999 can trigger deploys; the README's default credentials are admin/admin. There's no rollback command — the .podhook hard-reset is the only recovery path, and it only fires if the hook itself exits non-zero. Single-server only by design, which is fine for personal use but means you'll outgrow it the moment you need more than one box.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →