/
Dockerfile
33 lines (23 loc) · 876 Bytes
/
Dockerfile
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
FROM python:3.12-slim AS base
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV POETRY_CACHE_DIR='/var/cache/pypoetry'
ENV POETRY_HOME='/usr/local'
ENV APP_HOME=/code
ENV APP_USER=appuser
RUN groupadd --system $APP_USER && \
useradd --system --gid $APP_USER --create-home --home $APP_HOME $APP_USER
WORKDIR ${APP_HOME}
RUN pip install poetry
RUN poetry config virtualenvs.in-project true
ADD --chown=${APP_USER}:${APP_USER} pyproject.toml poetry.lock ./
RUN poetry install --no-interaction --no-root --no-ansi
FROM base
LABEL org.opencontainers.image.source https://github.com/TheSpaceDevs/spaceflightnewsapi
ARG RELEASE_VERSION
ENV SNAPI_VERSION=$RELEASE_VERSION
COPY --chown=${APP_USER}:${APP_USER} --from=base ${APP_HOME} ${APP_HOME}
ADD --chown=${APP_USER}:${APP_USER} . ${APP_HOME}
ENV PATH="${APP_HOME}/.venv/bin:$PATH"
USER ${APP_USER}
EXPOSE 8000