create-vordr
v1.1.1
Published
Auto-deployment webhook setup
Maintainers
Readme
create-vordr
NPM installer for vordr webhook deployment server.
Install
npx create-vordr
cd vordr-server
./tools/start.shWhat You Get
vordr-server/
├── docker/ # Docker config
├── scripts/ # Your deployment logic
│ ├── init.sh # Runs after git pull
│ ├── shutdown.sh # Runs before git pull
│ ├── post-init.sh # (optional) Post-deployment hook
│ └── run-tests.sh # (optional) Quality gate
├── tools/
│ ├── start.sh # Server management
│ └── generateNewSecret.sh
├── _project/ # Your repo clones here
├── logs/
├── server.js
└── .envConfiguration
Edit .env or use VORDR_* environment variables during install.
See envexample.vordr.md for all options.
Non-Interactive Install
[email protected]:user/repo.git \
VORDR_WEBHOOK_PORT=3000 \
VORDR_VPN_USER=vpn_user \
VORDR_VPN_PASS=vpn_pass \
npx create-vordrAvailable vars:
VORDR_GIT_REPO(required for non-interactive)VORDR_WEBHOOK_PORT(required for non-interactive)VORDR_VPN_USER(required for non-interactive)VORDR_VPN_PASS(required for non-interactive)VORDR_GITHUB_BRANCH(default:master)VORDR_VPN_PROVIDER(default:protonvpn)VORDR_WEBHOOK_SECRET(auto-generated if not provided)VORDR_APP_PATH(default:../_project)VORDR_SCRIPTS_PATH(default:${APP_PATH}/scripts)
Setup Steps
Install:
npx create-vordr cd vordr-serverCustomize scripts:
nano scripts/init.sh # Add your deploy commands nano scripts/shutdown.sh # Add your teardownStart server:
./tools/start.shConfigure GitHub webhook:
- Go to repo settings → Webhooks → Add webhook
- URL:
http://your-server:PORT/webhook - Secret: (from
.env) - Content type:
application/json - Events: Push only
Test:
git push ./tools/start.sh logs # Watch deployment
Deployment Scripts
init.sh Examples
Docker Compose:
#!/bin/bash
set -e
cd /app
docker compose up -d --buildNode.js:
#!/bin/bash
set -e
cd /app
npm install && npm run build
pm2 restart appStatic site:
#!/bin/bash
set -e
cd /app
rsync -av . /var/www/html/shutdown.sh Examples
Docker Compose:
#!/bin/bash
set -e
cd /app
docker compose downNode.js:
#!/bin/bash
set -e
pm2 stop appStatic site:
#!/bin/bash
# Usually emptyCommands
./tools/start.sh # Start server
./tools/start.sh stop # Stop server
./tools/start.sh restart # Restart server
./tools/start.sh logs # View logs
./tools/generateNewSecret.sh # Rotate webhook secretTroubleshooting
Webhook not triggering:
- Check secret matches:
grep WEBHOOK_SECRET .env - Test endpoint:
curl http://your-server:PORT/health - Check GitHub webhook delivery logs
Git operations failing:
- Verify SSH keys:
docker exec -it vordr ssh -T [email protected] - Check VPN:
docker logs gluetun
Self-Updating Variant
For managing vordr itself, see create-vordr-updater.
License
MIT
