Product Docs
Product DocsTechnical DocsLearning & GovernanceUseful Links
  • Product Docs
  • Node Docs
  • Learning Docs
  • Node documentation for cheqd network
  • 👉Getting Started
    • Setup a new cheqd node
      • Pre-Requisites & Requirements
      • (Alternative) Install with Docker
      • Configure cheqd node
      • Configure cosmovisor
    • Command Line usage
      • Manage keys
      • Manage accounts
      • Manage a node
      • Make transactions
      • Use fee abstraction
  • đŸĻValidator Guides
    • Guide for validators
      • FAQs for validators
      • Optimising disk storage with pruning
      • Troubleshooting consistently high CPU/memory loads
      • Unjailing a jailed validator
      • Move validator to a different machine
      • Backup and restore node keys with Hashicorp Vault
    • Network-wide Software Upgrades
      • Upgrade Guides
        • Upgrade to v0.6.x
        • Upgrade to v2.x (with Ubuntu 24.04 LTS upgrade)
        • Upgrade to v3.x
        • Upgrade to v3.1.x
      • Creating a software upgrade proposal
      • Upgrade Process
  • 🧑‍đŸ’ģDeveloping on cheqd
    • Building from source
      • Build with Docker
      • Run a localnet with Docker
    • Indexers
      • SubQuery
  • Architecture
    • Architecture Decision Record (ADR) Process
    • Identity ADRs
    • List of ADRs
      • ADR 001: Payment mechanism for issuing credentials
      • ADR 002: Importing/exporting mnemonic keys from Cosmos
      • ADR 003: Command Line Interface (CLI) tools
      • ADR 004: Token fractions
      • ADR 005: Genesis parameters
      • ADR 006: Community tax
      • ADR 007: Revocation registry
      • ADR 011: AnonCreds
      • ADR Template
  • 🤝Contributing to cheqd
    • Contributor Guide
    • License
    • Code of Conduct
    • Security Policy
  • 🆘Support
    • System Status
    • Slack Channel
    • Discord
Powered by GitBook
LogoLogo

General

  • Website
  • Blog
  • Get $CHEQ

Product Docs

  • Product Docs
  • cheqd Studio
  • Creds.xyz
  • Bug/Feature Requests

Technical Docs

  • Node Docs
  • GitHub
  • Block Explorer

Learning Docs

  • Learning Docs
  • Governance Docs
  • Governance Forum
  • Governance Explorer
On this page
  • Context
  • Pre-requisites
  • Special guidance for Mac OS running on Apple silicon (M-series chips)
  • Instructions
  • Clone the repository
  • (Optional) Inspect and modify Dockerfile
  • Build the image
  • Next steps

Was this helpful?

Edit on GitHub
Export as PDF
  1. Developing on cheqd
  2. Building from source

Build with Docker

Last updated 2 years ago

Was this helpful?

Context

â„šī¸ We provide if you just want to setup and use a Docker-based node.

These advanced instructions are intended for developers who want to build their own custom Docker image. You can also , or .

Pre-requisites

pre-requisites below, either as individual installs or using (if running on a developer machine):

  1. Docker Engine v20.10.x and above (use docker -v to check)

  2. Docker Compose v2.3.x and above (use docker compose version to check)

Our Docker Compose files . The primary difference in usage is that Docker Compose's new implementation uses docker compose commands (with a space), rather than the legacy docker-compose although they are supposed to be drop-in replacements for each other.

Special guidance for Mac OS running on Apple silicon (M-series chips)

Most issues with Docker that get raised with us are typically with for.

Other issues are due to developers . If your issues are specifically with Docker Compose, make sure the command used is docker compose (with a space).

Instructions

Clone the repository

(Optional) Inspect and modify Dockerfile

Note: If you're building on a Mac OS system with Apple M-series chips, you should modify the FROM statement in the Dockerfile to FROM --platform=linux/amd64 golang:1.18-alpine AS builder. Otherwise, Docker will try to download the Mac OS darwin image for the base Golang image and fail during the build process.

Build the image

Using Docker Compose

Sample command (modify as necessary):

docker compose -f docker/localnet/docker-compose.yml build

Using Docker

If you don't want to use docker compose build, or build using docker build and then run it using Docker Compose, a sample command you could use is (modify as necessary)

docker build . -f docker/Dockerfile --target runner --tag cheqd-node:build-local

Next steps

Once you built a Docker image, you can:

Clone the from Github. (Github has .)

Inspect the to understand build arguments and variables. This is only really necessary if you want to modify the Docker build.

Or, If you want to use , look at the usage/configuration in .

If you're planning on passing/modifying a lot of build arguments from their defaults, you can and the associated environment files to define the build/run-time variables in a one place. This is the recommended method.

Note that a valid Docker Compose file will only have one build and image section, so modify/comment this as necessary. See our to understand how this works.

for mainnet/testnet

using this custom Docker image

🧑‍đŸ’ģ
installation instructions using pre-built Docker images
build a binary using Golang
run a Docker-based localnet
Install Docker
Docker Desktop
use Compose v2 syntax
developers running Mac OS with Apple M-series chips, which Docker has special guidance
using the legacy docker-compose CLI rather than the new docker compose CLI
cheqd-node repository
instructions on how to clone a repo
Dockerfile
Docker buildx engine
our Github build workflow
modify the Docker Compose file
instructions for how to use Docker Compose for mainnet/testnet
Configure a Docker-based node installation
Run a localnet