Update Your Node

Instructions to update your Docker node for Resource Providers who already had Lilypad installed.

Remove Previous Versions

If the Linux Install was your previous version, follow part A, and if you had previously installed a Docker version, follow part B if you have already installed the Docker version and are updating.

A) Ensure all processes from Linux install are stopped and removed

This only applies if you had a Linux version installed

  1. Stop all systemd processess

sudo systemctl stop bacalhau
sudo systemctl stop lilypad-resource-provider
  1. Disable the systemd services:

sudo systemctl disable bacalhau
sudo systemctl disable lilypad-resource-provider
  1. Delete the service files from the systemd directory.

**Note: Be extremely careful when using sudo to remove files.

sudo rm /etc/systemd/system/bacalhau.service
sudo rm /etc/systemd/system/lilypad-resource-provider.service
  1. Reload the systemd daemon to apply the changes.

sudo systemctl daemon-reload

B) Remove old Docker containers

  1. If a Docker RP is running stop the system (if the node is not running, disregard this first step)

docker compose down
  1. You can check the status of the containers with:

docker ps -a | grep -E "resource-provider|ipfs|watchtower"

If they are running, stop them with:

docker stop <container_name>

Remove the containers:

docker rm <container_name>
  1. View all Docker images

docker images
  1. Take note of all the IMAGE ID for each lilypad image (resource-provider, bacalhau, and watchtower)

Delete old Docker images that are duplicates for Lilypad (Bacalhau, Lilypad)

docker rmi <IMAGE ID>  

*Note - You can also use docker volume prune to remove specific images that aren't being used

Install and Run a new Version of Lilypad

  1. Create a new Resource Provider wallet (We recommend you don't use the same one you were using before, and you cannot use the same wallet you use to run jobs). See the Docs for Setting up a Metamask Wallet

  2. Export your new WEB3_PRIVATE_KEY as an environment variable

export WEB3_PRIVATE_KEY=<your-private-key>
  1. Use curl to download the docker-compose.yml file from the Lilypad GitHub repository.

LATEST_VERSION=$(curl -s https://api.github.com/repos/Lilypad-Tech/lilypad/releases/latest | sed -n 's/.*"tag_name": "\(.*\)".*/\1/p')

curl -o docker-compose.yml "https://raw.githubusercontent.com/Lilypad-Tech/lilypad/$LATEST_VERSION/docker/docker-compose.yml"
  1. Start your Lilypad Node

WEB3_PRIVATE_KEY=<your_private_key> docker compose up -d

OR start with your own RPC URL

WEB3_PRIVATE_KEY=<your_private_key> WEB3_RPC_URL=wss://arb-sepolia.g.alchemy.com/v2/your-alchemy-id docker compose up -d

Monitor Your Node

Use the following command to check the status of the resource provider and bacalhau.

docker logs resource-provider
docker logs bacalhau

Use the following command to view the containers running after starting Docker Compose.

docker ps

A healthy, updated node should have all containers started, a preflight check, and be adding a resource offer.

Last updated

Was this helpful?