esplora-tapyrus 0.5.8

An efficient re-implementation of Electrum Server in Rust
Documentation
FROM rust:1.93-slim-bookworm AS builder

RUN apt-get update && apt-get install -y \
    clang \
    cmake \
    libsnappy-dev \
    git \
    protobuf-compiler \
    m4 \
    libclang-dev \
    libgmp-dev \
    libmpfr-dev \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY ./Cargo.toml ./Cargo.toml
COPY ./Cargo.lock ./Cargo.lock
RUN mkdir -p src && echo 'fn main() {}' > src/main.rs && cargo build --release

COPY src src
RUN CARGO_BUILD_INCREMENTAL=true cargo build --release

FROM debian:bookworm-slim

COPY --from=builder /app/target/release/electrs /bin/electrs

# Electrum RPC
EXPOSE 50001 60001

# HTTP
EXPOSE 3000 3001

# Prometheus monitoring
EXPOSE 4224 14224

STOPSIGNAL SIGINT