Documentation
Getting started
A small Rust Git service, managed from your browser.
cpgit hosts private repositories with native Git and OpenSSH. The browser console handles people, SSH keys, permissions and repository management. It runs on your own server, without CP Hub, Node or a separate application database.
Install the service
Start with the installation guide. One package includes the Rust executable, installer, configuration templates, systemd units and operator guides. Choose automatic HTTPS on ports 80/443 or a local HTTP port behind your existing HTTPS proxy.
You need a fresh Linux server with systemd, Git, OpenSSH, Python 3.11+, a dedicated mounted data filesystem and an SMTP relay. The installer checks these prerequisites; it does not provision them.
Make your first repository
- Open your configured HTTPS address and sign in with your administrator email and its emailed code.
- Create a repository in the console. Pick its display name and default branch.
- Add your public SSH key in SSH keys.
- Copy the repository's clone URL and use your usual Git tools to clone or push.
- Create accounts for your team and grant repository access.
Find the right guide
Repository management explains names, clone URLs and lifecycle. Import and export covers portable bundles. For operators, start with status and storage, then security and backup and recovery.
Preview and essentials update
The downloadable 0.1.0 Linux x86-64 preview includes the management console and fresh-host installer. This original archive is unchanged and predates the essentials update. Fresh-host installer acceptance remains pending.
The newer essentials update adds offline full-instance backup/recovery, an admin Status view, read-only file/commit browsing, session rotation and HSTS. These are available in the latest source, but are not included in the original downloadable preview. Guides identify features that require the update. Deployment of the update is not evidence of fresh-host installer acceptance.
cpgit is MIT licensed. It has no web editor, issues, pull requests, CI, LFS or branch protection.
Verified deployment, 15 November 2026
The essentials update, commit 79f053a, is running at git.codepilot.com, separately from this product website. Deployment checks verified trusted Let’s Encrypt HTTPS, HTTP-to-HTTPS redirects, secure cookie attributes, CSP and HSTS. The audited schema 4-to-5 upgrade preserved existing users, keys, tokens, memberships, denies, routes and retained Git refs. The separate web identity cannot access repository, policy, mail or operator data or the management socket.
External native Git push and advertised-ref checks passed, with the test repository’s original refs restored. SMTP sign-in delivery was accepted and marked delivered. The full authenticated public browser journey has not yet been verified. Certificate state survived a restart; renewal has not been independently rehearsed.
A production instance backup was encrypted, transferred to a separate host and restored into a fresh, network-isolated offline tree, with native Git fsck and SQLite validation. This verifies off-server retrieval and offline restoration; a public replacement-host boot/cutover and recurring backup/retention setup remain unverified. See the recovery evidence. This existing-service upgrade does not establish acceptance of the fresh-host installer or change the original preview download.