Skip to content

refringe/anchor-lfs

Anchor LFS

A lightweight, standalone Git LFS server written in Go that authenticates users against GitHub organisation and repository permissions.

Features

  • Full Git LFS Batch API compliance
  • File locking API for coordinating concurrent edits
  • GitHub-based authentication (checks pull/push permissions on your repo)
  • Multiple repository endpoints from a single instance
  • Local filesystem or S3-compatible object storage (AWS S3, Cloudflare R2, MinIO, etc.)
  • HMAC-signed transfer URLs with configurable expiration
  • SHA-256 integrity verification on upload
  • Configurable per-endpoint visibility (public/private)
  • Per-IP rate limiting with configurable token bucket
  • Docker-first deployment

Quick Start

Docker

cp config.toml.example config.toml
# Edit config.toml with your endpoints, then:
docker compose up -d

From Source

# Build
make build

# Edit config.toml, then run:
./bin/anchor-lfs

Documentation

Full documentation is available on the Wiki:

Development

make build        # Compile binary to bin/anchor-lfs
make run          # Build and run
make test         # Run tests with race detector
make test-cover   # Run tests with coverage report
make lint         # Run golangci-lint
make fmt          # Format code
make vet          # Run go vet
make vulncheck    # Vulnerability scan
make check        # Run all checks (fmt, lint, vet, vulncheck, test)
make tidy         # Run go mod tidy
make clean        # Remove build artefacts

Docker commands:

make docker-build   # Build Docker image
make docker-up      # Start containers
make docker-down    # Stop containers
make docker-logs    # Tail container logs

See CONTRIBUTING.md for details.

License

AGPL-3.0

About

A lightweight, standalone Git LFS server written in Go that authenticates users against GitHub organisation and repository permissions.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages