diff --git a/Dockerfile_api b/Dockerfile_api new file mode 100644 index 0000000000000000000000000000000000000000..76c43d9cd1beef2337a83f4d273359f7bc6b443d --- /dev/null +++ b/Dockerfile_api @@ -0,0 +1,30 @@ +FROM python:3.12-alpine AS poetry + +RUN apk update && apk upgrade && \ + apk add curl gcc python3-dev libc-dev build-base linux-headers postgresql-dev && \ + rm -rf /var/cache/apk +RUN curl https://install.python-poetry.org | python - + +COPY api/pyproject.toml /opt/RoadmapApi/pyproject.toml +COPY api/poetry.lock /opt/RoadmapApi/poetry.lock +COPY api/ /opt/RoadmapApi/src + +WORKDIR /opt/RoadmapApi +RUN /root/.local/bin/poetry install --without dev --no-root +RUN ln -s $($HOME/.local/share/pypoetry/venv/bin/poetry env info -p) /opt/RoadmapApi/venv + +FROM python:3.12-alpine + +RUN apk update && apk upgrade && \ + apk add postgresql-libs && \ + rm -rf /var/cache/apk + +COPY api/ /opt/RoadmapApi/src +COPY --from=poetry /opt/RoadmapApi/venv /opt/RoadmapApi/venv + +RUN adduser -D roadmapapi && chown -R roadmapapi:roadmapapi /opt/RoadmapApi +USER roadmapapi + +WORKDIR /opt/RoadmapApi/src +EXPOSE 8080 +CMD [ "/opt/RoadmapApi/venv/bin/python", "/opt/RoadmapApi/src/RoadmapAPIServer.py"] diff --git a/Dockerfile_client b/Dockerfile_client new file mode 100644 index 0000000000000000000000000000000000000000..7a220f59be59a89939256fdfb49f36165fb9e523 --- /dev/null +++ b/Dockerfile_client @@ -0,0 +1,29 @@ +FROM python:3.12-alpine AS poetry + +RUN apk update && apk upgrade && \ + apk add curl gcc python3-dev libc-dev build-base linux-headers && \ + rm -rf /var/cache/apk +RUN curl https://install.python-poetry.org | python - + +COPY client/pyproject.toml /opt/RoadmapClient/pyproject.toml +COPY client/poetry.lock /opt/RoadmapClient/poetry.lock +COPY client/ /opt/RoadmapClient/src + +WORKDIR /opt/RoadmapClient +RUN /root/.local/bin/poetry install --without dev --no-root +RUN ln -s $($HOME/.local/share/pypoetry/venv/bin/poetry env info -p) /opt/RoadmapClient/venv + +FROM python:3.12-alpine + +RUN apk update && apk upgrade && \ + rm -rf /var/cache/apk + +COPY client/ /opt/RoadmapClient/src +COPY --from=poetry /opt/RoadmapClient/venv /opt/RoadmapClient/venv + +RUN adduser -D roadmapclient && chown -R roadmapclient:roadmapclient /opt/RoadmapClient +USER roadmapclient + +WORKDIR /opt/RoadmapClient/src +EXPOSE 8080 +CMD [ "/opt/RoadmapClient/venv/bin/python", "/opt/RoadmapClient/src/RoadmapClient.py"]