From 9fc368f4053b5bfa281adc36985f285f87e590b4 Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 20 Jun 2026 02:56:17 +0000 Subject: [PATCH] shibarium: build heimdall from source (cometbft.Dockerfile) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A parallel change reverted this to FROM shibaone/heimdall:v1.0.7-bone — an image that exists on no registry, so the heimdall build fails. Restore the source build: clone shibaone/heimdall@${CL_VERSION}, make install, then layer the CometBFT init entrypoint. Pairs with vibe-node PR (node_build + standalone service name). Co-Authored-By: Claude Opus 4.8 (1M context) --- shibarium/cometbft.Dockerfile | 42 +++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/shibarium/cometbft.Dockerfile b/shibarium/cometbft.Dockerfile index 022a5589..b16df6ed 100644 --- a/shibarium/cometbft.Dockerfile +++ b/shibarium/cometbft.Dockerfile @@ -1,25 +1,39 @@ -# Shibarium heimdall node Dockerfile -# Build from the base heimdall image + copy entrypoint scripts. -# Uses the standard cometbft-node pattern from vibe-node. +# Shibarium heimdall consensus node — BUILT FROM SOURCE. +# +# shibaone publishes NO heimdall docker image (only source + release .deb config +# packages), so we cannot `FROM shibaone/heimdall:` — that tag does not exist +# on any registry. Mirror the upstream shibaone/heimdall Dockerfile (`make install`) +# but clone the pinned tag, then layer the vibe-node CometBFT init entrypoint. # # Build args: -# CL_IMAGE - base heimdall image (default: shibaone/heimdall) -# CL_VERSION - heimdall version tag +# CL_REPO - heimdall source repo (default: https://github.com/shibaone/heimdall) +# CL_VERSION - heimdall version tag (passed by the template, e.g. v1.0.7-bone) # -# The entrypoint is init.sh which sources cometbft-common.sh and bootstraps -# the node before exec'ing heimdalld start. +# `make install` puts heimdalld + heimdallcli on /go/bin (already on PATH). The +# entrypoint is init.sh: it sources cometbft-common.sh, runs heimdalld init +# --chain shibarium, fetches the heimdall-109 genesis from GENESIS_URL, sets the +# shibarium seeds, then exec's `heimdalld start --rest-server`. -ARG CL_IMAGE=shibaone/heimdall +ARG CL_REPO=https://github.com/shibaone/heimdall ARG CL_VERSION=v1.0.7-bone -FROM ${CL_IMAGE}:${CL_VERSION} +FROM golang:1.22 -# Copy the shared CometBFT helpers and chain-specific entrypoint +ARG CL_REPO +ARG CL_VERSION + +RUN apt-get update -y && apt-get upgrade -y \ + && apt-get install -y --no-install-recommends build-essential git curl jq ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /var/lib/heimdall +RUN git clone --depth 1 --branch ${CL_VERSION} ${CL_REPO} . \ + && make install + +# vibe-node CometBFT bootstrap entrypoint (build context is ./shibarium) COPY ./scripts/cometbft-common.sh /usr/local/bin/cometbft-common.sh COPY ./scripts/init.sh /usr/local/bin/init.sh +RUN chmod +x /usr/local/bin/init.sh /usr/local/bin/cometbft-common.sh -# Make init.sh executable -RUN chmod +x /usr/local/bin/init.sh - -# Set entrypoint to our init script +EXPOSE 1317 26656 26657 ENTRYPOINT ["init.sh"]