{ "name": "NetAlertX DevContainer", "remoteUser": "netalertx", "build": { "dockerfile": "Dockerfile", "context": "..", "target": "devcontainer" }, "workspaceFolder": "/workspaces/NetAlertX", "runArgs": [ "--privileged", "--cap-add=NET_ADMIN", "--cap-add=NET_RAW", // Ensure containers can resolve host.docker.internal to the host (required on Linux) "--add-host=host.docker.internal:host-gateway" ], "postStartCommand": "${containerWorkspaceFolder}/.devcontainer/scripts/setup.sh", "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-azuretools.vscode-docker", "felixfbecker.php-debug", "bmewburn.vscode-intelephense-client", "xdebug.php-debug", "ms-python.vscode-pylance", "pamaron.pytest-runner", "coderabbit.coderabbit-vscode", "ms-python.black-formatter" ] , "settings": { "terminal.integrated.cwd": "${containerWorkspaceFolder}", // Python testing configuration "python.testing.pytestEnabled": true, "python.testing.unittestEnabled": false, "python.testing.pytestArgs": [ "test" ], // Make sure we discover tests and import server correctly "python.analysis.extraPaths": [ "/workspaces/NetAlertX", "/workspaces/NetAlertX/server", "/app", "/app/server" ] } } }, "forwardPorts": [5678, 9000, 9003, 20211, 20212], "portsAttributes": { "20211": { "label": "Frontend:Nginx+PHP" }, "20212": { "label": "Backend:GraphQL" }, "9003": { "label": "PHP Debug:Xdebug" }, "9000": { "label": "PHP-FPM:FastCGI" }, "5678": { "label": "Python Debug:debugpy" } }, // Optional: ensures compose services are stopped when you close the window "shutdownAction": "stopContainer" }