deploymate-cli
v1.0.2
Published
Zero-config Docker CI/CD — SSH key setup + GitHub Actions in one command
Maintainers
Readme
npx deploymate-cliHow it works
┌─────────────────────────────────────────────────────────┐
│ deploymate v1.x.x │
├─────────────────────────────────────────────────────────┤
│ │
│ ◇ SSH host → 1.2.3.4 │
│ ◇ SSH port → 22 │
│ ◇ Username → root │
│ ◆ Auth → ● Password ○ SSH key file │
│ ◇ Password → •••••••••• │
│ ◇ GitHub token → ghp_•••••••••••••••• │
│ ◆ Repository → ● Use existing ● Create new │
│ ◇ Deploy path → /opt/my-app │
│ │
├─────────────────────────────────────────────────────────┤
│ Summary │
│ Server 1.2.3.4:22 (root) │
│ Repo github.com/you/my-app │
│ Path /opt/my-app │
├─────────────────────────────────────────────────────────┤
│ ◇ Proceed? Yes │
│ │
│ ✓ Pushing project to GitHub │
│ ✓ Generating RSA key pair │
│ ✓ Uploading public key to server │
│ ✓ Injecting GitHub secrets │
│ ✓ Committing deploy.yml │
│ │
│ └─ ✓ All done! CI/CD is live. │
│ Actions → https://github.com/you/my-app/actions │
└─────────────────────────────────────────────────────────┘What it automates
Before deploymate After deploymate
────────────────── ──────────────────────────
1. Generate SSH keypair → ✓ Done in memory
2. Copy pubkey to server → ✓ Uploaded via SSH
3. Add 4 GitHub secrets → ✓ Injected via API
4. Write deploy.yml → ✓ Committed to repo
5. Push & debug → ✓ Live on first pushEvery push to main runs:
git fetch + reset --hard origin/main
docker compose down
docker compose up -d --buildRequirements
Local Node.js 18+
Server SSH access · Docker · Docker Compose
GitHub Personal access token (repo + secrets scopes)Install
# Run directly (recommended)
npx deploymate-cli
# Or install globally
npm install -g deploymate-cli && deploymateSecurity model
┌──────────────────────────────────────────────────────┐
│ Password used once to bootstrap key auth │
│ never stored, logged, or re-sent │
│ │
│ Private key lives in memory only │
│ goes straight into GitHub secret │
│ │
│ Secrets encrypted with libsodium box seal │
│ as required by the GitHub API │
│ │
│ After setup key-based SSH only, no passwords │
└──────────────────────────────────────────────────────┘Roadmap
[ ] Multi-server (staging + production)
[ ] Non-Docker projects (npm run build / raw git pull)
[ ] Rollback to previous commit
[ ] Server health check (CPU · RAM · containers)
[ ] GitLab / Bitbucket support
[ ] Teardown command (remove secrets + workflow)PRs welcome — see CONTRIBUTING.
Contributing
git clone https://github.com/Benyaminrmb/deploymate
cd deploymate && npm install && npm run devLicense
MIT © Benyamin Rmb
