canopy

Clone

Get the source, run it with sample repositories in a minute, then point it at your own.

1. Get the source

git clone https://github.com/spinneydev/canopy

2. Try the demo

It needs only Go and git, and works on Linux, macOS and Windows.

cd canopy
# sample repositories in demo/repos
go run ./demo
# http://127.0.0.1:8080
go run . -config demo/canopy.toml

The demo has a C project with releases, merges and branches, a .dotfiles repository with symlinks, markdown notes with images, a nested repository, an empty one, and one hidden by the config.

3. Serve your own repositories

go build
./canopy -root ~/src -listen 127.0.0.1:8080

Every repository under -root shows up in the index, grouped by folder.

4. Put it on a server

One command from your machine sets up canopy, HTTPS, bot protection, pushing over SSH and a hardened server:

./install.sh root@git.example.com

See deploying for the whole walk-through, from a fresh VPS to backups.

Language
Go, plus the git binary
Runs on
Debian 13, Ubuntu 24.04 and 26.04, Fedora 44
Develop on
Linux, macOS, Windows
Licence
GPL-3.0 or later