{ "name": "Apache Superset Development", "dockerComposeFile": [ "../docker-compose-light.yml" ], "service": "superset-node-light", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // Use the light config for faster startup and lower resource usage "shutdownAction": "stopCompose", // Forward ports for development "forwardPorts": [9001, 8088], "portsAttributes": { "9001": { "label": "Superset Frontend", "onAutoForward": "notify" }, "8088": { "label": "Superset Backend API", "onAutoForward": "silent" } }, // VS Code extensions for Superset development "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-python.vscode-pylance", "ms-python.black-formatter", "charliermarsh.ruff", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "ms-vscode.vscode-typescript-tslint-plugin", "eamodio.gitlens", "github.copilot", "ms-azuretools.vscode-docker" ], "settings": { "python.defaultInterpreterPath": "/usr/local/bin/python", "python.linting.enabled": true, "python.linting.pylintEnabled": false, "python.formatting.provider": "black", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" } } } }, // Environment variables for development "remoteEnv": { "FLASK_ENV": "development", "SUPERSET_ENV": "development", "CYPRESS_CACHE_FOLDER": "/tmp/cypress_cache", // Enable hot reloading "FLASK_DEBUG": "1", // For multiple instances, use different project names "COMPOSE_PROJECT_NAME": "${localEnv:CODESPACE_NAME}" }, // Run commands after container is created "postCreateCommand": "chmod +x .devcontainer/start-superset.sh && echo '🚀 Superset Codespace ready! Run: .devcontainer/start-superset.sh to start'", // Auto-start Superset on Codespace resume "postStartCommand": ".devcontainer/start-superset.sh", // Features to add to the dev container "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/devcontainers/features/node:1": { "version": "18" } }, // Memory and CPU (Codespaces will provision accordingly) "hostRequirements": { "cpus": 4, "memory": "8gb", "storage": "32gb" } }