Soft Serve is a self-hosted Git server that authenticates users via SSH public keys and provides a terminal-based user interface for browsing repositories, files, and commits. It stores repository data and configuration in either SQLite or PostgreSQL, and supports role-based access control with four permission levels for managing repository visibility and write access.
The server can be deployed via Docker or managed as a systemd service, and supports webhook notifications for push, collaborator, and branch or tag events to integrate with external automation workflows. It also enables server-side Git hook execution for custom pre- and post-push scripts, and provides HTTP access token generation for authenticated HTTP operations.
Additional capabilities include anonymous repository cloning over HTTP and the native Git protocol, Git LFS object serving, automatic repository creation on push, and remote repository mirroring from public remotes. Repository management—including creation, renaming, deletion, import, and collaborator administration—is performed through SSH command-line interactions.