
Self-hostable Git server with SSH-accessible TUI, HTTP/SSH cloning, and repository management features
Soft Serve is a self-hostable Git server that provides repository hosting and management through SSH, HTTP, and Git protocols. The tool creates a complete Git hosting environment with a terminal user interface accessible over SSH, allowing users to browse repositories, view files, and navigate commits without a web browser.
The server supports multiple access methods including SSH key authentication, anonymous access controls, and user access tokens. Repository operations include creating repos on demand via SSH or git push, managing collaborators through SSH public keys, and setting repositories as public or private. Git LFS is supported with both HTTP and SSH backends for handling large files.
Soft Serve runs as a single binary that creates a data directory containing repositories, SSH keys, and database storage. It supports both SQLite and PostgreSQL databases and can be configured through YAML files or environment variables. The tool includes SSH command-line interface for server management, allowing administrators to control users, access permissions, and repository settings through SSH commands.
# via Homebrew
brew install charmbracelet/tap/soft-serve
# via Go
go install github.com/charmbracelet/soft-serve/cmd/soft@latest
# via Arch Linux
pacman -S soft-serve
