Documentation

Git backend

Everlock includes a built-in Git service for repositories, site content, and other versioned data.

It speaks the normal Git smart protocol over SSH and over HTTPS, so you clone, fetch, and push with standard Git clients while Everlock handles storage, auth, and ref updates inside the same system.

What it is for

  • serves Git over SSH (git-ssh) and over HTTPS (git-http) using the standard smart protocol (clone, fetch, push)
  • browses repositories in a web UI on the same vhost git over HTTP is served on: trees and blobs with syntax highlighting, history, and a commit's diff
  • carries pull requests as refs under refs/pull/<slug>/<target>, opened by an ordinary push
  • starts a workflow run on a push that carries .forgejo/workflows/, and hands each job to a registered runner
  • stores incoming packs as compressed bundle files, preserving delta encoding
  • applies ref updates atomically after each push
  • enforces access grants per repository and per user
  • prunes unreachable objects daily with the git.gc job (maintenance)
  • reports what a repository costs and keeps only the history you ask it to

Git over HTTP and its web UI are served on the host named by the git.http.vhost server setting.

How it fits in the system

The Git backend is not isolated. Site stores are pushed through Git — a git push is how content reaches backend-site-http. System configuration is itself versioned. Git is the update path for all human-authored content.

Quick start

Enable the backends, create a repository, clone and push:

/backends enable git-ssh
/git repo create my-project
git clone ssh://admin@localhost:2222/my-project.git
cd my-project
git add .
git commit -m "initial"
git push

Sub-pages

  • Managing repositories — creating repos, naming rules, the SSH URL format, standalone repos vs site stores
  • Git over HTTP — enabling the HTTPS transport, clone URLs, credentials, and its limits
  • The repository web UI — what the browser surface serves, and what a visitor sees
  • Workflows — running builds on a push, registering a runner, secrets and variables
  • Pull requests — opening, reviewing, merging, and closing pull requests
  • Access control and grants — roles, access paths, granting and revoking access, users and groups
  • History retention — what a repository costs, truncating old history, and the daily retention job