From 5c5129d9755e77f2db8865a3f679a718b1594f77 Mon Sep 17 00:00:00 2001 From: ZKWolf <34097612+wolfswolke@users.noreply.github.com> Date: Tue, 14 May 2024 23:11:06 +0200 Subject: [PATCH] Split layers for docker to cache --- Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f2755ee..4ec5e9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,45 @@ FROM python:3.13.0a6-alpine3.18 -RUN apk upgrade && apk add curl && apk upgrade busybox # CVE-2022-48174 +RUN apk upgrade && apk add curl + +# copying each folder one by one so docker can cache the layers +#COPY . /app +RUN mkdir -p /app/ +RUN mkdir -p /app/src +RUN mkdir -p /app/src/logic +COPY src/start_app.py /app/src/start_app.py +COPY src/flask_definitions.py /app/src/flask_definitions.py + +COPY src/config/ /app/src/config/ + +COPY src/endpoints/general.py /app/src/endpoints/general.py +COPY src/endpoints/logging.py /app/src/endpoints/logging.py +COPY src/endpoints/matchmaking.py /app/src/endpoints/matchmaking.py +COPY src/endpoints/unknown.py /app/src/endpoints/unknown.py +COPY src/endpoints/user_handeling.py /app/src/endpoints/user_handeling.py +COPY src/endpoints/web.py /app/src/endpoints/web.py + +COPY src/files/ /app/src/files/ +COPY src/image/ /app/src/image/ +COPY src/json/ /app/src/json/ +COPY src/static/ /app/src/static/ +COPY src/templates/ /app/src/templates/ +COPY src/util/ /app/src/util/ + +# Copy logic +COPY src/logic/challenge_handler.py /app/src/logic/challenge_handler.py +COPY src/logic/challenge_handler_new.py /app/src/logic/challenge_handler_new.py +COPY src/logic/file_handler.py /app/src/logic/file_handler.py +COPY src/logic/global_handlers.py /app/src/logic/global_handlers.py +COPY src/logic/hash_handler.py /app/src/logic/hash_handler.py +COPY src/logic/level_handler.py /app/src/logic/level_handler.py +COPY src/logic/logging_handler.py /app/src/logic/logging_handler.py +COPY src/logic/mongodb_handler.py /app/src/logic/mongodb_handler.py +COPY src/logic/queue_handler.py /app/src/logic/queue_handler.py +COPY src/logic/setup_handlers.py /app/src/logic/setup_handlers.py +COPY src/logic/time_handler.py /app/src/logic/time_handler.py +COPY src/logic/webhook_handler.py /app/src/logic/webhook_handler.py -COPY . /app COPY requirements.txt /app/src/requirements.txt WORKDIR /app/src