Newer
Older
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"]