Soft Serve is a self-hostable Git server for the command line that provides repository management and browsing over SSH.
The tool solves the problem of needing a lightweight, self-contained Git hosting solution that works entirely from the terminal. It operates as a single binary that can be deployed on any machine with Git installed, creating a data directory to store repositories, SSH keys, and configuration. Users interact with it through an SSH-accessible terminal user interface, eliminating the need for a web browser or complex infrastructure.
Soft Serve suits teams or individuals who want to host Git repositories without relying on external services and prefer command-line workflows. It works well for small to medium deployments where simplicity and self-hosting are priorities. The tool supports multiple access patterns: repositories can be cloned over SSH, HTTP, or the Git protocol, and it includes Git LFS support with both HTTP and SSH backends. Access control is managed through SSH public keys, with support for public and private repositories, collaborator management, and user access tokens. The server can create repositories on demand either through SSH commands or by pushing to a non-existent repository. Beyond hosting, it provides a browsable interface for exploring repositories, files, and commits over SSH, with the ability to print files with optional syntax highlighting and line numbers.
Development activity shows consistent engagement with the project. The team maintains active build and release workflows, providing binaries across multiple platforms and package formats. Nightly builds are available for those tracking development versions. The project includes comprehensive documentation and example deployments, with a public demo server accessible via SSH. The codebase is written in Go and actively maintained with regular updates to dependencies and features.