3.5 KiB
3.5 KiB
title: Soft Serve created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, git, app-marathon3-batch-c] confidence: high contested: false sources: [https://selfh.st/apps/?tag=git&app=soft-serve]
🍒 Soft Serve
Le serveur Git minimaliste et TUI-first de l'écosystème Charm — écrit en Go par Charm.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | charm.sh |
| GitHub | charmbracelet/soft-serve |
| License | MIT |
| Langage | Go |
| Étoiles GitHub | 5k ⭐ |
| Catégorie | [[cat-git |
📝 Description
Soft Serve est un serveur Git léger, rapide et TUI-first (Terminal UI) écrit en Go par l'équipe Charm (Bubble Tea, Lip Gloss). HTTP/SSH server, anonymous read support, admin via SSH, web UI, repo management, hooks, configuré par YAML. Différence vs Gitea/GitLab : binaire unique Go, pas d'UI web complexe, TUI magnifique, philosophically "just Git", zero JavaScript, plus rapide à mettre en place. Pour qui : devs qui vivent dans le terminal, dotfiles, micro-team labs, présentations SSH, kiosks Git, intégrateurs minimalistes.
🚀 Installation
Binaire (recommandé)
# macOS
brew install charmbracelet/tap/soft-serve
# Linux
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/charm.gpg
echo "deb [signed-by=/usr/share/keyrings/charm.gpg] https://repo.charm.sh/apt * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install soft-serve
# Démarrer
soft serve
Docker Compose
version: '3.8'
services:
soft-serve:
image: ghcr.io/charmbracelet/soft-serve:latest
container_name: soft-serve
restart: unless-stopped
ports:
- "23231:23231" # SSH
- "23232:23232" # HTTP + Web UI
volumes:
- soft-serve-data:/data
- ./config.yaml:/data/config.yaml:ro
volumes:
soft-serve-data:
Configuration config.yaml
host: 0.0.0.0
http_listen_addr: 0.0.0.0:23232
ssh_listen_addr: 0.0.0.0:23231
public_key: ssh-rsa AAAAB3... # clé du serveur
private_key: /data/.ssh/soft_serve_server_ed25519
repo_path: /data/repos
data_path: /data/db
log_path: /data/soft-serve.log
anonymous_access: true
🔄 Alternatives
Open Source
- app-gitea — Git platform complet (lourd, web UI riche)
- Gitolite — Git server SSH-only en Perl (legacy)
- Kallithea — Mercurial + Git server Python
- Fossil — SCM distribué mono-binaire (D. Richard Hipp)
- Radicle — P2P Git (crypto, décentralisé)
- OneDev — DevOps platform Java complète
Propriétaires
- GitHub Enterprise — référence industry
- GitLab EE — self-hosted premium
- Bitbucket Data Center — Atlassian
- AWS CodeCommit — Git managé Amazon
🔐 Sécurité
- Auth SSH : clés publiques, tokens par utilisateur
- Anonymous read : configuré globalement (par repo possible)
- Hooks pre-push : scripts de validation
- TUI admin : opérations sensibles via SSH direct
- Pas de plugin tiers : surface d'attaque minimale (binaire Go)
- HTTP basic : sur la web UI, à coupler HTTPS obligatoire
📚 Ressources
Pages Liées
- cat-git — Catégorie Git
- app-gitea — Alternative complète
- app-termix — Web SSH client