Skip to content

Bundle fireeth into op-reth Dockerfile.sf image#2

Merged
maoueh merged 3 commits into
firehose/2.xfrom
firehose/docker-fireeth-bundle
Jun 16, 2026
Merged

Bundle fireeth into op-reth Dockerfile.sf image#2
maoueh merged 3 commits into
firehose/2.xfrom
firehose/docker-fireeth-bundle

Conversation

@sduchesneau

Copy link
Copy Markdown

Base the op-reth/Dockerfile.sf runtime stage on the firehose-ethereum image (mirrors streamingfast/base's Dockerfile.sf), so the published image ships both fireeth and op-reth. fireeth is the entrypoint and drives op-reth as its reader node.

Changes

  • rust/op-reth/Dockerfile.sf
    • Runtime base chainguard/wolfi-baseghcr.io/streamingfast/firehose-ethereum:${FIREHOSE_ETHEREUM} (default latest).
    • op-reth stays at /usr/local/bin/op-reth (so sf-release.yml's docker cp release asset is unchanged), symlinked into /app next to fireeth.
    • Dropped the op-reth ENTRYPOINT to inherit fireeth's (/app/fireeth).
    • Fixed a binary-path collision: /app/op-reth is the crate source dir in the builder, so the binary is now staged at /app/op-reth-bin.
  • .github/workflows/sf-release.yml
    • New FIREHOSE_ETHEREUM build arg, plumbed from a workflow_dispatch input (default latest).

Behavior change

docker run <image> now starts fireeth, not op-reth directly. Run op-reth standalone via docker run --entrypoint /usr/local/bin/op-reth <image>.

🤖 Generated with Claude Code

sduchesneau and others added 3 commits June 16, 2026 09:04
Base the Dockerfile.sf runtime stage on the firehose-ethereum image (mirrors
streamingfast/base) so the published image ships both fireeth and op-reth, with
fireeth as the entrypoint driving op-reth as its reader node. op-reth stays at
/usr/local/bin/op-reth so sf-release.yml's docker cp release asset is unchanged.

Add a FIREHOSE_ETHEREUM build arg (default latest) plumbed from a new
workflow_dispatch input, and trigger the build workflow on the work branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
/app/op-reth is the crate source dir in the builder stage, so copying the
binary to /app/op-reth nested it at /app/op-reth/op-reth. Stage it at
/app/op-reth-bin so /usr/local/bin/op-reth is the binary file (not a dir) and
docker cp / the /app/op-reth symlink resolve correctly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sduchesneau sduchesneau requested a review from maoueh June 16, 2026 17:17
@maoueh maoueh merged commit cee64ca into firehose/2.x Jun 16, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants