-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevcontainer.json
More file actions
95 lines (89 loc) · 4.28 KB
/
devcontainer.json
File metadata and controls
95 lines (89 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{
"name": "devBenches / javaBench",
"initializeCommand": "bash ${localWorkspaceFolder}/../../scripts/ensure-layer3.sh --base java-bench:latest",
"dockerComposeFile": "docker-compose.yml",
"service": "java-bench",
"shutdownAction": "stopCompose",
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "zsh",
"java.home": "/usr/lib/jvm/java-21-openjdk-amd64",
"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/usr/lib/jvm/java-21-openjdk-amd64"
}
],
"maven.executable.path": "/usr/bin/mvn",
"maven.terminal.useJavaHome": true,
"java.jdt.ls.java.home": "/usr/lib/jvm/java-21-openjdk-amd64"
},
"extensions": [
"vscjava.vscode-java-pack",
"vscjava.vscode-spring-initializr",
"vscjava.vscode-spring-boot-dashboard",
"vmware.vscode-spring-boot",
"vscjava.vscode-maven",
"vscjava.vscode-gradle",
"redhat.java",
"redhat.vscode-xml",
"github.copilot",
"eamodio.gitlens"
]
}
},
"containerEnv": {
"SHELL": "/bin/zsh",
"JAVA_HOME": "/usr/lib/jvm/java-21-openjdk-amd64",
"GRADLE_HOME": "/opt/gradle/gradle-8.5",
"MAVEN_OPTS": "-Dmaven.repo.local=/workspace/m2repo"
},
"remoteUser": "${localEnv:USER}",
"updateRemoteUserUID": false,
"workspaceFolder": "/workspace",
"mounts": [
"source=javabench-zshhistory,target=/home/${localEnv:USER}/.zsh_history,type=volume",
"source=javabench-m2cache,target=/workspace/m2repo,type=volume",
"source=javabench-gradlecache,target=/workspace/.gradle,type=volume",
"source=${localEnv:HOME}/projects,target=/workspace/projects,type=bind",
// Shell configurations
"source=${localEnv:HOME}/.zshrc,target=/home/${localEnv:USER}/.zshrc,type=bind,readonly",
"source=${localEnv:HOME}/.oh-my-zsh,target=/home/${localEnv:USER}/.oh-my-zsh,type=bind,readonly",
"source=${localEnv:HOME}/.p10k.zsh,target=/home/${localEnv:USER}/.p10k.zsh,type=bind,readonly",
"source=${localEnv:HOME}/.bashrc,target=/home/${localEnv:USER}/.bashrc,type=bind,readonly",
// Git configuration
"source=${localEnv:HOME}/.gitconfig,target=/home/${localEnv:USER}/.gitconfig,type=bind,readonly",
// SSH keys and configuration
"source=${localEnv:HOME}/.ssh,target=/home/${localEnv:USER}/.ssh,type=bind,readonly",
// GitHub CLI configuration
"source=${localEnv:HOME}/.config/gh,target=/home/${localEnv:USER}/.config/gh,type=bind,readonly",
// AI Agent Credentials
"source=${localEnv:HOME}/.claude,target=/home/${localEnv:USER}/.claude,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude.json,target=/home/${localEnv:USER}/.claude.json,type=bind,consistency=cached",
"source=${localEnv:HOME}/.codex,target=/home/${localEnv:USER}/.codex,type=bind,consistency=cached",
"source=${localEnv:HOME}/.gemini,target=/home/${localEnv:USER}/.gemini,type=bind,consistency=cached",
"source=${localEnv:HOME}/.grok,target=/home/${localEnv:USER}/.grok,type=bind,readonly",
"source=${localEnv:HOME}/.copilot-cli,target=/home/${localEnv:USER}/.copilot-cli,type=bind,readonly",
// NotebookLM (auth tokens from host)
"source=${localEnv:HOME}/.notebooklm,target=/home/${localEnv:USER}/.notebooklm,type=bind,consistency=cached",
"source=${localEnv:HOME}/.notebooklm-mcp-cli,target=/home/${localEnv:USER}/.notebooklm-mcp-cli,type=bind,consistency=cached",
// Docker socket
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
],
"forwardPorts": [8080, 8081, 5005, 9090],
"portsAttributes": {
"8080": {
"label": "Spring Boot",
"onAutoForward": "notify"
},
"5005": {
"label": "Java Debug",
"onAutoForward": "silent"
},
"9090": {
"label": "Metrics/Actuator",
"onAutoForward": "notify"
}
}
}