Skip to content

Instantly share code, notes, and snippets.

@ericjuta
Created January 4, 2026 11:33
Show Gist options
  • Select an option

  • Save ericjuta/e8ee07cd54f4d8e4116d320a6244597f to your computer and use it in GitHub Desktop.

Select an option

Save ericjuta/e8ee07cd54f4d8e4116d320a6244597f to your computer and use it in GitHub Desktop.
devcontainer.json
{
"name": "Claude Code",
"build": {
"dockerfile": "Dockerfile",
"args": {
"NODE_VERSION": "20",
"TZ": "${localEnv:TZ:America/Los_Angeles}"
}
},
"runArgs": [
"--cap-add=NET_ADMIN",
"--cap-add=NET_RAW",
"--memory=12g",
"--memory-swap=16g",
"--cpus=4"
],
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"eamodio.gitlens",
"bradlc.vscode-tailwindcss",
"prisma.prisma",
"ms-vscode.vscode-typescript-next",
"biomejs.biome",
"unifiedjs.vscode-mdx"
],
"settings": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "explicit"
},
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
},
"zsh": {
"path": "zsh"
}
},
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.tsdk": "node_modules/typescript/lib"
}
}
},
"remoteUser": "node",
"mounts": [
"source=claude-code-bashhistory,target=/commandhistory,type=volume",
"source=claude-code-config,target=/home/node/.claude,type=volume",
"source=claude-code-zshhistory,target=/home/node/.zsh_history_dir,type=volume",
"source=claude-code-bun,target=/home/node/.local/share/bun,type=volume",
"source=claude-code-vscode-extensions,target=/home/node/.vscode-server/extensions,type=volume",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/node/.ssh,type=bind,readonly"
],
"remoteEnv": {
"NODE_OPTIONS": "--max-old-space-size=8192",
"CLAUDE_CONFIG_DIR": "/home/node/.claude",
"POWERLEVEL9K_DISABLE_GITSTATUS": "true",
"NEXT_TELEMETRY_DISABLED": "1",
"HISTFILE": "/home/node/.zsh_history_dir/.zsh_history",
"BUN_HOME": "/home/node/.local/share/bun"
},
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"moby": true,
"installDockerBuildx": true
},
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers-contrib/features/zsh-plugins:0": {
"plugins": "git docker docker-compose npm",
"omzPlugins": "https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-syntax-highlighting",
"username": "node"
}
},
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated",
"workspaceFolder": "/workspace"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment