# See here for image contents: https://github.com/devcontainers/images/blob/main/src/python/.devcontainer/Dockerfile # [Choice] Python version (use -bookworm or -bullseye variants on local arm64/Apple Silicon): # - 3, 3.12, 3.11, 3.10, 3.9, 3.8 # - 3-bookworm, 3.12-bookworm, 3.11-bookworm, 3.10-bookworm, 3.9-bookworm, 3.8-bookworm # - 3-bullseye, 3.12-bullseye, 3.11-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye # - 3-buster, 3.12-buster, 3.11-buster, 3.10-buster, 3.9-buster, 3.8-buster ARG VARIANT="3.12" FROM mcr.microsoft.com/vscode/devcontainers/python:1-${VARIANT} # Add "Poetry": https://python-poetry.org ARG POETRY_HOME="/usr/local" ENV POETRY_HOME="${POETRY_HOME}" RUN set -ex; \ \ curl -sSL https://install.python-poetry.org | python3 -; \ poetry self add poetry-plugin-up; # [Choice] Node.js version: none, lts/*, 18, 16, 14, 12, 10 ARG NODE_VERSION="none" RUN set -ex; \ \ if [ "${NODE_VERSION}" != "none" ]; then \ su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; \ fi # [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. # COPY requirements.txt /tmp/pip-tmp/ # RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ # && rm -rf /tmp/pip-tmp # [Optional] Uncomment this section to install additional OS packages. # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ # && apt-get -y install --no-install-recommends RUN set -ex; \ \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; apt-get install --yes --no-install-recommends \ git-flow \ ; rm -rf /var/lib/apt/lists/*; # [Optional] Uncomment this line to install global node packages. # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1