1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Fossilrepo
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Self-hosted Fossil forge. One command, full-stack code hosting.**
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!

6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Fossilrepo is an omnibus-style installer for a production Fossil SCM server. It packages Fossil, Caddy (SSL/routing), Litestream (S3 backups), and a Django management layer into a single deployable unit.
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Think GitLab Omnibus, but for Fossil.
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Why Fossil?
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A Fossil repository is a single SQLite file containing the full VCS history, issue tracker, wiki, forum, and timeline. No external services. No rate limits. Portable -- hand the file to someone and they have everything.
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Single-file repos** -- each `.fossil` file is the entire project
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Built-in everything** -- issues, wiki, forum, timeline, web UI
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **No API rate limits** -- ideal for CI agents and automation
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Litestream replication** -- continuous backup to S3 for free
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## What You Get
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Component | Role |
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Fossil server** | Serves all repos from a single process |
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Caddy** | SSL termination, subdomain-per-repo routing |
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Litestream** | Continuous SQLite replication to S3/MinIO |
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Django management UI** | Repository lifecycle, user management, dashboards |
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Sync bridge** | Mirror Fossil repos to GitHub/GitLab (read-only) |
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| **Celery workers** | Background sync, scheduled tasks |
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Quick Start
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Clone the repo
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
git clone https://github.com/ConflictHQ/fossilrepo.git
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cd fossilrepo
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Start the full stack
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
make build
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Seed development data
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
make seed
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Open the dashboard
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
open http://localhost:8000
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Architecture
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Caddy (SSL termination, routing, subdomain per repo)
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
+-- fossil server --repolist /data/repos/
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
+-- /data/repos/
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- projecta.fossil
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- projectb.fossil
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
+-- ...
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Litestream -> S3/MinIO (continuous replication, point-in-time recovery)
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
New project = `fossil init`. No restart, no config change. Litestream picks it up automatically.
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## License
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
MIT License -- Copyright (c) 2026 CONFLICT LLC.
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!