Overview
This template provides a production‑ready Radicle instance as a Monk runnable. You can:- Run it directly to get a managed peer-to-peer code collaboration platform
- Inherit it in your own infrastructure to add decentralized Git hosting
What this template manages
- Radicle node (seed node)
- Radicle HTTP API
- Git repository hosting
- Peer-to-peer networking
- Identity and authentication
- Web UI on port 8080 (httpd)
Quick start (run directly)
- Load templates
- Run Radicle seed node
- Customize configuration (recommended via inheritance)
variables. To customize node configuration:
- Preferred: inherit and override variables as shown below.
- Alternative: fork/clone and edit the
variablesinradicle.yaml, thenmonk load MANIFESTand run.
- HTTP API:
http://localhost:8080 - Connect with Radicle CLI (
rad)
Configuration
Key variables you can customize in this template:${monk-volume-path}/radicle on the host.
Use by inheritance (recommended for teams)
Inherit the Radicle seed node in your infrastructure for decentralized Git hosting. Example:Ports and connectivity
- Service:
radicle-httpdon TCP port8080(HTTP API) - Service:
radicle-nodeon TCP port8776(P2P network) - Git over HTTP: accessible via HTTP API
- From Radicle CLI, connect to seed node using node ID and address
Persistence and data
- Data path:
${monk-volume-path}/radicle:/app/.radicle - Git repositories: stored in Radicle storage
- Node identity and configuration persisted in data path
Features
- Peer-to-Peer: No central server, censorship-resistant
- Git Native: Built on Git, compatible with existing workflows
- Cryptographic Identity: Key-based authentication
- Offline-First: Work locally, sync when connected
- Social Coding: Issues, patches, and discussions
- Seed Nodes: Public nodes for discovery and availability
- Secure: End-to-end encrypted, signed commits
Radicle CLI Usage
Install Radicle CLI and connect to your seed:Seed Node
Seed nodes provide:- Discovery: Help peers find each other
- Availability: Always-online repository hosting
- Replication: Backup copies of repositories
- HTTP Gateway: Web access to repositories
Identities
Radicle uses cryptographic identities:- Device ID: Unique identifier for each device
- Project ID: Unique identifier for each project
- Peer ID: Unique identifier for each peer
Use cases
Radicle excels at:- Decentralized open-source development
- Censorship-resistant code collaboration
- Private team collaboration without GitHub
- Air-gapped environments
- Sovereign infrastructure
- Web3 and crypto projects
Integration with Git
Radicle integrates seamlessly:Related templates
- Combine with monitoring tools for observability
- Integrate with CI/CD pipelines for automated workflows
Troubleshooting
- Access HTTP API at
http://localhost:8080to verify the seed node is running. - Check node status:
- View node ID and peer list:
- Check logs:
- For connectivity issues:
- Verify P2P port 8776 is accessible from external networks
- Check firewall rules allow incoming connections on port 8776
- Ensure
external-addressmatches your actual public address
- For synchronization issues, check seed node connectivity and peer list
- Monitor disk space for repository storage under
${monk-volume-path}/radicle - Ensure system time is synchronized (important for P2P networking)