Skip to content

Contribute ​

There are two ways to take part in the network: run a node as an operator, or buy credits as a user.

1. As an operator — run a storage node ​

Running a storage node contributes its disk to the network. It registers with the index, stores encrypted shards for others, and a background GC loop frees shards that are no longer referenced.

The easiest way is one command (swap in your public IP and the disk you're committing):

sh
docker run -d --name arkel-storage --restart unless-stopped --network host \
  -v arkel-data:/var/lib/arkel \
  ghcr.io/amr8t/arkel:latest storage \
  --addr 0.0.0.0:9001 \
  --advertise-addr <your-public-ip>:9001 \
  --index-addrs http://index.pc1.arkeldata.com:8001 \
  --data-dir /var/lib/arkel/storage-9001 \
  --capacity 50GB

Prefer Compose? Use the ready-made files in examples/storage-node/: edit arkel-node.toml, then docker compose up -d.

  • Identity is auto-generated on first boot into the arkel-data volume.
  • Needs inbound UDP 9001 reachable for direct connections; otherwise iroh falls back to a relay.
  • capacity is the disk you commit; the index fills it and pays against stored bytes.
Binary / systemd alternative
sh
arkel storage \
  --addr 0.0.0.0:9001 \
  --advertise-addr <your-public-ip>:9001 \
  --index-addrs http://index.pc1.arkeldata.com:8001 \
  --data-dir /var/lib/arkel/storage

Erasure coding means the network survives node failures — your node just stores encrypted shards, and no single node holds your data in the clear.

Planned: get credited for contributing storage to the network.

2. As a user — buy credits ​

Planned: buy credits for increasing usage limits.