ceremonyclient/docker
Cassandra Heart 1b2660b7df
v2.1.0.20 (#516)
* .20 testing

* Read in the debug by env variable (#514)

* v2.1.0.19

* enhanced error logging, fix seniority marker join blocker, fix sync message size limit defaults

* resolve signature failure

* additional error logging for merge-related signatures

* fix: one-shot sync message size, app shard TC signature size, collector/hotstuff race condition, expired joins blocking new joins due to pruning disable

* remove compat with old 2.0.0 blossomsub

* fix: resolve abandoned prover joins

* reload prover registry

* fix stale worker proposal edge

* add full sanity check on join before submitting to identify bug

* resolve non-fallthrough condition that should be fallthrough

* fix: resolve rare SIGFPE, fix orphan expired joins blocking workers from reallocating

* add reconnect fallback if no peers are found with variable reconnect time (#511)

Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>

* update base peer count to 1 (#513)

* fix: expired prover join frames, starting port ranges, proposer getting stuck, and seniority on joins

* fix: panic on shutdown, libp2p discovery picking inaccessible peers, coverage event check not in shutdown logic, amend app shard worker behavior to mirror global for prover root reconciliation

* fix: shutdown scenario quirks, reload hanging

* fix: do not bailout early on shutdown of coverage check

* fix: force registry refresh on worker waiting for registration

* add more logging to wait for prover

* fix: worker manager refreshes the filter on allocation, snapshots blocking close on shutdown

* tweak: force shutdown after five seconds for app worker

* fix: don't loop when shutting down

* fix: slight reordering, also added named workers to trace hanging shutdowns

* use deterministic key for peer id of workers to stop flagging workers as sybil attacks

* fix: remove pubsub stop from app consensus engine as it shouldn't manage pubsub lifecycle, integrate shutdown context to PerformSync to prevent stuck syncs from halting respawn

* fix: blossomsub pubsub interface does not properly track subscription status

* fix: subscribe order to avoid nil panic

* switch from dnsaddr to dns4

* add missing quic-v1

* additional logging to isolate respawn quirks

* fix: dnsaddr -> dns4 for blossomsub

* allow debug env var to be read

---------

Co-authored-by: Cassandra Heart <cassandra@quilibrium.com>
Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>
Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>

* fix newPebbleDB constructor config param (#517)

* fix: high CPU overhead in initial worker behaviors/ongoing sync

* faster docker builds with better caching

* qol: add extra data to node info, and query metrics from command line

* leave proposals for overcrowded shards

* hub-and-spoke global message broadcasts

* small tweaks to cli output for join frames

---------

Co-authored-by: winged-pegasus <55340199+winged-pegasus@users.noreply.github.com>
Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>
Co-authored-by: Black Swan <3999712+blacks1ne@users.noreply.github.com>
2026-03-04 01:37:04 -06:00
..
.dockerignore feat: add comprehensive docker guide and add config generator via cli (#501) 2025-12-31 09:28:47 -06:00
Dockerfile.release feat: add comprehensive docker guide and add config generator via cli (#501) 2025-12-31 09:28:47 -06:00
Dockerfile.source v2.1.0.20 (#516) 2026-03-04 01:37:04 -06:00
Dockerfile.source.dockerignore feat: add comprehensive docker guide and add config generator via cli (#501) 2025-12-31 09:28:47 -06:00
Dockerfile.sourceavx512 v2.1.0.20 (#516) 2026-03-04 01:37:04 -06:00
README.md feat: add comprehensive docker guide and add config generator via cli (#501) 2025-12-31 09:28:47 -06:00
rustup-init.sh v1.4.19 2024-06-08 11:32:45 +00:00

Quilibrium Docker Guide

This folder contains the Dockerfiles and related resources for Quilibrium. All commands should be executed from the root of the repository using task.

1. System Preparation

For system preparation follow the official Quilibrium Guide.

2. Configuration

Generating Config

The configuration directory .config is located at the root of the repository.

task config:gen

This will generate config.yml and keys.yml in the .config/ folder.

3. Workflow Options

You have two primary ways to use Docker with Quilibrium:

Option A: Build Binary via Docker (for Native Run)

If you prefer to run the node natively but don't want to set up the full Go build environment, you can use Docker to compile the binary for your specific platform.

  1. Build and Export Binary: Run the task corresponding to your OS/Architecture:

    • Linux AMD64: task build_node_amd64_linux
    • Linux ARM64: task build_node_arm64_linux
    • MacOS ARM: task build_node_arm64_macos
  2. Run Binary: The binary will be exported to node/build/. You can then run it directly:

    ./node/build/[platform]/node
    

Option B: Run Entirely via Docker

The node runs inside a Docker container.

  1. Build the Image:

    task build:node:source
    
  2. Deploy the Node:

    task deploy:node
    

    and then you can use the standard docker commands to manage the node.

4. Maintenance & Backup

Important

Always backup your .config/ directory. It contains your unique node identity and balance information.

  • Backup: task backup
  • Restore: task restore
  • Check Status: task status