Local development cluster for https://rialo.io
8.8K
A quick, reproducible way to start a local Rialo network is by using this Docker image.
linux/amd64 and linux/arm64ubuntu (non-root)/usr/local/bin/rialo)4104We keep the latest tag rolling and pointing to the latest version of the image.
Start a local cluster with sensible defaults:
docker run --rm --name rialo-local-network -p 4104:4104 rialonetwork/rialo-local-network:latest
By default, the container generates keys, configuration, and logs under /tmp/rialo-local-network inside the container.
If you publish the default RPC (-p 4104:4104), you can verify that the network runs with:
$ curl http://127.0.0.1:4104/health
"ok"
Mount a host directory to /tmp/rialo-local-network to view or keep the generated config/keys/logs:
# Create a temporary writable directory on the host
HOST_TMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/rialo-local-network.XXXXXXXX")"
docker run --rm --name rialo-local-network -v "${HOST_TMP_DIR}:/tmp/rialo-local-network" rialonetwork/rialo-local-network:latest
You can now inspect files on the host under $HOST_TMP_DIR.
The default setup (committee_size=4, full_node_count=2) exposes:
3230 (HTTPS), 3231 (metrics)4000..40054100..41054200..42039184..9189The RPC is served by full nodes; in the default setup it's bound at 4104.
Publish only what you need, for example:
docker run --rm --name rialo-local-network \
-p 4104:4104 \
-p 9188:9188 \
my-local-network
rialonetwork/rialo-local-network:latest
This image bundles the Rialo CLI at /usr/local/bin/rialo.
There are two zero-setup ways to use it against the running cluster:
This requires no port publishing and works everywhere (Linux, macOS, Windows):
Example:
# Assuming the cluster is running as --name rialo-local-network
docker run -it --rm --network=container:rialo-local-network \
--entrypoint /usr/local/bin/rialo \
my-local-network \
client balance # or other arguments for the `rialo` binary
Alternatively, just run the CLI directly in the already running container:
docker exec -it rialo-local-network /usr/local/bin/rialo client balance
If you expose the default RPC (-p 4104:4104), you can run the CLI from any environment that can reach localhost:4104:
# Publish default RPC
docker run --rm --name rialo-local-network -p 4104:4104 rialonetwork/rialo-local-network:latest
# Then, from another container using the default bridge network:
docker run --rm --add-host=host.docker.internal:host-gateway \
--entrypoint /usr/local/bin/rialo \
my-local-network \
--url http://host.docker.internal:4104 \
client balance
Rialo CLI follows the same layered config behavior in the container as outside it.
~/.rialo (which is /home/ubuntu/.rialo in this image)To override, set RIALO_CONFIG_PATH and/or mount a volume:
# Use a host directory as the user-specific Rialo configuration inside the container
mkdir -p rialo-config-docker
docker run -it --rm --network=container:rialo-local-network \
--entrypoint /usr/local/bin/rialo \
-e RIALO_CONFIG_PATH=/app/.rialo \
-v "$(pwd)/rialo-config-docker:/app/.rialo" \
rialonetwork/rialo-local-network:latest \
client balance
-p HOST:CONTAINER or stop conflicting services.RIALO_CONFIG_PATH, ensure the directory exists and is mounted with correct permissions.ubuntu user with UID 1000)./usr/local/bin/rialo) for convenient client operationsA separate
rialonetwork/rialo-cliCLI-only image (CLI-only) is also provided.
Content type
Image
Digest
sha256:ea0118007…
Size
73.1 MB
Last updated
10 months ago
docker pull rialonetwork/rialo-local-network