forked from hsos-ai-lab/agri-gaia-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile-dev
53 lines (35 loc) · 1.74 KB
/
Dockerfile-dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# SPDX-FileCopyrightText: 2024 University of Applied Sciences Osnabrück
# SPDX-FileContributor: Andreas Schliebitz
# SPDX-FileContributor: Henri Graf
# SPDX-FileContributor: Jonas Tüpker
# SPDX-FileContributor: Lukas Hesse
# SPDX-FileContributor: Maik Fruhner
# SPDX-FileContributor: Prof. Dr.-Ing. Heiko Tapken
# SPDX-FileContributor: Tobias Wamhof
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM alpine as backend_binaries
ARG DOCKER_VERSION
ARG NUCLIO_VERSION
RUN wget https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz && tar xzf docker-${DOCKER_VERSION}.tgz
RUN wget https://github.com/nuclio/nuclio/releases/download/${NUCLIO_VERSION}/nuctl-${NUCLIO_VERSION}-linux-amd64
RUN chmod +x nuctl-${NUCLIO_VERSION}-linux-amd64 && mv nuctl-${NUCLIO_VERSION}-linux-amd64 nuctl
FROM alpine as docker_config_stage
RUN apk update && apk add jq moreutils
ARG NVIDIA_NGC_API_KEY
WORKDIR /root
COPY ./config/docker-client/config.json ./config/docker-client/add-nvidia-key.sh ./
RUN ./add-nvidia-key.sh config.json "$NVIDIA_NGC_API_KEY"
FROM python:3.11.3
WORKDIR /code
# debug tools for inter-container-connections
RUN apt-get update && apt-get install -y iputils-ping dnsutils
COPY --from=backend_binaries docker/docker /usr/local/bin
COPY --from=docker/buildx-bin:latest /buildx /usr/local/lib/docker/cli-plugins/docker-buildx
COPY --from=backend_binaries nuctl /usr/local/bin
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade -r requirements.txt
COPY . .
RUN mkdir -p /root/.docker
COPY --from=docker_config_stage /root/config.json /root/.docker/config.json
CMD ["uvicorn", "agri_gaia_backend.main:app", "--proxy-headers", "--host", "0.0.0.0", "--port", "8000", "--reload", "--reload-dir", "/code/agri_gaia_backend"]