charmbracelet/soft-serve — explained in plain English
Analysis updated 2026-06-24
Host private code repositories on your own server without using GitHub or GitLab.
Give a small team SSH-based access to shared repositories with per-user permissions and access tokens.
Browse repository contents, commit history, and files from a terminal over SSH without a web browser.
Store large binary files alongside your Git repositories using built-in Git LFS support.
| charmbracelet/soft-serve | yuin/gopher-lua | dgraph-io/ristretto | |
|---|---|---|---|
| Stars | 6,905 | 6,897 | 6,895 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a server or VPS and SSH key configuration, use Postgres instead of the default SQLite for production durability.
Soft Serve is a self-hosted Git server that you run on your own machine or server. Think of it as your private version of a code hosting site, but one you control entirely and access mainly through a terminal. The standout feature is a text-based interface you can browse over SSH, the protocol that lets you securely connect to remote computers. You can scroll through repositories, read files, and view commit history without ever opening a web browser. Cloning a repository works over SSH, plain HTTP, or the Git protocol, so other people can pull code from your server in whatever way their tools support. Setting it up is straightforward. You install a single program called "soft", run "soft serve" in a terminal, and the server starts. It creates a local folder to store repositories, SSH keys, and its database. On first launch, you point it at your own SSH public key so you become the admin. Access control covers the basics most teams need: SSH key authentication, public and private repositories, per-user collaborator permissions, and access tokens. Anonymous access can be switched on or off. There is also support for Git LFS, which is a way of storing large files alongside a repository without bloating the repository itself. Configuration lives in a YAML file and covers the SSH server, HTTP server, Git daemon, and database. The database can be SQLite for simple setups or Postgres for something more durable. A container image is available if you prefer running it that way. Overall this is a lightweight, self-contained Git hosting tool aimed at developers who want to keep their code on their own infrastructure rather than a third-party service.
Soft Serve is a self-hosted Git server you run on your own machine, with a browsable terminal interface over SSH, per-user access controls, Git LFS support, and SQLite or Postgres storage.
Mainly Go. The stack also includes Go, SQLite, Postgres.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.