Invalid JSON:
Unexpected token '/', "// For for"... is not valid JSON
| // For format details, see https://aka.ms/devcontainer.json. For config options, see the | |
| // README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node | |
| { | |
| "name": "Node.js", | |
| // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile | |
| // "build": { | |
| // "args": { | |
| // "ARG_UID": "1000", | |
| // "ARG_GID": "1000" | |
| // }, | |
| // "dockerfile": "Dockerfile" | |
| // }, | |
| // "containerUser": "anythingllm", | |
| // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile | |
| "image": "mcr.microsoft.com/devcontainers/javascript-node:1-18-bookworm", | |
| // Features to add to the dev container. More info: https://containers.dev/features. | |
| "features": { | |
| // Docker very useful linter | |
| "ghcr.io/dhoeric/features/hadolint:1": { | |
| "version": "latest" | |
| }, | |
| // Terraform support | |
| "ghcr.io/devcontainers/features/terraform:1": {}, | |
| // Just a wrap to install needed packages | |
| "ghcr.io/devcontainers-contrib/features/apt-packages:1": { | |
| // Dependencies copied from ../docker/Dockerfile plus some dev stuff | |
| "packages": [ | |
| "build-essential", | |
| "ca-certificates", | |
| "curl", | |
| "ffmpeg", | |
| "fonts-liberation", | |
| "git", | |
| "gnupg", | |
| "htop", | |
| "less", | |
| "libappindicator1", | |
| "libasound2", | |
| "libatk-bridge2.0-0", | |
| "libatk1.0-0", | |
| "libc6", | |
| "libcairo2", | |
| "libcups2", | |
| "libdbus-1-3", | |
| "libexpat1", | |
| "libfontconfig1", | |
| "libgbm1", | |
| "libgcc1", | |
| "libgfortran5", | |
| "libglib2.0-0", | |
| "libgtk-3-0", | |
| "libnspr4", | |
| "libnss3", | |
| "libpango-1.0-0", | |
| "libpangocairo-1.0-0", | |
| "libstdc++6", | |
| "libx11-6", | |
| "libx11-xcb1", | |
| "libxcb1", | |
| "libxcomposite1", | |
| "libxcursor1", | |
| "libxdamage1", | |
| "libxext6", | |
| "libxfixes3", | |
| "libxi6", | |
| "libxrandr2", | |
| "libxrender1", | |
| "libxss1", | |
| "libxtst6", | |
| "locales", | |
| "lsb-release", | |
| "procps", | |
| "tzdata", | |
| "wget", | |
| "xdg-utils" | |
| ] | |
| } | |
| }, | |
| "updateContentCommand": "cd server && yarn && cd ../collector && PUPPETEER_DOWNLOAD_BASE_URL=https://storage.googleapis.com/chrome-for-testing-public yarn && cd ../frontend && yarn && cd .. && yarn setup:envs && yarn prisma:setup && echo \"Please run yarn dev:server, yarn dev:collector, and yarn dev:frontend in separate terminal tabs.\"", | |
| // Use 'postCreateCommand' to run commands after the container is created. | |
| // This configures VITE for github codespaces and installs gh cli | |
| "postCreateCommand": "if [ \"${CODESPACES}\" = \"true\" ]; then echo 'VITE_API_BASE=\"https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api\"' > ./frontend/.env && (type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) && sudo mkdir -p -m 755 /etc/apt/keyrings && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt update && sudo apt install gh -y; fi", | |
| "portsAttributes": { | |
| "3001": { | |
| "label": "Backend", | |
| "onAutoForward": "notify" | |
| }, | |
| "3000": { | |
| "label": "Frontend", | |
| "onAutoForward": "openPreview" | |
| } | |
| }, | |
| "capAdd": [ | |
| "SYS_ADMIN" // needed for puppeteer using headless chrome in sandbox | |
| ], | |
| "remoteEnv": { | |
| "NODE_ENV": "development", | |
| "ESLINT_USE_FLAT_CONFIG": "true", | |
| "ANYTHING_LLM_RUNTIME": "docker" | |
| }, | |
| // "initializeCommand": "echo Initialize....", | |
| "shutdownAction": "stopContainer", | |
| // Configure tool-specific properties. | |
| "customizations": { | |
| "codespaces": { | |
| "openFiles": [ | |
| "README.md", | |
| ".devcontainer/README.md" | |
| ] | |
| }, | |
| "vscode": { | |
| "openFiles": [ | |
| "README.md", | |
| ".devcontainer/README.md" | |
| ], | |
| "extensions": [ | |
| "bierner.github-markdown-preview", | |
| "bradlc.vscode-tailwindcss", | |
| "dbaeumer.vscode-eslint", | |
| "editorconfig.editorconfig", | |
| "esbenp.prettier-vscode", | |
| "exiasr.hadolint", | |
| "flowtype.flow-for-vscode", | |
| "gamunu.vscode-yarn", | |
| "hashicorp.terraform", | |
| "mariusschulz.yarn-lock-syntax", | |
| "ms-azuretools.vscode-docker", | |
| "streetsidesoftware.code-spell-checker", | |
| "actboy168.tasks", | |
| "tombonnike.vscode-status-bar-format-toggle", | |
| "ms-vscode.js-debug" | |
| ], | |
| "settings": { | |
| "[css]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[dockercompose]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[dockerfile]": { | |
| "editor.defaultFormatter": "ms-azuretools.vscode-docker" | |
| }, | |
| "[html]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[javascript]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[javascriptreact]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[json]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[jsonc]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[markdown]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[postcss]": { | |
| "editor.defaultFormatter": "esbenp.prettier-vscode" | |
| }, | |
| "[toml]": { | |
| "editor.defaultFormatter": "tamasfe.even-better-toml" | |
| }, | |
| "eslint.debug": true, | |
| "eslint.enable": true, | |
| "eslint.experimental.useFlatConfig": true, | |
| "eslint.run": "onSave", | |
| "files.associations": { | |
| ".*ignore": "ignore", | |
| ".editorconfig": "editorconfig", | |
| ".env*": "properties", | |
| ".flowconfig": "ini", | |
| ".prettierrc": "json", | |
| "*.css": "tailwindcss", | |
| "*.md": "markdown", | |
| "*.sh": "shellscript", | |
| "docker-compose.*": "dockercompose", | |
| "Dockerfile*": "dockerfile", | |
| "yarn.lock": "yarnlock" | |
| }, | |
| "javascript.format.enable": false, | |
| "javascript.inlayHints.enumMemberValues.enabled": true, | |
| "javascript.inlayHints.functionLikeReturnTypes.enabled": true, | |
| "javascript.inlayHints.parameterTypes.enabled": true, | |
| "javascript.inlayHints.variableTypes.enabled": true, | |
| "js/ts.implicitProjectConfig.module": "CommonJS", | |
| "json.format.enable": false, | |
| "json.schemaDownload.enable": true, | |
| "npm.autoDetect": "on", | |
| "npm.packageManager": "yarn", | |
| "prettier.useEditorConfig": false, | |
| "tailwindCSS.files.exclude": [ | |
| "**/.git/**", | |
| "**/node_modules/**", | |
| "**/.hg/**", | |
| "**/.svn/**", | |
| "**/dist/**" | |
| ], | |
| "typescript.validate.enable": false, | |
| "workbench.editorAssociations": { | |
| "*.md": "vscode.markdown.preview.editor" | |
| } | |
| } | |
| } | |
| } | |
| // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. | |
| // "remoteUser": "root" | |
| } | |