Files
Magnus F 121bf4f302 feat: Add Docker builder (#82)
Adds:
- Basic Dockerfile that builds diagon and exposes the binary in a small-ish image (~80MB).
- README section for building and running the image.
2024-11-22 10:21:21 +01:00

20 lines
565 B
Docker

FROM ubuntu:24.04 AS builder
ARG ANTLR_VERSION=4.13.2
ENV ANTLR_VERSION=$ANTLR_VERSION
RUN apt update && \
apt install -y make libboost-graph-dev cmake default-jdk git g++ wget
COPY . /Diagon
RUN mkdir -p Diagon/build && \
cd Diagon/build && \
cmake .. -DCMAKE_BUILD_TYPE=Release && \
wget -O antlr.jar https://www.antlr.org/download/antlr-$ANTLR_VERSION-complete.jar && \
make -j install
FROM ubuntu:24.04 AS runner
COPY --from=builder /usr/local/bin/diagon /usr/local/bin/diagon
RUN useradd -u 1101 diagon
USER 1101
ENTRYPOINT [ "diagon" ]