Radicle

Radicle is an open-source, peer-to-peer code collaboration stack built on Git. It operates in a decentralized manner, allowing users to maintain control over their data and workflow without a central authority. This guide provides instructions for deploying a Radicle Seed node on the Akash Network.

Components

  • Radicle Seed Node: Hosts repositories and is essential for the Radicle network.
  • Container Image: Based on radicle-docker and hosted on Quay.io.
  • Radicle HTTP API: Optionally enabled for additional functionalities.

Prerequisites

  • Akash Network Account: Ensure you have an active Akash Network account and have set up the necessary CLI or web console tools.

  • Radicle Repository IDs: Obtain the repository IDs you wish to seed (if applicable).

Deployment

Prepare Your Deployment Manifest

Prepare a deployment manifest that includes the following parameters:

  • RAD_SEEDS: (Optional) Set this environment variable to a semicolon-separated list of Radicle repository IDs you wish to seed.
  • RAD_HTTP_ENABLE: Set to true to enable the Radicle HTTP API server.
  • RAD_PINNED_REPOS: (Optional) List repository IDs you wish to pin and automatically seed, separated by semicolons.
  • RAD_EXTERNAL_ADDR: Update this with the public address and port assigned by Akash Network.

Deploy the Radicle Seed Node

  1. Create the Deployment: Use the Akash Network CLI to create the deployment. Ensure the deployment manifest is correctly configured with the parameters above.
akash tx deployment create --file deployment.yaml
  1. Find the Random Port: Akash Network assigns a random port to your service. Retrieve this port by running:
akash query deployment info --id <deployment_id>
  1. Update External Address: After finding the random port, update the RAD_EXTERNAL_ADDR environment variable with the format provider.url:<random_port>.
export RAD_EXTERNAL_ADDR=provider.url:<random_port>
  1. Deploy the Container: Deploy the container using the updated configuration.
akash tx deployment deploy --file deployment.yaml

Enable HTTP API Server (Optional)

If you have set RAD_HTTP_ENABLE to true, the Radicle HTTP API server will be available. You can pin repositories by setting the RAD_PINNED_REPOS environment variable with a list of repository IDs.

Retrieve Node Information

To connect to your node and discover its Node ID, run the following command in the deployment console:

rad self --nid

This command will provide you with the Node ID and other necessary details.

Post-Deployment

  • Access Node: Use the external address and port to interact with your Radicle node.
  • Monitor Logs: Check the logs for any issues or to verify the status of your deployment.

Troubleshooting

  • Node Not Discoverable: Ensure that RAD_EXTERNAL_ADDR is correctly set and matches the assigned port.
  • API Not Responding: Verify that RAD_HTTP_ENABLE is set to true and check the deployment logs for errors.
footer-logo-dark

© Akash Network 2024 The Akash Network Authors Documentation Distributed under CC BY 4.0

Open-source Apache 2.0 Licensed.

GitHub v0.20.0

Privacy