Skill Detail

Soft Serve Self-Hosted Git Server with SSH TUI

Soft Serve is a self-hostable Git server by Charmbracelet that provides a beautiful terminal UI accessible over SSH. It supports cloning over SSH, HTTP, and Git protocol, Git LFS, access control with SSH keys, and on-demand repository creation.

Developer ToolsMulti-Framework

Soft Serve is a self-hostable Git server by Charmbracelet that provides a beautiful terminal UI accessible over SSH. It supports cloning over SSH, HTTP, and Git protocol, Git LFS, access control with SSH keys, and on-demand repository creation.

Developer Tools Multi-Framework Security Reviewed
INSTALL WITH ANY AGENT
npx skills add agentskillexchange/skills --skill soft-serve-self-hosted-git-server-ssh-tui Copy

Soft Serve is an open-source, self-hosted Git server built by the Charmbracelet team, known for their elegant terminal tools. It provides a complete Git hosting solution in a single binary, with a standout feature: a beautiful terminal user interface accessible directly over SSH.

Users can browse repositories, view files with syntax highlighting and line numbers, explore commit history, and navigate directory trees โ€” all through an SSH connection. The command ssh git.charm.sh demonstrates the experience on the project’s public demo server. Repository browsing commands include repo tree, repo blob, and repo log.

Soft Serve supports cloning repositories over SSH, HTTP, and the native Git protocol. It includes Git LFS support with both HTTP and SSH backends, making it suitable for projects with large binary files. Repositories can be created on demand simply by pushing to a new path.

Access control is handled through SSH public keys. Repositories can be public or private, collaborators can be added via their SSH keys, and user access tokens provide API authentication. Anonymous access can be allowed or disallowed per configuration. An initial admin key is set via environment variable on first run.

Installation is available via Homebrew, apt, yum, Nix, winget, Docker, and Go install. Configuration lives in a YAML file within the data directory. Systemd service units are included with the packaged distributions. The single-binary architecture makes deployment straightforward on any server.