forked from arjungautam1/fullstack-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
devcontainer.json
executable file
·105 lines (96 loc) · 4.41 KB
/
devcontainer.json
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
96
97
98
99
100
101
102
103
104
105
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker
{
"name": "Development Environment for demoapp-backend",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
// "image": "mcr.microsoft.com/devcontainers/base:bullseye",
// Use Docker Compose File
"dockerComposeFile": "compose.yaml",
// Service to connect from Docker Compose File
"service": "devcontainer",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // indicates where to mount the workspace folder. This corresponds to a sub-folder under the mount point from ../..:/workspaces:cached in the docker-compose.yml file
// Available features: https://containers.dev/features
"features": {
// Preserve shell command history: https://github.com/stuartleeks/dev-container-features
"ghcr.io/stuartleeks/dev-container-features/shell-history:0": {},
// Use host's docker: https://github.com/devcontainers/features/tree/main/src/docker-outside-of-docker
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
"version": "latest",
"enableNonRootDocker": "true",
"moby": "true"
},
// Install JAVA: https://github.com/devcontainers/features/tree/main/src/java
"ghcr.io/devcontainers/features/java:1": {
"version": "17", // Version should match with pom.xml
"jdkDistro": "ms", // Install OpenJDK (Microsoft). See available JDK distributions from https://sdkman.io/jdks
"installGradle": true,
"installMaven": true,
"installAnt": true
},
// Install Homebrew: https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/homebrew
"ghcr.io/meaningful-ooo/devcontainer-features/homebrew:2": {},
// Install Homebrew Package: https://github.com/devcontainers-contrib/features/tree/main/src/homebrew-package
"ghcr.io/devcontainers-contrib/features/homebrew-package:1": {},
// Install MySQL (via Homebrew): http://github.com/devcontainers-contrib/features/tree/main/src/mysql-homebrew
"ghcr.io/devcontainers-contrib/features/mysql-homebrew:1": {},
// Install Podman (via Homebrew): http://github.com/devcontainers-contrib/features/tree/main/src/podman-homebrew
"ghcr.io/devcontainers-contrib/features/podman-homebrew:1": {},
// Install Trivy: https://github.com/itsmechlark/features/tree/main/src/trivy
"ghcr.io/itsmechlark/features/trivy:1": {},
// Install Container Structure Tests: https://github.com/schlich/cst-devcontainer-feature
"ghcr.io/schlich/cst-devcontainer-feature/container-structure-test:1": {},
// Install jq, yq, gojq, xq, jaq : https://github.com/eitsupi/devcontainer-features/tree/main/src/jq-likes
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {
"jqVersion": "latest",
"yqVersion": "latest",
"gojqVersion": "latest"
},
// Install yamllint: https://github.com/devcontainers-contrib/features/tree/main/src/yamllint
"ghcr.io/devcontainers-contrib/features/yamllint:2": {},
// Install skopeo: https://github.com/jsburckhardt/devcontainer-features
"ghcr.io/jsburckhardt/devcontainer-features/skopeo:1": {}
},
// Use this environment variable if you need to bind mount your local source code into a new container.
"remoteEnv": {
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": ".devcontainer/postCreateCommand.sh",
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
"remoteUser": "vscode",
"customizations": {
"vscode": {
"extensions": [
"vscjava.vscode-java-pack",
"ms-azuretools.vscode-docker",
"github.vscode-github-actions",
"vscjava.vscode-maven",
"vscjava.vscode-java-dependency",
"vscjava.vscode-java-test",
"vscjava.vscode-java-debug",
"cweijan.vscode-mysql-client2",
"redhat.java",
"hashicorp.hcl",
"Perkovec.emoji"
]
}
},
"mounts": [
// Mount Host Maven Cache
{
"source": "${localEnv:HOME}${localEnv:USERPROFILE}/.m2",
"target": "/home/vscode/.m2",
"type": "bind"
},
// Mount Host SSH Keys and Configs
{
"source": "${localEnv:HOME}${localEnv:USERPROFILE}/.ssh",
"target": "/home/vscode/.ssh",
"type": "bind"
}
]
}