Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsMay 15, 2026·3 min de lecture

Soft Serve — Self-Hosted Git Server for the Command Line

Soft Serve is a self-hostable Git server by Charm that runs as a single binary and provides a beautiful TUI, SSH access, Git LFS support, and a built-in web interface for browsing repositories.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Soft Serve
Commande CLI universelle
npx tokrepo install f620d708-5016-11f1-9bc6-00163e2b0d79

Introduction

Soft Serve is a lightweight, self-hosted Git server built by the Charm team, the makers of Bubble Tea, Glow, and other popular terminal tools. It is distributed as a single binary called soft and provides Git hosting over SSH with a beautiful terminal user interface for browsing repos, reading READMEs, and managing access.

What Soft Serve Does

  • Hosts Git repositories accessible over SSH with public key authentication
  • Provides a browsable TUI via SSH for viewing repos, commits, branches, and files
  • Serves a read-only web interface for browser-based repository browsing
  • Supports Git LFS for storing large files over both SSH and HTTP
  • Manages users, access control, and repository settings via SSH admin commands

Architecture Overview

Soft Serve is written in Go and uses the Wish library (SSH apps in Go) for its SSH server, Bubble Tea for the TUI, and Glamour for Markdown rendering. Repositories are stored as bare Git repos on disk. The server listens on three ports: SSH for Git operations and TUI access, HTTP for the web UI, and a stats port. Authentication is handled via SSH public keys with configurable per-repo access levels.

Self-Hosting & Configuration

  • Run soft serve to start the server; it creates a config and data directory on first launch
  • Configuration file at ~/.soft-serve/config.yaml controls ports, repo paths, and access rules
  • Add SSH public keys via the admin interface to grant push access to users
  • Repos are created by pushing to a new path: git push ssh://host:23231/new-repo
  • Docker deployment uses a volume mount for persistent storage of repos and config

Key Features

  • Single binary deployment with zero external dependencies
  • Beautiful TUI with syntax-highlighted code viewing and Markdown rendering
  • Git LFS support over both SSH and HTTP protocols
  • Webhooks for triggering CI/CD or notifications on push events
  • Mirror mode for pulling from upstream Git repositories

Comparison with Similar Tools

  • Gitea — Full-featured self-hosted Git forge with web UI, issues, PRs; heavier but more complete
  • Gogs — Lightweight self-hosted Git service; similar to Gitea but less actively maintained
  • GitLab — Enterprise Git platform; far more features but much heavier resource requirements
  • Forgejo — Community fork of Gitea; similar feature set with a governance-focused community
  • cgit — Minimal C-based Git web frontend; read-only, no SSH hosting or TUI

FAQ

Q: How is Soft Serve different from Gitea or Forgejo? A: Soft Serve is intentionally minimal. It focuses on Git hosting with SSH access and a TUI, without issues, pull requests, or CI. It is ideal for personal projects or small teams that want a lightweight server.

Q: Does Soft Serve support private repositories? A: Yes. Access control is managed per-repo via SSH public keys. You can set repos as read-only, read-write, or admin for each user.

Q: Can I use Soft Serve with existing Git clients? A: Yes. Soft Serve speaks standard Git protocols over SSH. Any Git client that supports SSH remotes works without changes.

Q: Is there a web interface? A: Yes. Soft Serve includes a read-only web UI for browsing repositories, viewing files, and reading READMEs in a browser.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires