A lightweight, standalone Git LFS server written in Go that authenticates users against GitHub organisation and repository permissions.
- 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
cp config.toml.example config.toml
# Edit config.toml with your endpoints, then:
docker compose up -d# Build
make build
# Edit config.toml, then run:
./bin/anchor-lfsFull documentation is available on the Wiki:
- Installation: Building from source and system requirements
- Docker: Container deployment with Docker Compose
- Configuration: All global options, endpoints, and environment variables
- Storage Backends: Local filesystem and S3-compatible storage setup
- Authentication: GitHub and GitHub Enterprise authentication
- Git LFS Client Setup: Configuring your Git client
- File Locking: Coordinating concurrent edits
- Reverse Proxy: Running behind nginx, Caddy, or Traefik
- Security: Security model and best practices
- API Reference: Endpoint routes and protocol details
- Troubleshooting: Common issues and solutions
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 artefactsDocker commands:
make docker-build # Build Docker image
make docker-up # Start containers
make docker-down # Stop containers
make docker-logs # Tail container logsSee CONTRIBUTING.md for details.