mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
89 lines
3.3 KiB
JSON
89 lines
3.3 KiB
JSON
// 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.241.1/containers/python-3
|
|
{
|
|
"name": "InvenTree",
|
|
"build": {
|
|
"dockerfile": "../Dockerfile",
|
|
"context": "..",
|
|
"target": "devcontainer",
|
|
"args": {
|
|
"base_image": "mcr.microsoft.com/vscode/devcontainers/base:alpine-3.18",
|
|
"workspace": "${containerWorkspaceFolder}"
|
|
}
|
|
},
|
|
|
|
// Configure tool-specific properties.
|
|
"customizations": {
|
|
// Configure properties specific to VS Code.
|
|
"vscode": {
|
|
// Set *default* container specific settings.json values on container create.
|
|
"settings": {
|
|
"python.defaultInterpreterPath": "${containerWorkspaceFolder}/dev/venv/bin/python",
|
|
"python.linting.enabled": true,
|
|
"python.linting.pylintEnabled": false,
|
|
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
|
|
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
|
|
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
|
|
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
|
|
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
|
|
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
|
|
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
|
|
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint"
|
|
},
|
|
|
|
// Add the IDs of extensions you want installed when the container is created.
|
|
"extensions": [
|
|
"ms-python.python",
|
|
"ms-python.vscode-pylance",
|
|
"batisteo.vscode-django",
|
|
"eamodio.gitlens"
|
|
]
|
|
}
|
|
},
|
|
|
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
"forwardPorts": [5173, 8000],
|
|
"portsAttributes": {
|
|
"5173": {
|
|
"label": "Vite server"
|
|
},
|
|
"8000": {
|
|
"label": "InvenTree server"
|
|
}
|
|
},
|
|
|
|
// Use 'postCreateCommand' to run commands after the container is created.
|
|
"postCreateCommand": "./.devcontainer/postCreateCommand.sh ${containerWorkspaceFolder}",
|
|
|
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
"remoteUser": "vscode",
|
|
"containerUser": "vscode",
|
|
"features": {
|
|
"git": "os-provided"
|
|
},
|
|
|
|
"remoteEnv": {
|
|
// InvenTree config
|
|
"INVENTREE_DEBUG": "True",
|
|
"INVENTREE_LOG_LEVEL": "INFO",
|
|
"INVENTREE_DB_ENGINE": "sqlite3",
|
|
"INVENTREE_DB_NAME": "${containerWorkspaceFolder}/dev/database.sqlite3",
|
|
"INVENTREE_MEDIA_ROOT": "${containerWorkspaceFolder}/dev/media",
|
|
"INVENTREE_STATIC_ROOT": "${containerWorkspaceFolder}/dev/static",
|
|
"INVENTREE_BACKUP_DIR": "${containerWorkspaceFolder}/dev/backup",
|
|
"INVENTREE_CONFIG_FILE": "${containerWorkspaceFolder}/dev/config.yaml",
|
|
"INVENTREE_SECRET_KEY_FILE": "${containerWorkspaceFolder}/dev/secret_key.txt",
|
|
"INVENTREE_PLUGINS_ENABLED": "True",
|
|
"INVENTREE_PLUGIN_DIR": "${containerWorkspaceFolder}/dev/plugins",
|
|
"INVENTREE_PLUGIN_FILE": "${containerWorkspaceFolder}/dev/plugins.txt",
|
|
|
|
// Python config
|
|
"PIP_USER": "no",
|
|
|
|
// used to load the venv into the PATH and activate it
|
|
// Ref: https://stackoverflow.com/a/56286534
|
|
"VIRTUAL_ENV": "${containerWorkspaceFolder}/dev/venv",
|
|
"PATH": "${containerWorkspaceFolder}/dev/venv/bin:${containerEnv:PATH}"
|
|
}
|
|
}
|