Run and deploy Silica nodes
The repo ships the pieces you need for local builds, multi-arch container publishing, and environment-specific rollout through the infrastructure stacks.
Environment stacks
The infrastructure repo is organized around an env-first layout so operators can move from local or dev setups to testnet and production stacks without changing mental models.
core/
Shared services like static sites and observability foundations.
dev/
Low-cost development services for iterative testing and app integration.
testnet/
Operational testnet stacks, Kubernetes manifests, and rollout tooling.
mainnet/
Production-oriented AWS, Azure, Ansible, Docker, and environment guides.
1. Build locally
# Local binary
cargo build --bin silica --release
# Quality gates
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test --workspace 2. Publish a node image
docker buildx build \
--builder silica-builder \
--platform linux/amd64,linux/arm64 \
-t silicaprotocol/silica-node:testnet-latest \
--push . 3. Roll out to testnet
cd infrastructure/opentofu/testnet/oci
python3 scripts/silica_nodes.py --user silica set-image \
--image silicaprotocol/silica-node:testnet-latest
python3 scripts/silica_nodes.py --user silica update Operational checkpoints
- • Verify builder availability with
docker buildx ls - • Run fmt, clippy, and workspace tests before publishing images
- • Track common tags like
testnet-latest,latest, and version tags - • Keep the primary node Dockerfile aligned with the cargo-chef pipeline
Health and observability
- • Monitor node health through
/health,/info, and/metrics - • Use the infrastructure
observability/assets and stack-specific manifests - • Treat rollout, sync lag, and validator progress as first-class operator signals
- • Start infrastructure navigation in
infrastructure/opentofu/README.md
From binary to fleet
Silica’s deployment story is already split cleanly across local builds, container publishing, and environment-specific infrastructure. These pages are here to make that operator path discoverable from the public site.