ci: add Dockerfile
This commit is contained in:
parent
72ee09b064
commit
65a56f2658
15 changed files with 382 additions and 70 deletions
41
Dockerfile
Normal file
41
Dockerfile
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
FROM python:3.11-slim AS base
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
ENV USERNAME "secretsanta"
|
||||
ENV APP_HOME "/home/$USERNAME"
|
||||
ENV APP_PATH "$APP_HOME/src"
|
||||
|
||||
ARG uid=1000
|
||||
ARG gid=1000
|
||||
|
||||
# hadolint ignore=DL3001,DL3008
|
||||
RUN apt-get -y update \
|
||||
&& apt-get -y upgrade \
|
||||
&& apt-get -y install git curl make python3-virtualenv --no-install-recommends \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& groupadd -g "$gid" "$USERNAME" \
|
||||
&& useradd -lu "$uid" -g "$gid" "$USERNAME" \
|
||||
&& mkhomedir_helper "$USERNAME" \
|
||||
&& mkdir "$APP_PATH" \
|
||||
&& chown "$uid:$gid" "$APP_PATH"
|
||||
|
||||
USER "$USERNAME"
|
||||
ENV PATH="${PATH}:$APP_HOME/.local/bin"
|
||||
ENV PYTHONPATH "$APP_PATH"
|
||||
|
||||
RUN pip install pipx==1.2.0 --no-cache-dir \
|
||||
&& pipx install pdm==2.10
|
||||
|
||||
WORKDIR "$APP_PATH"
|
||||
ENV POETRY_VIRTUALENVS_IN_PROJECT=1
|
||||
COPY --chown="$USERNAME" pyproject.toml pdm.lock Makefile README.md LICENSE ./
|
||||
COPY --chown="$USERNAME" apps/ apps/
|
||||
COPY --chown="$USERNAME" secretsanta/ secretsanta/
|
||||
|
||||
RUN pdm install
|
||||
|
||||
FROM base AS run
|
||||
|
||||
RUN pdm install -G litestar
|
||||
WORKDIR "$APP_PATH/apps/http/litestar"
|
||||
CMD ["pdm", "run", "litestar", "run"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue