# 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"]