This repository provides a Docker build setup for snarkOS, a decentralized operating system powering Aleo.
It supports multi-architecture builds (x86_64 and ARM64) and is optimized for reproducible image builds.
git clone [email protected]:AleoNet/snarkos-docker.git
cd snarkos-docker
docker build \
--build-arg COMMIT_OR_TAG=<tag-or-commit> \
-t snarkos:${tag} \
-f Dockerfile .
Example:
docker build \
--build-arg COMMIT_OR_TAG=8c7ea6c \
-t ${tag} .
docker run --rm -it snarkos:tag start
To confirm the binary version inside the container, run:
docker run --rm snarkos:${tag} --version
The Dockerfile performs a two-stage build:
- Builder stage uses
cargo
to compile snarkOS with specific features. - Runtime stage installs minimal runtime dependencies and copies the final binary.
This repo supports native or emulated builds for:
x86_64
(Linux)arm64
(Raspberry Pi, M1/M2 Macs, cloud ARM VMs)
To build cross-platform images using buildx
, see buildx docs.
- This repository includes a Gitleaks scanner to detect secrets in PRs.
- Branch protection rules enforce pull requests for changes to
main
.
This repo wraps the official snarkOS and is maintained by the community.
Please refer to the original repo for protocol-level documentation.
All builds from ProvableHQ/snarkOS releases
are automatically built and published to Docker Hub:
👉 https://hub.docker.com/r/aleohq/snarkos
docker pull aleohq/snarkos:latest
docker run --rm aleohq/snarkos:latest --version