MCPSERV.CLUB
Fossil

Fossil

Self-Hosted

All-in-one distributed SCM with built‑in web tools

Stale(40)
0stars
0views

Overview

Discover what makes Fossil powerful

Fossil is a self‑contained, single‑binary system that bundles distributed version control (DVCS), issue tracking, wiki, forum, and lightweight chat into one executable. From a developer’s point of view, it functions as an all‑in‑one platform that can be dropped into any environment without external dependencies. The core of Fossil is written in **C** and compiled to a single statically linked binary, which means there are no runtime libraries or package managers required once the executable is in place. The application exposes a web interface that is both *themeable* and *extensible*, allowing developers to tailor the look‑and‑feel while still leveraging the built‑in pages for situational awareness.

Language & Runtime

Web Server

Data Storage

Networking

Overview

Fossil is a self‑contained, single‑binary system that bundles distributed version control (DVCS), issue tracking, wiki, forum, and lightweight chat into one executable. From a developer’s point of view, it functions as an all‑in‑one platform that can be dropped into any environment without external dependencies. The core of Fossil is written in C and compiled to a single statically linked binary, which means there are no runtime libraries or package managers required once the executable is in place. The application exposes a web interface that is both themeable and extensible, allowing developers to tailor the look‑and‑feel while still leveraging the built‑in pages for situational awareness.

Architecture

  • Language & Runtime: C (C99‑compatible) compiled with a single pass to produce a self‑contained binary.
  • Web Server: An embedded HTTP server built into the executable, capable of serving static pages and handling dynamic requests for the web UI.
  • Data Storage: A single SQLite database file stores all repository data, metadata, and web content. This eliminates the need for a separate DBMS and simplifies deployment.
  • Networking: Fossil uses standard HTTP/HTTPS for its web interface, and supports push and pull operations via the same protocol. The DVCS layer uses a custom, efficient serialization format that is tightly coupled to SQLite.
  • Extensibility: Plugins are written in C and loaded at runtime through a simple API that exposes hooks for repository events, web requests, and UI rendering. The plugin system is documented and can be used to add custom authentication backends or integrate with external CI/CD pipelines.

Core Capabilities

  • Distributed Version Control: Full DVCS features comparable to Git or Mercurial, but with a single repository file and no need for external tooling.
  • Issue Tracking & Wiki: Built‑in bug tracking, wiki pages, and technotes that are all stored in the same SQLite database.
  • Web Interface: Themeable, responsive UI with support for embedded documentation, code diffs, and graph visualizations.
  • API & Webhooks: REST‑like endpoints for repository operations, and configurable webhooks that can trigger external services on events such as commits or issue updates.
  • Email Alerts & Chat: Lightweight email notification system and an IRC‑style chat that runs over WebSockets, all integrated into the same process.

Deployment & Infrastructure

Because Fossil is a single binary that relies only on SQLite, deployment is trivial. A copy of the executable and its database file can be placed on any Linux, macOS, or Windows machine. It is CPU‑light (typically <10 % of a core on a 2 GHz system) and memory‑efficient (≈20 MB RAM for a moderate project), making it suitable for low‑cost VPS instances or even Raspberry Pi deployments. Fossil can be containerized in Docker with a minimal alpine image, and it supports automated GitHub mirroring for teams that prefer to keep a primary repository on the cloud while maintaining an on‑prem copy.

Integration & Extensibility

  • Plugins: C modules that can hook into repository events, modify the web UI, or implement custom authentication schemes.
  • Webhooks: JSON payloads sent to arbitrary URLs on push, pull request creation, or issue changes.
  • REST API: Although not a full‑blown REST service, Fossil exposes endpoints that can be consumed by scripts or other applications for automated workflows.
  • External Authentication: Integration with LDAP, OAuth, or custom token systems via the plugin API.

Developer Experience

The configuration is driven by a simple fossil.conf file and command‑line flags. The built‑in documentation (the very website you’re reading) is versioned alongside the project, and the help system (fossil help) provides concise command usage. The community around Fossil is active on its own forum, and the source code is hosted in a self‑hosted Fossil repository, so developers can contribute directly. Licensing is permissive (MIT/Apache‑2.0 hybrid), allowing commercial use without copyleft obligations.

Use Cases

  • Small Open‑Source Projects: One‑click deployment on a cheap VPS or Raspberry Pi, with an integrated website, issue tracker, and wiki.
  • Enterprise Internal Repos: Self‑hosted mirror of a GitHub repository that preserves all metadata and provides an internal web portal.
  • Continuous Integration Pipelines: Trigger webhooks on commits to start CI jobs; the lightweight chat can serve as a status dashboard.
  • Educational Environments: Provide students with a single binary to manage assignments, code reviews, and documentation in one place.

Advantages

  • Zero External Dependencies: A single binary plus SQLite eliminates the need for a database server or package manager.
  • Low Footprint: Ideal for constrained environments such as IoT devices or low‑cost cloud instances.
  • Unified Platform: DVCS, project management, and web hosting in one process reduces operational complexity.
  • Extensibility: C‑based plugin API gives developers fine‑grained control over repository behavior and UI.
  • Permissive Licensing: No copyleft concerns, making it safe for proprietary internal tooling.

Fossil’s design prioritizes simplicity and reliability while still offering a rich feature set that developers can extend, automate, or embed into larger workflows. Its single‑binary nature and embedded SQLite database make it a compelling choice for teams that value minimal operational overhead

Open SourceReady to get started?

Join the community and start self-hosting Fossil today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
BSD-2-CLAUSE-FREEBSD
Stars
0
Technical Specs
Pricing
Open Source
Database
SQLite
Supported OS
LinuxmacOSWindows