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
canopy