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