Skip to main content

Installation

Orbinum nodes run from a pre-built Docker image published to GitHub Container Registry. You do not compile from source — pull the image and run it.

Which image

ghcr.io/orbinum/node:testnet-latest — the current testnet image. It already bundles the ZK circuit artifacts, so there is nothing else to download.


System Requirements

ComponentMinimumRecommended
CPU2 cores4+ cores
RAM4 GB8+ GB
Storage40 GB SSD80+ GB NVMe
OSLinux (Ubuntu 22.04 / 24.04)Ubuntu 24.04 LTS

A validator that performs ZK proof verification is CPU-intensive — prefer a dedicated-CPU VPS (e.g. Hetzner CCX). Shared-CPU instances are not recommended.

The only software dependency is Docker (with the Compose plugin).


1. Install Docker

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
sudo apt-get install -y docker-compose-plugin

Log out and back in for the group change to take effect, then verify:

docker --version
docker compose version

2. Authenticate with GHCR

The node image is private — log in to GitHub Container Registry with a personal access token that has read:packages scope:

echo <GITHUB_TOKEN> | docker login ghcr.io -u <github_user> --password-stdin

3. Clone the Repository

The compose files, chain spec, and helper scripts live in the node repo:

git clone https://github.com/orbinum/node.git
cd node/docker/testnet

What's here:

node/docker/testnet/
├── docker-compose.yml # Validator node
├── docker-compose.rpc.yml # RPC / bootnode (+ Caddy, Watchtower)
├── testnet-spec.json # Chain spec (genesis, bootNodes)
├── .env.example # Validator env template
├── .env.rpc.example # RPC env template
├── Caddy.Dockerfile # Custom Caddy build (rate-limit plugin)
└── README.md # Full validator walkthrough

4. Pull the Image

docker compose pull

This downloads ghcr.io/orbinum/node:testnet-latest. No build step, no circuit artifact download — the image is ready to run.


Verification

Run a throwaway node in development mode to confirm the image works:

docker run --rm ghcr.io/orbinum/node:testnet-latest --dev --tmp

If you see blocks being produced (🏁 Block #1, 🏁 Block #2), the image is healthy. Stop it with Ctrl+C.

Check the version:

docker run --rm ghcr.io/orbinum/node:testnet-latest --version

Next Steps