---
# System prepended metadata

title: Deploy Radicle on a box

---

# Deploy Radicle on a box

## Components
- radicle-node
- radicle-httpd
- rad
- caddy (reverse proxy)

## Run seed node
- install radicle (sh <(curl -sSf https://radicle.xyz/install))
- rad auth (obtain radicle keypair)
- set environment variables `RAD_HOME`, `RAD_PASSPHRASE`
- run `rad node start` (there is systemd unit for it)

## Run additional services (required for web client, etc.)
- run `radicle-httpd`
- install caddy
- update config -> ssl 443 -> 8080
- **we don't support http for remote seed nodes**

**Start following a user**
- `rad follow <nid> [--alias <name>]`

**Stop following a user**
- `rad unfollow <nid>`
    - (cloudhead: how to define policy for followed nodes)

**Start seeding a project**
- `rad seed <rid> --scope <all | followed>`

**Stop seeding a project**
- `rad seed <rid> --scope <all | followed> --delete`

**Visit your node**
`https://app.radicle.xyz/nodes/<your radicle node>`

**Update your nodes config**
    
*Example snippet seed.radicle.xyz*
```json
{
  "externalAddresses": [
    "seed.radicle.xyz:8776"
  ],
  "policy": "block",
  "scope": "followed"
}
```
    
*Example snippet radicle.garden*
```json
{
  "externalAddresses": [
    "radicle.garden:8776"
  ],
  "policy": "allow",
  "scope": "all"
}
```
    
policy: block + scope: followed = you have to define every project and every remote (delegates come included).
policy: allow + scope: followed = you get all the projects and need to define the remotes (delegates come included).
policy: block + scope: all = you get only the projects you seed but all the remotes.
policy: allow + scope: all = you get everything example radicle.garden
    
## Update a seed node
- stop `radicle-node` `radicle-httpd`
- (sh <(curl -sSf https://radicle.xyz/install))
- start `radicle-node` `radicle-httpd`

**the docker way**
- `docker-compose up -d --build`

## References
- [docker-compose](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/docker-compose.yml)
- [awesome-radicle launchers](https://app.radicle.xyz/nodes/seed.rhizoma.dev/rad:z3yQUb9HDAC7TQrUDGkQsXDsYFj9G#launchers)