# 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_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) # # `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_REPO=https://github.com/shibaone/heimdall ARG CL_VERSION=v1.0.7-bone FROM golang:1.22 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 EXPOSE 1317 26656 26657 ENTRYPOINT ["init.sh"]