{"type":"rich","version":"1.0","title":"kohanucha wrote","author_name":"kohanucha (npub1d0…j0hxg)","author_url":"https://yabu.me/npub1d0gj30ueydl5w6rhggxwc4rn0v0yf49ztt7wxhck9955twusqtuqfj0hxg","provider_name":"njump","provider_url":"https://yabu.me","html":"#siamstr\n\nวันนี้มาแจกตัวอย่าง Dockerfile สำหรับ build electrs server docker image เผื่อใครสนใจทำไว้ run เล่นเองที่บ้านครับ\n\nDockerfile\n```\nFROM rust:slim-bookworm AS build\n\n# Declare build args\nARG VERSION=master\n\n# Install build dependencies\nRUN apt-get update \u0026\u0026 apt-get install -qqy \\\n    clang cmake build-essential git pkg-config libssl-dev \\\n    librocksdb-dev\n\n# Clone and build electrs\nRUN git clone https://github.com/romanz/electrs.git /electrs \u0026\u0026 \\\n    cd /electrs \u0026\u0026 \\\n    git checkout ${VERSION} \u0026\u0026 \\\n    cargo build --locked --release\n\n\nFROM debian:bookworm-slim AS runtime\n\n# Declare runtime args\nARG UID=\nARG GID=\nARG USERNAME=\nARG GROUPNAME=\n\n# Create group and user\nRUN groupadd -g ${GID} ${GROUPNAME} \u0026\u0026 \\\n    useradd -u ${UID} -g ${GID} -m -s /bin/bash ${USERNAME} \u0026\u0026 \\\n    mkdir -p /home/${USERNAME}/electrs/bin /home/${USERNAME}/electrs/db /home/${USERNAME}/electrs/bitcoin \u0026\u0026 \\\n    chown -R ${USERNAME}:${GROUPNAME} /home/${USERNAME}\n\n# Copy the built binary\nCOPY --from=build /electrs/target/release/electrs /home/${USERNAME}/electrs/bin/\n\n# Switch to non-root user\nUSER ${USERNAME}\nWORKDIR /home/${USERNAME}/electrs\n\n# Expose port 50001\nEXPOSE 50001\n\n# Run the binary\nCMD [\"./bin/electrs\"]\n\n```\n\nbuild.sh\n```\n#!/bin/bash\nVERSION=v0.10.9\nexport VERSION=${VERSION}\ndocker buildx build --build-arg VERSION -t electrs:${VERSION} /path/to/dockerfile\n```"}
