{ "name": "NetAlertX DevContainer", "remoteUser": "netalertx", "build": { "dockerfile": "Dockerfile", "context": "..", "target": "devcontainer" }, "workspaceFolder": "/workspaces/NetAlertX", "runArgs": [ "--add-host=host.docker.internal:host-gateway", "--security-opt", "apparmor=unconfined" // for alowing ramdisk mounts ], "capAdd": [ "SYS_ADMIN", // For mounting ramdisks "NET_ADMIN", // For network interface configuration "NET_RAW" // For raw packet manipulation ], "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" }