Radicle is a peer-to-peer, decentralized code collaboration protocol built on Git, created as a sovereign alternative to centralized platforms like GitHub. It gives users full ownership of their data and the ability to work offline.
Key Concepts:
- Nodes: Every user runs a node; no central servers.
- Identity: Based on cryptographic key pairs (Ed25519), no email required.
- Repositories: Published via
rad init. Public repos are seeded across the network; private repos are only visible to authorized peers via an allow list. - Collaboration: Uses COBs (Collaborative Objects) — issues and patches stored as Git objects, signed, and synced via gossip protocol.
- Patches: Created by pushing to
refs/patches. Supports revisions, comments, and merging. - Privacy: Private repos are invisible to unauthorized nodes. Access controlled via allow lists.
- Tor Integration: Nodes can be configured as Tor onion services for anonymity, NAT traversal, and censorship resistance.
Seeder Guide Summary:
Seed nodes are always-on servers that ensure repository availability. Key points:
- Seeding policies: Permissive (
allowall repos) or selective (blockby default, manually allow specific repos viarad seed) - Configuration: Set
externalAddresses(DNS:port) and seeding policy in~/.radicle/config.json - Systemd setup: Use provided unit files to run
radicle-nodeandradicle-httpdas services under a dedicatedseeduser - HTTP daemon: Enables web browsing of repositories via JSON API; pair with Caddy for HTTPS
- DNS-SD: Optional DNS-based service discovery using SRV, TXT, and PTR records
Commands Overview:
rad auth– create identityrad init– publish a reporad clone/rad seed– replicate reposrad issue/rad patch– manage issues/patchesrad id update– manage delegates and private repo accessrad node– control node status and connectionsrad seed/rad block/rad unseed– manage seeding policies- Tor configs via
rad config edit
Radicle is local-first, offline-capable, and designed for resilient, user-controlled collaboration. Seed nodes strengthen the network by providing reliable, always-available access to repositories.
Sources: