2025-02-10 09:44:44 +01:00
|
|
|
# Variables
|
2025-02-11 00:50:25 +02:00
|
|
|
ARG BUILDER=codexstorage/nim-lang:2.0.14
|
2025-02-10 10:27:32 +01:00
|
|
|
ARG IMAGE=ubuntu:24.04
|
2025-02-10 09:44:44 +01:00
|
|
|
ARG BUILD_HOME=/src
|
|
|
|
|
ARG MAKE_PARALLEL=${MAKE_PARALLEL:-4}
|
|
|
|
|
ARG NIMFLAGS="${NIMFLAGS:-"-d:disableMarchNative"}"
|
|
|
|
|
ARG USE_LIBBACKTRACE=${USE_LIBBACKTRACE:-1}
|
|
|
|
|
ARG APP_HOME=/crawler
|
|
|
|
|
|
|
|
|
|
# Build
|
|
|
|
|
FROM ${BUILDER} AS builder
|
|
|
|
|
ARG BUILD_HOME
|
|
|
|
|
ARG MAKE_PARALLEL
|
|
|
|
|
ARG NIMFLAGS
|
|
|
|
|
ARG USE_LIBBACKTRACE
|
2025-02-10 10:27:32 +01:00
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
2025-02-10 09:44:44 +01:00
|
|
|
|
2025-02-10 10:27:32 +01:00
|
|
|
RUN apt-get update && apt-get install -y cmake build-essential
|
2025-02-10 09:44:44 +01:00
|
|
|
|
|
|
|
|
WORKDIR ${BUILD_HOME}
|
|
|
|
|
COPY . .
|
2025-03-24 18:14:11 +02:00
|
|
|
RUN nimble install nimble
|
2025-02-10 09:44:44 +01:00
|
|
|
RUN nimble build
|
|
|
|
|
|
|
|
|
|
# Create
|
|
|
|
|
FROM ${IMAGE}
|
|
|
|
|
ARG BUILD_HOME
|
|
|
|
|
ARG APP_HOME
|
|
|
|
|
|
|
|
|
|
WORKDIR ${APP_HOME}
|
|
|
|
|
COPY --from=builder ${BUILD_HOME}/build/* /usr/local/bin
|
|
|
|
|
COPY --from=builder --chmod=0755 ${BUILD_HOME}/docker/docker-entrypoint.sh /
|
|
|
|
|
RUN apt-get update && apt-get install -y libgomp1 curl jq && rm -rf /var/lib/apt/lists/*
|
2025-02-11 00:50:25 +02:00
|
|
|
|
2025-02-10 09:44:44 +01:00
|
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
|
|
|
CMD ["codexcrawler"]
|