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
74 changes: 68 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
FROM python:3.8-slim-buster as base

# Builder
FROM base as builder
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM base as builder

ARG OPENCVE_REPOSITORY
ARG OPENCVE_VERSION
Expand All @@ -25,14 +26,75 @@ RUN python3 -m venv /app/venv

ENV PATH="/app/venv/bin:$PATH"

RUN python3 -m pip install --upgrade pip

RUN python3 -m pip install /opencve/
RUN python3 -m pip install --upgrade pip --no-cache-dir

COPY run.sh .


# linux/arm64 builder
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM builder as builder-arm64

ARG HTTP_PROXY
ARG HTTPS_PROXY

ENV http_proxy=$HTTP_PROXY
ENV https_proxy=$HTTPS_PROXY

RUN apt-get update && apt-get upgrade -y && apt-get install -y \
libpq-dev \
gcc \
&& rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/ /app/

WORKDIR /app

ENV PATH="/app/venv/bin:$PATH"

RUN python3 -m pip install psycopg2-binary /opencve --no-cache-dir


# linux/amd64 builder
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM builder as builder-amd64

ARG HTTP_PROXY
ARG HTTPS_PROXY

ENV http_proxy=$HTTP_PROXY
ENV https_proxy=$HTTPS_PROXY

WORKDIR /app

ENV PATH="/app/venv/bin:$PATH"

RUN python3 -m pip install /opencve --no-cache-dir


# final-arm64
FROM --platform=linux/arm64 base as final-arm64

ARG HTTP_PROXY
ARG HTTPS_PROXY

ENV http_proxy=$HTTP_PROXY
ENV https_proxy=$HTTPS_PROXY

RUN apt-get update && apt-get upgrade -y && apt-get install libpq5 -y \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder-arm64 /app/ /app/


# final-amd64
FROM --platform=linux/amd64 base as final-amd64
COPY --from=builder-amd64 /app/ /app/

ARG TARGETARCH
FROM final-${TARGETARCH} as final

# OpenCVE Image
FROM base
FROM final

ARG OPENCVE_REPOSITORY
ARG HTTP_PROXY
Expand All @@ -49,7 +111,7 @@ RUN apt-get update && apt-get upgrade -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/ /app/
COPY --from=final /app/ /app/

WORKDIR /app

Expand Down