Skip to content

Documentation

Enroute is a fast, programmable Git server that is easy to operate. It is built like a modern database: compute is separate from storage, and repositories are in an object store. Enroute handles Git over HTTP, Git data, and a gRPC API. Your application owns repository names, users, permissions, and policy.

Choose a starting point

If you need to…Read…
Run Enroute locallyQuickstart
Build a code-hosting applicationGuide
Understand responsibilities and boundariesConcepts
Assess the current limitationsLimitations

Guides

Build a code-hosting application is a seven-part TypeScript and Next.js tutorial. It creates an application that can create repositories, serve Git traffic, and display files, history, and diffs. The same API and hook contract work with any stack that supports gRPC and HTTP.

After the tutorial, use Patterns for common product features such as branch protection, merge requests, CI, and mirroring.

Concepts

See Concepts for the data model, interfaces, hooks, and storage design.

Operating Enroute

See Operate Enroute for deployment, configuration, security, storage, cluster care, and observability. To choose between one node, one ledger with compute nodes, and a replicated ledger, see Deployment profiles.

Reference

See Reference for API, hook, protocol, configuration, and limitation details.

Architecture

See Architecture for how Enroute works inside. The design pages are the overview, consensus, ledger and compute, storage, write path, read path, serving, lifecycle, and maintenance. Jepsen tests describes how the suite tests consistency under faults.