Run a node on Lilypad using Docker

Run a node on Lilypad using Docker

Decentralized computing is reshaping the way we think about resource allocation and processing power. As a resource provider on the Lilypad network, you play a key role in this transformation. This guide is designed to help you set up and manage your Lilypad Resource Provider using Docker, making it simple to deploy and maintain your node.

By following these steps, you’ll be able to contribute effectively to the network, ensuring that your system is ready to handle the demands of modern AI workloads.

Prerequisites

Before getting started with this guide, make sure that your system meets all of the system, hardware and other requirements.

  • Docker installed and running on your system

  • NVIDIA GPU and drivers (for CUDA support)

  • NVIDIA Container Toolkit installed and configured

  • A web3 private key funded with Arbitrum Sepolia and Lilypad testnet tokens

Refer to the Run a node docs for more information on what is needed to run a node on Lilypad.

To get a funded web3 private key, please refer to "Setting up MetaMask" and "Funding your wallet" section of the Quick Start documentation.

Getting started

Running a node on Lilypad using Docker involves a few key steps:

  1. Pull the pre-built Docker image: You'll start by pulling the pre-built Docker image directly from Lilypad. This image contains the environment and dependencies needed for your Lilypad node to run smoothly, simplifying the setup process.

  2. Run the Docker Image: Finally, you'll run the Docker container, configuring it with your specific settings, such as GPU usage and web3 private key.

We will cover each step involved in the setup process, making sure that you have a clear understanding of what needs to be done at each stage. Along the way, we’ll provide brief explanations for key commands and configurations, as well as tips for troubleshooting common issues. By the end of this guide, you’ll have a fully operational Lilypad node, ready to contribute your resources to the network!

Pull the pre-built Docker image

The pre-built Docker image is a crucial component in setting up your Lilypad Resource Provider with this approach. It encapsulates the environment in which your node will operate, including all necessary dependencies, configurations, and commands to run the Lilypad services.

Before pulling the image, you must be logged in to Docker by running docker login and follow the prompts.

In the root directory of the Lilypad repo, run the following command to pull the pre-built Docker image:

docker pull ghcr.io/lilypad-tech/resource-provider:latest

Run the Docker Image

Before we run the Docker image, we will need to retrieve the private key from your wallet you set up in the first steps of this guide. You can find out how to do that using this official MetaMask guide for exporting your private key. Once you've copied your private key we can move on and run the Docker image.

Please keep this private key safe and practice safe key management, as it will be primarily responsible for keeping track of the resource providers' proof of works and tracking rewards, amongst other things. Never expose or share it!

Replace <your_private_key_here> with your actual private key and run the following command:

docker run -d --gpus all -p 1234:1234 -e WEB3_PRIVATE_KEY=<private key> --restart always ghcr.io/lilypad-tech/resource-provider:latest

This will run the Lilypad services in a container in the background. You can get the container ID by running sudo docker ps. To check the logs of the Lilypad services, run docker logs <container ID>. Alternatively you can add a tail to the logs by running docker logs -f --tail <number of lines> <container ID>.

Here is an example of what they might look like with 10 log lines: docker logs -f --tail 10 2a7a74f133c1.

If everything has ran successfully, you will see logs from your terminal. You can copy your web3 public address from MetaMask and paste it in to the Lilypad Leaderboard or GPU dashboard to view if your node is online and running!

Troubleshooting

Here are some common troubleshooting techniques when it comes to your resource provider using Docker:

Checking Docker Runtime
To verify your Docker runtime configuration: sudo docker info | grep Runtimes

You should see the NVIDIA runtime listed. If you only see: Runtimes: io.containerd.runc.v2 runc you will need to configure the NVIDIA runtime.

Configuring NVIDIA Runtime
If the NVIDIA runtime is not showing up or you're experiencing issues, try the following:

1. Configure the NVIDIA Container Toolkit runtime: sudo nvidia-ctk runtime configure --runtime=docker
2. Restart the Docker service: sudo systemctl restart docker

Overview of Docker setup
For a comprehensive overview of your Docker setup, use: docker info. This command provides detailed information about your Docker daemon configuration.

If you encounter any issues or need further assistance, please consult the Lilypad documentation or reach out in the community support channels in our Discord.

Resources

Did you find this article valuable?

Support Lilypad Network by becoming a sponsor. Any amount is appreciated!