shibarium: build heimdall from source (cometbft.Dockerfile) #15

Merged
sebastian merged 1 commits from shibarium-heimdall-source-build into main 2026-06-20 02:57:48 +00:00

View File

@@ -1,25 +1,39 @@
# Shibarium heimdall node Dockerfile # Shibarium heimdall consensus node — BUILT FROM SOURCE.
# Build from the base heimdall image + copy entrypoint scripts. #
# Uses the standard cometbft-node pattern from vibe-node. # shibaone publishes NO heimdall docker image (only source + release .deb config
# packages), so we cannot `FROM shibaone/heimdall:<tag>` — 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: # Build args:
# CL_IMAGE - base heimdall image (default: shibaone/heimdall) # CL_REPO - heimdall source repo (default: https://github.com/shibaone/heimdall)
# CL_VERSION - heimdall version tag # 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 # `make install` puts heimdalld + heimdallcli on /go/bin (already on PATH). The
# the node before exec'ing heimdalld start. # 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 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/cometbft-common.sh /usr/local/bin/cometbft-common.sh
COPY ./scripts/init.sh /usr/local/bin/init.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 EXPOSE 1317 26656 26657
RUN chmod +x /usr/local/bin/init.sh
# Set entrypoint to our init script
ENTRYPOINT ["init.sh"] ENTRYPOINT ["init.sh"]