-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
35 lines (26 loc) · 1.14 KB
/
Copy pathDockerfile
File metadata and controls
35 lines (26 loc) · 1.14 KB
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
34
35
FROM python:3.13-slim AS build-venv
ARG DEBIAN_FRONTEND=noninteractive
RUN groupadd -g 1001 svc && useradd -r -u 1001 -g svc svc
RUN pip install pdm docker
COPY pyproject.toml pdm.lock /home/svc/
COPY misarch_chaostoolkit /home/svc/misarch_chaostoolkit
RUN export PATH="$PATH:/root/.local/bin" && \
cd /home/svc && \
pdm self update && \
cd /home/svc/ && \
pdm venv create python3.13 && \
pdm use .venv && \
pdm update --no-editable --no-self --dev --frozen-lockfile && \
chown --recursive svc:svc /home/svc/.venv && \
python -c "import misarch_chaostoolkit.chaostoolkit_docker" && \
echo "from misarch_chaostoolkit.chaostoolkit_docker import *" > /home/svc/extension.py
FROM python:3.13-slim
COPY --from=build-venv --chown=svc:svc /home/svc/.venv/ /home/svc/.venv
COPY --from=build-venv --chown=svc:svc /home/svc/misarch_chaostoolkit /home/svc/misarch_chaostoolkit
COPY --from=build-venv --chown=svc:svc /home/svc/extension.py /home/svc/extension.py
WORKDIR /home/svc
USER root
ENV PATH="/home/svc/.venv/bin:$PATH"
ENV PYTHONPATH="/home/svc/:${PYTHONPATH}"
EXPOSE 8890
CMD ["python3", "-m", "misarch_chaostoolkit.webserver"]