{
  "name": "MQTT Explorer Development",
  "dockerComposeFile": "docker-compose.yml",
  "service": "app",
  "workspaceFolder": "/workspace/MQTT-Explorer",

  "customizations": {
    "vscode": {
      "extensions": [
        "dbaeumer.vscode-eslint",
        "esbenp.prettier-vscode",
        "ms-vscode.vscode-typescript-next",
        "ms-azuretools.vscode-docker",
        "eamodio.gitlens"
      ],
      "settings": {
        "editor.formatOnSave": true,
        "typescript.tsdk": "node_modules/typescript/lib",
        "editor.codeActionsOnSave": {
          "source.fixAll.eslint": "explicit"
        }
      }
    }
  },

  "forwardPorts": [3000, 8080, 1883, 5900, 6080],
  "portsAttributes": {
    "3000": {
      "label": "MQTT Explorer Server",
      "onAutoForward": "notify"
    },
    "8080": {
      "label": "Webpack Dev Server",
      "onAutoForward": "notify"
    },
    "1883": {
      "label": "MQTT Broker",
      "onAutoForward": "ignore"
    },
    "5900": {
      "label": "VNC Server",
      "onAutoForward": "ignore"
    },
    "6080": {
      "label": "noVNC Web Client",
      "onAutoForward": "notify"
    }
  },

  "postCreateCommand": "yarn install",

  "postStartCommand": "sudo apt-get update && sudo apt-get install -y mosquitto xvfb x11vnc ffmpeg tmux python3 python3-pip && sudo pip3 install --break-system-packages websockify",

  "features": {
    "ghcr.io/devcontainers/features/common-utils:2": {
      "installZsh": true,
      "installOhMyZsh": true,
      "upgradePackages": true
    }
  },

  "remoteUser": "node"
}

