awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
charmbracelet avatar

charmbracelet/soft-serve

0
View on GitHub↗
6,638 stars·201 forks·Go·mit·14 views

Soft Serve

Soft Serve is a self-hosted Git server that authenticates users via SSH public keys and provides a terminal-based user interface for browsing repositories, files, and commits. It stores repository data and configuration in either SQLite or PostgreSQL, and supports role-based access control with four permission levels for managing repository visibility and write access.

The server can be deployed via Docker or managed as a systemd service, and supports webhook notifications for push, collaborator, and branch or tag events to integrate with external automation workflows. It also enables server-side Git hook execution for custom pre- and post-push scripts, and provides HTTP access token generation for authenticated HTTP operations.

Additional capabilities include anonymous repository cloning over HTTP and the native Git protocol, Git LFS object serving, automatic repository creation on push, and remote repository mirroring from public remotes. Repository management—including creation, renaming, deletion, import, and collaborator administration—is performed through SSH command-line interactions.

Features

  • Git SSH Servers - Hosts Git repositories accessible via SSH for cloning, pushing, and browsing.
  • Git Hook Scripts - Executes custom scripts before or after pushes to automate tasks like continuous integration.
  • SQLite or PostgreSQL Storage - Stores all repository data and configuration in either SQLite or PostgreSQL databases.
  • Git Repository Managers - Creates, clones, and administers Git repositories with role-based access control over SSH.
  • Repository Administration Commands - Creates, renames, deletes, imports, and configures repositories via SSH commands.
  • Custom Script Executions - Provides server-side execution of custom scripts on push events with flexible configuration.
  • Self-Hosted Git Services - Sets up and manages a private Git server with SSH access, user authentication, and repository permissions.
  • Webhook-Enabled Git Servers - A Git server that registers webhooks and triggers custom scripts on push events for CI/CD automation.
  • Private Repository Access Controls - Controls repository access with four levels: no-access, read-only, read-write, and admin.
  • Role-Based Access Control - Assigns read-only, read-write, or admin access levels to users and restricts visibility.
  • SSH Authentication - Authenticates users via SSH public keys for secure server access.
  • SSH Key Management - Manages user access using SSH public key authentication with role-based permissions and key deduplication.
  • Push-Triggered Repository Creations - Automatically creates repositories when pushing to a non-existent remote.
  • Terminal-Based Repository Navigators - Browses Git repositories, files, and commit history through an interactive terminal user interface over SSH.
  • Webhook and Hook Automation - Registers webhooks and runs custom server-side Git hooks on push events for CI/CD automation.
  • Anonymous Repository Cloning - Provides read-only access to repositories through HTTP and the native Git protocol for anonymous cloning.
  • Collaborator Permission Managers - Adds collaborators to restrict write access to specific repositories.
  • Docker Container Deployments - Runs the Git server inside a Docker container with a mounted volume for persistent storage.
  • Git Large File Storage - Serves large files via Git LFS over both HTTP and SSH protocols.
  • Systemd Services - Manages the Git server as a background service that starts on boot and restarts on failure.
  • SSH Repository Browsers - Connects to a Git server via SSH and navigates repositories using keyboard-driven TUI controls.
  • Webhook Event Notifications - Posts notifications to external services for pushes, collaborator changes, and branch or tag events.
  • Event Webhook Management - Registers webhooks that notify external services when repository events like pushes occur.
  • Terminal User Interfaces - Provides an interactive terminal-based interface for browsing repositories, files, and commits.
  • Development Environments - Self-hostable Git server for the command line.
  • Development Tools - Self-hostable Git server for the command line.

Star history

Star history chart for charmbracelet/soft-serveStar history chart for charmbracelet/soft-serve

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does charmbracelet/soft-serve do?

Soft Serve is a self-hosted Git server that authenticates users via SSH public keys and provides a terminal-based user interface for browsing repositories, files, and commits. It stores repository data and configuration in either SQLite or PostgreSQL, and supports role-based access control with four permission levels for managing repository visibility and write access.

What are the main features of charmbracelet/soft-serve?

The main features of charmbracelet/soft-serve are: Git SSH Servers, Git Hook Scripts, SQLite or PostgreSQL Storage, Git Repository Managers, Repository Administration Commands, Custom Script Executions, Self-Hosted Git Services, Webhook-Enabled Git Servers.

Which projects share features with charmbracelet/soft-serve?

Projects with overlapping indexed features include: gogs/gogs — Gogs is a self-hosted Git service and collaborative code hosting platform. It functions as a version control manager… gitbucket/gitbucket — GitBucket is a self-hosted Git platform and version control hosting service that provides a web interface for managing… gogits/gogs — Gogs is a self-hosted Git service and repository manager written in Go. It provides a web-based hosting platform for… mastra-ai/mastra — Mastra is an orchestration framework designed for building, deploying, and managing autonomous AI agents and… takezoe/gitbucket — GitBucket is a self-hosted Git hosting platform and forge designed for managing private repositories. Built with the… dubinc/dub — This project is a comprehensive link management and marketing attribution platform designed for creating, tracking,…

Projects sharing features with Soft Serve

These projects share indexed features with Soft Serve. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gogs/gogsgogs avatar

    gogs/gogs

    47,606View on GitHub↗

    Gogs is a self-hosted Git service and collaborative code hosting platform. It functions as a version control manager that allows users to store and manage source code on their own infrastructure using SSH, HTTP, and HTTPS protocols. The platform distinguishes itself through comprehensive mirroring capabilities, acting as a tool to synchronize and mirror repositories and wikis from external hosting providers to a local instance. It is designed for secure, containerized deployment, supporting non-root user configurations to meet strict security requirements. Beyond basic hosting, it provides a

    Godockergitgo
    View on GitHub↗47,606
  • gitbucket/gitbucketgitbucket avatar

    gitbucket/gitbucket

    9,370View on GitHub↗

    GitBucket is a self-hosted Git platform and version control hosting service that provides a web interface for managing repositories, issues, and pull requests. Built with a Scala-based manager, it functions as a GitHub API compatible server, allowing it to integrate with external tools that rely on that specific industry schema. The platform distinguishes itself by integrating a Maven repository host for storing and retrieving Java build artifacts alongside source code. It also features a plugin architecture that enables the addition of custom logic and new functionality to the core system.

    Scalagitgitbucketscala
    View on GitHub↗9,370
  • gogits/gogsgogits avatar

    gogits/gogs

    47,627View on GitHub↗

    Gogs is a self-hosted Git service and repository manager written in Go. It provides a web-based hosting platform for storing version-controlled repositories with a focus on lightweight deployment across various operating systems and hardware architectures. The system distinguishes itself through a single-binary deployment model, which simplifies installation. It also supports repository migration, allowing users to move existing codebases and documentation from other hosting services into a self-managed environment. The platform covers collaborative code development through pull requests and

    Go
    View on GitHub↗47,627
  • mastra-ai/mastramastra-ai avatar

    mastra-ai/mastra

    21,221View on GitHub↗

    Mastra is an orchestration framework designed for building, deploying, and managing autonomous AI agents and multi-agent systems. It provides a comprehensive suite of primitives for creating resilient AI applications, including durable workflow orchestration, event-driven agent loops, and semantic memory management. By integrating these core components, the platform enables developers to build complex, multi-step processes that can reason about goals and execute tasks without manual intervention. The framework distinguishes itself through its focus on observability and secure, isolated execut

    TypeScriptagentsaichatbots
    View on GitHub↗21,221
  • Compare all 30 related projects→