{ "name": "Headroom", "build": { "dockerfile": "Dockerfile", "context": ".." }, "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/github-cli:1": {} }, "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", "remoteUser": "vscode", "updateRemoteUserUID": true, "init": true, "containerEnv": { "PIP_DISABLE_PIP_VERSION_CHECK": "1", "PYTHONUNBUFFERED": "1", "UV_LINK_MODE": "copy", "UV_PROJECT_ENVIRONMENT": "/home/vscode/.venvs/headroom" }, "mounts": [ "source=headroom-venv-${localWorkspaceFolderBasename},target=/home/vscode/.venvs,type=volume", "source=headroom-uv-cache,target=/home/vscode/.cache/uv,type=volume", "source=headroom-pip-cache,target=/home/vscode/.cache/pip,type=volume", "source=${localWorkspaceFolder}/../../../../../../../../,target=/workspaces-host,type=bind,consistency=cached" ], "postCreateCommand": "bash .devcontainer/post-create.sh", "postStartCommand": "bash -lc 'git rev-parse --git-dir >/dev/null 2>&1 && git config --global --add safe.directory \"${containerWorkspaceFolder}\" || true'", "forwardPorts": [ 8787 ], "portsAttributes": { "8787": { "label": "Headroom proxy", "onAutoForward": "notify" } }, "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-python.vscode-pylance", "charliermarsh.ruff", "ms-azuretools.vscode-docker", "GitHub.vscode-github-actions" ], "settings": { "editor.formatOnSave": true, "files.eol": "\n", "python.analysis.typeCheckingMode": "basic", "python.defaultInterpreterPath": "/home/vscode/.venvs/headroom/bin/python", "python.terminal.activateEnvironment": false, "python.testing.pytestArgs": [ "tests" ], "python.testing.pytestEnabled": true, "[python]": { "editor.defaultFormatter": "charliermarsh.ruff" } } } } }