Casper NCTL 2 Docker provides containerized environments for running Casper NCTL (Node Control Tool) versions 1.x and 2.x. This setup supports different branches and configurations for stable, development, and version-specific releases of Casper Node and Client.
This repository contains Docker images and Docker Compose services that simplify the process of running the Casper network's NCTL (Node Control Tool). NCTL is a tool used for managing Casper testnets. The images are configured to work with different branches and versions, including stable, development, and version-specific releases.
-
Stable Version: Uses Casper Node 1.5.8 and Casper Client 2.0.0 for a stable environment.
-
2.0 Version: Uses the 2.0.4 release candidate for the Casper Node, v5.0.0 for the Client, and v2.0.0 for the Sidecar.
-
2.1 Version: Uses Casper Node 2.1.1, v5.0.0 for the Client, and v2.0.0 for the Sidecar.
-
Development Version: Tracks the latest development versions of Casper Node, Client, and Sidecar.
You can choose between stable, dev, 2.0, or 2.1.
If no profile is specified, stable is used by default.
make build 2.0make start-log 2.0make build-start-log 2.0To replace 2.0 with another version, use stable, dev, or 2.1.
Casper NCTL 2 Docker supports four configurations:
- Uses release-1.5.8 for the node and release-2.0.0 for the client.
- BRANCH_NODE=release-1.5.8
- BRANCH_CLIENT=release-2.0.0- Uses release-2.0.0-rc10 for the node, v3.0.1 for the client, and v1.0.3 for the sidecar.
- BRANCH_NODE=v2.0.3
- BRANCH_CLIENT=v5.0.0
- BRANCH_SIDECAR=v2.0.0- Uses v2.1.1 for the node, v5.0.0 for the client, and v2.0.0 for the sidecar.
- BRANCH_NODE=v2.1.1
- BRANCH_CLIENT=v5.0.0
- BRANCH_SIDECAR=v2.0.0- Tracks the latest development versions of node, client, and sidecar.
- BRANCH_NODE=dev
- BRANCH_CLIENT=dev
- BRANCH_SIDECAR=devThis project provides multiple Docker Compose services:
- Provides the core infrastructure for running a Casper NCTL node.
- Used by
stable,2.0,2.1, anddevprofiles. - Exposes Ports:
11101-11105, 14101-14105, 18101-18105, 25101-25105, 28101-28105
- Maps Volumes for Persistence:
- Logs
- Faucet
- Users
- Chainspec
- Node Data
- Runs a CORS proxy on port 11100.
- Required for front-end applications making cross-origin requests.
- To enable, use the
cors-anywhereprofile.
make build 2.0or build without cache:
make build-no-cache 2.0make start devmake build-start devmake start-log devmake stop devThis is the base service for running a Casper NCTL instance.
- Image:
casper-nctl-2-docker:latest - Ports:
- 11101-11105, 14101-14105, 18101-18105, 25101-25105, 28101-28105
- Volumes:
- Logs, faucet, users, chainspec, and node data for persistence
Provides the stable environment for Casper Node and Client.
- Image:
casper-nctl-2-docker-stable:latest - Build Args:
BRANCH_NODE=release-1.5.8BRANCH_CLIENT=release-2.0.0
- Profiles:
stable
Provides the 2.0 environment for Casper Node and Client.
- Image:
casper-nctl-2-docker-2.0:latest - Build Args:
BRANCH_NODE=release-2.0.0-rc10BRANCH_CLIENT=v5.0.0BRANCH_SIDECAR=v2.0.0
- Profiles:
2.0
Provides the 2.1 environment for Casper Node and Client.
- Image:
casper-nctl-2-docker-2.1:latest - Build Args:
BRANCH_NODE=v2.1.1BRANCH_CLIENT=v5.0.0BRANCH_SIDECAR=v2.0.0
- Profiles:
2.1
Tracks the latest development versions of the node, client, and sidecar.
- Image:
casper-nctl-2-docker-dev:latest - Build Args:
BRANCH_NODE=devBRANCH_CLIENT=devBRANCH_SIDECAR=dev
- Profiles:
dev
Runs a CORS proxy on port 11100.
- Image: Custom build using
cors-anywhere.Dockerfile - Environment Variables:
PORT=11100
- Ports:
11100:11100
If you want to spin up everything at once (nodes 2.0 + CORS proxy):
docker compose --profile 2.0 up -d
docker compose --profile cors-anywhere up -d