c2abf1ecf0
* 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
45 lines
1021 B
Docker
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"] |