#Adapted from iangregsondev - https://github.com/iangregsondev/electrs-docker/blob/main/Dockerfile FROM docker.io/almalinux/9-base:latest as builder ARG VERSION=v{{ electrs_version }} ENV REPO=https://github.com/romanz/electrs.git WORKDIR /build RUN dnf update -y && dnf install -y dnf-plugins-core && dnf config-manager --set-enabled crb && dnf update -y \ && dnf install -y git cargo clang cmake snappy-devel RUN git clone --branch $VERSION $REPO . RUN cargo build --release --bin electrs FROM docker.io/almalinux/9-minimal:latest RUN printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf \ && microdnf update -y \ && microdnf clean all \ && rm -rf /var/cache/* /var/log* /tmp/* COPY --from=builder /build/target/release/electrs /bin/electrs COPY electrs-init.sh /bin/electrs-init.sh RUN chmod +x /bin/electrs-init.sh # Electrum RPC Mainnet EXPOSE 50001 # Electrum RPC Testnet EXPOSE 60001 # Electrum RPC Regtest EXPOSE 60401 # Prometheus monitoring EXPOSE 4224 STOPSIGNAL SIGINT HEALTHCHECK CMD curl -fSs http://localhost:4224/ || exit 1 ENTRYPOINT [ "/bin/electrs-init.sh" ]