Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 31 additions & 29 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
FROM ubuntu:21.04
FROM ubuntu:22.04 AS build
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get -y install curl gcc make zlib1g-dev && \
apt-get -y clean && \
rm -rf \
/var/lib/apt/lists/* \
/usr/share/doc \
/usr/share/doc-base \
/usr/share/man \
/usr/share/locale \
/usr/share/zoneinfo
apt-get install -y --no-install-recommends \
curl gcc make zlib1g-dev ca-certificates && \
rm -rf /var/lib/apt/lists/*

WORKDIR /root
RUN curl -o nauty27r3.tar.gz http://users.cecs.anu.edu.au/~bdm/nauty/nauty27r3.tar.gz \
&& tar xzvf nauty27r3.tar.gz \
&& cd nauty27r3 \
&& ./configure && make
ARG NAUTY_URL=http://users.cecs.anu.edu.au/~bdm/nauty/nauty27r3.tar.gz
RUN curl -fSL -o nauty27r3.tar.gz "$NAUTY_URL" && \
tar xzf nauty27r3.tar.gz && \
cd nauty27r3 && ./configure && make

ENV NAUTY_HOME=/root/nauty27r3
COPY src/surge.c $NAUTY_HOME
COPY src/Makefile /root

WORKDIR $NAUTY_HOME
RUN ln -s /root/nauty27r3 /root/nauty
RUN make -f ../Makefile clean ; make -f ../Makefile surge
RUN ln -s /root/nauty27r3 /root/nauty && \
make -f ../Makefile clean && \
make -f ../Makefile surge

FROM ubuntu:21.04
FROM ubuntu:22.04 AS runtime
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get -y install curl time gnupg zlib1g && \
apt-get -y clean && \
rm -rf \
/var/lib/apt/lists/* \
/usr/share/doc \
/usr/share/doc-base \
/usr/share/man \
/usr/share/locale \
/usr/share/zoneinfo
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && apt-get update -y && apt-get install google-cloud-sdk -y

COPY --from=0 /root/nauty27r3/surge /usr/bin
apt-get install -y --no-install-recommends \
curl time gnupg zlib1g ca-certificates && \
rm -rf /var/lib/apt/lists/*

RUN install -d /usr/share/keyrings && \
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
| gpg --dearmor -o /usr/share/keyrings/google-cloud-sdk.gpg && \
echo "deb [signed-by=/usr/share/keyrings/google-cloud-sdk.gpg] https://packages.cloud.google.com/apt cloud-sdk main" \
> /etc/apt/sources.list.d/google-cloud-sdk.list && \
apt-get update -y && \
apt-get install -y --no-install-recommends google-cloud-sdk && \
rm -rf /var/lib/apt/lists/*

COPY --from=build /root/nauty27r3/surge /usr/bin