Files
grin-node/Dockerfile
T
ardocrat c2abf1ecf0 GHCR: add arm platform, crash fixes (#3819)
* ghcr: add arm platform, remove attestation

* ghcr: checkout code to get version

* ghcr: fix tag var format

* docker: --no-tui flag for entrypoint

* docker: install ca-certificates to be able to use grin client inside container

* docker: add default volume, expose API port exposable by making IP address public
2026-02-27 11:52:31 -05:00

45 lines
1021 B
Docker

# Builder
FROM rust:slim-trixie AS builder
WORKDIR /usr/src/grin
COPY . .
RUN apt update && \
apt install -y libncurses5-dev libncursesw5-dev
RUN cargo build --release
# Runner
FROM debian:trixie-slim
COPY --from=builder /usr/src/grin/target/release/grin /usr/local/bin/grin
RUN apt update && \
apt install -y libncursesw5-dev && \
apt-get install -y ca-certificates && update-ca-certificates
# Create mainnet config
WORKDIR /root/.grin/main
RUN grin server config
RUN sed -i '/^run_tui /s/=.*$/= false/' grin-server.toml
RUN sed -i '/^api_http_addr /s/=.*$/= "0.0.0.0:3413"/' grin-server.toml
# Create testnet config
WORKDIR /root/.grin/test
RUN grin --testnet server config
RUN sed -i '/^run_tui /s/=.*$/= false/' grin-server.toml
RUN sed -i '/^api_http_addr /s/=.*$/= "0.0.0.0:13413"/' grin-server.toml
VOLUME ["/root/.grin"]
# Mainnet ports
EXPOSE 3413 3414
# Testnet ports
EXPOSE 13413 13414
# Stratum port
EXPOSE 3416
WORKDIR /root/.grin
ENTRYPOINT ["grin", "--no-tui"]
CMD ["server", "run"]