|
2 | 2 | ARG USERNAME=ContainerUser |
3 | 3 | ARG PYTHONVERSION=3.11 |
4 | 4 |
|
| 5 | +# ############################################################################################################ |
5 | 6 | FROM python:${PYTHONVERSION} AS python-base |
6 | 7 |
|
7 | | -ENV POETRY_VERSION=2.0.1 |
| 8 | +ENV POETRY_VERSION=2.1.1 |
8 | 9 | ENV POETRY_CACHE_DIR=/var/cache/poetry \ |
9 | 10 | POETRY_HOME=/opt/poetry \ |
10 | 11 | PATH=/opt/poetry/bin:${PATH}\ |
11 | 12 | PYTHONFAULTHANDLER=1 \ |
12 | 13 | PYTHONUNBUFFERED=1 \ |
13 | | - PIP_DISABLE_PIP_VERSION_CHECK=on \ |
14 | | - PIP_CACHE_DIR=/var/cache/pip \ |
15 | | - UV_CACHE_DIR=/var/cache/uv \ |
16 | | - UV_LINK_MODE=copy |
17 | | -RUN mkdir -p $PIP_CACHE_DIR $POETRY_CACHE_DIR $UV_CACHE_DIR |
18 | | - |
| 14 | + PIP_CACHE_DIR=/var/cache/pip |
| 15 | +RUN mkdir -p $PIP_CACHE_DIR $POETRY_CACHE_DIR |
19 | 16 |
|
| 17 | +# ############################################################################################################ |
20 | 18 | FROM python-base AS poetry-base |
21 | 19 |
|
22 | 20 | # Poetry install |
23 | 21 | RUN set -x; \ |
24 | 22 | curl -sSL https://install.python-poetry.org | python3 - \ |
25 | 23 | && poetry self add poetry-bumpversion |
26 | 24 |
|
27 | | - |
| 25 | +# ############################################################################################################ |
28 | 26 | FROM python-base AS devcontainer |
29 | 27 | ARG USERNAME |
30 | 28 | LABEL org.opencontainers.image.source=https://github.com/OpenJKSoftware/python-devcontainer |
31 | 29 |
|
32 | 30 | # Install uv |
33 | 31 | COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ |
| 32 | +ENV UV_CACHE_DIR=/var/cache/uv \ |
| 33 | + UV_LINK_MODE=copy |
| 34 | +RUN mkdir -p $UV_CACHE_DIR |
34 | 35 |
|
35 | 36 | # Install Base Reqs |
36 | 37 | COPY scripts/install_base_deps.sh /tmp/ |
@@ -63,15 +64,15 @@ RUN set -x; \ |
63 | 64 |
|
64 | 65 | # Copy Poetry from other stage and add to path |
65 | 66 | COPY --from=poetry-base --chown=${USERNAME}:${USERNAME} ${POETRY_HOME} ${POETRY_HOME} |
66 | | -RUN chown -R ${USERNAME}:${USERNAME} $PIP_CACHE_DIR $POETRY_CACHE_DIR $UV_CACHE_DIR |
| 67 | +RUN bash -c "chown -R ${USERNAME}:${USERNAME} {${PIP_CACHE_DIR},${POETRY_CACHE_DIR},${UV_CACHE_DIR}}" |
67 | 68 |
|
68 | 69 | # Non Root User |
69 | 70 | USER ${USERNAME} |
70 | 71 | WORKDIR /home/${USERNAME} |
71 | 72 |
|
72 | 73 | # Oh-My-Zsh user config |
73 | 74 | RUN set -x ; \ |
74 | | - mkdir -p {.zfunc,.commandhistory} \ |
| 75 | + bash -c "mkdir -p {.zfunc,.commandhistory}" \ |
75 | 76 | && sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended |
76 | 77 | COPY --chown=${USERNAME}:${USERNAME} .zshrc .zshrc |
77 | 78 |
|
|
0 commit comments