diff --git a/api/.devcontainer/Dockerfile b/api/.devcontainer/Dockerfile index c123945..733261d 100644 --- a/api/.devcontainer/Dockerfile +++ b/api/.devcontainer/Dockerfile @@ -1,12 +1,19 @@ -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/python-3/.devcontainer/base.Dockerfile +# See here for image contents: https://github.com/devcontainers/images/blob/main/src/python/.devcontainer/Dockerfile -# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster -ARG VARIANT="3.10-bullseye" +# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): +# - 3, 3.11, 3.10, 3.9, 3.8, 3.7, 3.6 +# - 3-bullseye, 3.11-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye +# - 3-buster, 3.11-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster +ARG VARIANT="3.11-bullseye" FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} -# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 +# [Choice] Node.js version: none, lts/*, 18, 16, 14, 12, 10 ARG NODE_VERSION="none" -RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi +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/ @@ -17,12 +24,12 @@ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/ # 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 -y install --no-install-recommends \ - git-flow \ + apt-get update; apt-get install --yes --no-install-recommends \ + git-flow \ + git-lfs \ ; rm -rf /var/lib/apt/lists/*; # [Optional] Uncomment this line to install global node packages. diff --git a/api/.devcontainer/devcontainer.json b/api/.devcontainer/devcontainer.json index ea0bbda..0ae6217 100644 --- a/api/.devcontainer/devcontainer.json +++ b/api/.devcontainer/devcontainer.json @@ -1,15 +1,15 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/python-3 +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/python { - "name": "Python 3", + "name": "Advent22 API", "build": { "dockerfile": "Dockerfile", "context": "..", "args": { - // Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6 + // Update 'VARIANT' to pick a Python version. // Append -bullseye or -buster to pin to an OS version. // Use -bullseye variants on local on arm64/Apple Silicon. - "VARIANT": "3.10", + // "VARIANT": "3.11-bullseye", // Options "NODE_VERSION": "none" } @@ -36,16 +36,21 @@ // Add the IDs of extensions you want installed when the container is created. "extensions": [ "ms-python.python", + "ms-python.flake8", + "ms-python.isort", "ms-python.vscode-pylance", "be5invis.toml" ] } }, + // Use 'postStartCommand' to run commands after the container is started. + "postStartCommand": "poetry install" + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. // "postCreateCommand": "pip3 install --user -r requirements.txt", - "postStartCommand": "poetry install", - // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" } \ No newline at end of file