Join Nostr
2025-07-18 00:56:51 UTC

kohanucha on Nostr: #siamstr วันนี้มาแจกตัวอย่าง Dockerfile ...

#siamstr

วันนี้มาแจกตัวอย่าง Dockerfile สำหรับ build electrs server docker image เผื่อใครสนใจทำไว้ run เล่นเองที่บ้านครับ

Dockerfile
```
FROM rust:slim-bookworm AS build

# Declare build args
ARG VERSION=master

# Install build dependencies
RUN apt-get update && apt-get install -qqy \
clang cmake build-essential git pkg-config libssl-dev \
librocksdb-dev

# Clone and build electrs
RUN git clone https://github.com/romanz/electrs.git /electrs && \
cd /electrs && \
git checkout ${VERSION} && \
cargo build --locked --release


FROM debian:bookworm-slim AS runtime

# Declare runtime args
ARG UID=
ARG GID=
ARG USERNAME=
ARG GROUPNAME=

# Create group and user
RUN groupadd -g ${GID} ${GROUPNAME} && \
useradd -u ${UID} -g ${GID} -m -s /bin/bash ${USERNAME} && \
mkdir -p /home/${USERNAME}/electrs/bin /home/${USERNAME}/electrs/db /home/${USERNAME}/electrs/bitcoin && \
chown -R ${USERNAME}:${GROUPNAME} /home/${USERNAME}

# Copy the built binary
COPY --from=build /electrs/target/release/electrs /home/${USERNAME}/electrs/bin/

# Switch to non-root user
USER ${USERNAME}
WORKDIR /home/${USERNAME}/electrs

# Expose port 50001
EXPOSE 50001

# Run the binary
CMD ["./bin/electrs"]

```

build.sh
```
#!/bin/bash
VERSION=v0.10.9
export VERSION=${VERSION}
docker buildx build --build-arg VERSION -t electrs:${VERSION} /path/to/dockerfile
```