From Source
You can also deploy an Infernet Node locally by pulling the latest official image (opens in a new tab) from Docker Hub. To facilitate deployments, we have put together Infernet-deploy (opens in a new tab), a best-practices repository for deploying Infernet Nodes. This process is only recommended for technical users familiar with Docker and Docker Compose. Unless you're actively developing the node or its services, we recommend using the Infernet CLI, as there should be no need to deploy manually.
Prerequisites
Docker
(opens in a new tab): Infernet Nodes execute containerized workflows. As such, installing and running (opens in a new tab) a modern version of Docker is a prerequisite, regardless of your choice of how to run the node.Git
(opens in a new tab): Required for cloning the repository.
Get deployment files
Start by cloning the infernet-deploy
repository locally:
git clone https://github.com/ritual-net/infernet-deploy
Configure node
First, you must create a configuration file.
# Create a configuration file
cd infernet-deploy/deploy
touch config.json
## TODO: FILL IN config.json ##
For filling in config.json
properly, see Configuration. You can use recipes (opens in a new tab) and the sample configuration (opens in a new tab) as a starting point,
but note that neither constitutes a complete, working configuration.
Run locally
After you have configured your node, you can run it with:
# Run node
docker compose up -d
To stop and destroy it:
# Stop node
docker compose down
While docker compose down
will destroy the node, it will NOT destroy the service containers. This ensures that you can re-start the node without losing cached data or having to warm up the containers again.
Therefore, for container service configuration changes to be reflected, you MUST destroy the containers manually, and let the node re-create them (assuming the node is managing containers).