Configs2026年5月15日·1 分钟阅读

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.

Agent 就绪

这个资产可以被 Agent 直接读取和安装

TokRepo 同时提供通用 CLI 命令、安装契约、metadata JSON、按适配器生成的安装计划和原始内容链接,方便 Agent 判断适配度、风险和下一步动作。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Soft Serve
通用 CLI 安装命令
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

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产