Roo-Code/.devcontainer/devcontainer.json
Roo Code dbe8a5f13d feat: add automatic Chrome dependency installation and Docker browser support for Codespaces
- Implement automatic detection and installation of Chrome dependencies
- Add optional Docker-based browser isolation with configurable settings
- Create comprehensive devcontainer configuration for GitHub Codespaces
- Add environment detection for Codespaces, containers, and Linux systems
- Implement fallback mechanisms: system Chrome -> Docker -> downloaded Chrome
- Add new VS Code settings for Docker browser configuration
- Include post-create and post-start scripts for Codespaces setup
- Add comprehensive tests for browser environment functionality

Fixes #7990
2025-09-15 16:11:27 +00:00

70 lines
2.1 KiB
JSON

{
"name": "Roo Code Development",
"image": "mcr.microsoft.com/devcontainers/typescript-node:20",
// 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/chrome:1": {
"version": "stable"
}
},
// Configure tool-specific properties
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-vscode.vscode-typescript-next",
"RooVeterinaryInc.roo-cline"
],
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"typescript.tsdk": "node_modules/typescript/lib",
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally
"forwardPorts": [3000, 9222],
// Use 'postCreateCommand' to run commands after the container is created
"postCreateCommand": "bash .devcontainer/post-create.sh",
// Use 'postStartCommand' to run commands after the container starts
"postStartCommand": "bash .devcontainer/post-start.sh",
// Set environment variables
"containerEnv": {
"CODESPACES": "true",
"PUPPETEER_SKIP_CHROMIUM_DOWNLOAD": "true",
"PUPPETEER_EXECUTABLE_PATH": "/usr/bin/google-chrome-stable"
},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root
// "remoteUser": "root",
// Features documentation: https://containers.dev/features
"mounts": ["source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"],
// Memory and CPU limits for better performance
"hostRequirements": {
"cpus": 2,
"memory": "4gb",
"storage": "32gb"
}
}