Git Manager
Vinza Store Git Manager
Git Manager
Free Tools
gitversion-controldeployrepositorygithubgitlab
Get this app
Free
Available to all users. No license needed.

Git Manager adds a Git panel to each website's detail page, so a site's document root can be managed as a working copy from the control panel. From that page you can generate and view an SSH deploy key for the site's Linux user, clone a repository (into an empty root, into an existing one, or replacing what is there), set or change the remote, pull, fetch, inspect status, browse commit history, list and check out branches, and discard local changes. Every Git command runs through the root agent as the site's owning Linux user, on the node that actually serves the site — never as root and never on the panel host when the site lives elsewhere.

Version 1.1 added push-to-deploy: enabling it on a site mints an unguessable webhook URL at /git-manager/webhook/<token>/ plus a shared secret, which you paste into GitHub, GitLab, or Bitbucket. Incoming pushes are authenticated by GitHub's HMAC-SHA256 X-Hub-Signature-256 or GitLab's X-Gitlab-Token where the provider sends one; Bitbucket and manual callers are gated only by the URL token, since Bitbucket signs nothing. A pull only runs when the pushed branch matches the site's deployed branch, and a ten-second per-site cooldown collapses push bursts and provider retries into a single pull. Sites with no assigned owner are refused outright rather than falling back to a root pull. The plugin needs the git binary present on the server; it exposes no sidebar entry, because everything it does is scoped to one website at a time.

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
Permissions
websites.manage
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.1.1 — Fix: the push-to-deploy webhook shipped as a urls.py, which made the framework serve the store page instead of this plugin's admin UI. The route moved to get_urls(); the page is back and the webhook still works. 1.1.0 — Auto-deploy webhook: a public per-site endpoint (/git-manager/webhook/<token>/) that runs git pull on push. Verifies GitHub HMAC-SHA256 signatures, GitLab secret tokens, and Bitbucket via the unguessable URL token; only pulls when the pushed branch matches the deployed one. Enable/regenerate/disable from the site's Git panel — this was previously advertised but unimplemented, now shipped. 1.0.0 — Per-website clone/pull/fetch/status/log, branch checkout, SSH deploy-key management.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/git-manager/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "git-manager",
  "version": "1.1.2",
  "download_url": "..."
}