electrs 0.8.10

An efficient re-implementation of Electrum Server in Rust
Documentation
FROM rust:1.44.1-slim-buster as builder

WORKDIR /build

RUN apt-get update \
    && apt-get install -y --no-install-recommends clang=1:7.* cmake=3.* \
    libsnappy-dev=1.* \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

COPY . .

RUN cargo install --locked --path .

# Create runtime image
FROM debian:buster-slim

WORKDIR /app

RUN apt-get update \
    && apt-get install -y --no-install-recommends curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN groupadd -r user \
    && adduser --disabled-login --system --shell /bin/false --uid 1000 --ingroup user user

COPY --from=builder --chown=user:user \
    /build/target/release/electrs .

USER user

# Electrum RPC
EXPOSE 50001

# Prometheus monitoring
EXPOSE 4224

STOPSIGNAL SIGINT

HEALTHCHECK CMD curl -fSs http://localhost:4224/ || exit 1

ENTRYPOINT ["./electrs"]