.devcontainer/devcontainer.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/typescript-node
{
"name": "Digital Twin as a Service",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye",
"features": {
"ghcr.io/devcontainers-contrib/features/apt-get-packages:1": {
"clean_ppas": true,
"preserve_apt_list": true,
"packages": "curl graphviz htop net-tools powerline"
},
"ghcr.io/devcontainers/features/common-utils:2": {
"installZsh": true,
"configureZshAsDefaultShell": true,
"installOhMyZsh": true,
"installOhMyZshConfig": true,
"username": "devcontainer",
"userUid": "1001",
"userGid": "automatic"
},
"ghcr.io/devcontainers-contrib/features/exa:1": {
"version": "latest"
},
"ghcr.io/devcontainers/features/git:1": {
"version": "os-provided"
},
"ghcr.io/devcontainers-contrib/features/markdownlint-cli:1": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/mkdocs:2": {
"version": "latest",
"plugins": "mkdocs-material pymdown-extensions mkdocstrings[crystal,python] mkdocs-monorepo-plugin mkdocs-pdf-export-plugin mkdocs-awesome-pages-plugin python-markdown-math mkdocs-open-in-new-tab mkdocs-with-pdf qrcode"
},
"ghcr.io/devcontainers-contrib/features/nestjs-cli:2": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/npm-package:1": {
"package": "madge"
},
"ghcr.io/devcontainers-contrib/features/pipx-package:1": {},
"ghcr.io/devcontainers-contrib/features/poetry:2": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/pre-commit:2": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/tmux-apt-get:1": {},
"ghcr.io/devcontainers-contrib/features/typescript:2": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/vercel-serve:1": {
"version": "latest"
},
"ghcr.io/devcontainers-contrib/features/zsh-plugins:0": {
"plugins": "ssh-agent npm zsh-autosuggestions",
"omzPlugins": "https://github.com/zsh-users/zsh-autosuggestions",
"username": "node"
}
},
"customizations": {
"vscode": {
"extensions": [
"AlexShen.classdiagram-ts",
"christian-kohler.npm-intellisense",
"DavidAnson.vscode-markdownlin",
"donjayamanne.githistory",
"eamodio.gitlens",
"humao.rest-client",
"johnpapa.vscode-peacock",
"mhutchie.git-graph",
"SimonSiefke.svg-preview",
"redhat.vscode-yaml",
"VisualStudioExptTeam.vscodeintellicode",
"vscode-icons-team.vscode-icons"
],
"settings": {
"editor.tabSize": 2,
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
},
"zsh": {
"path": "zsh"
},
"tmux": {
"path": "tmux",
"icon": "terminal-tmux"
},
"pwsh": {
"path": "pwsh",
"icon": "terminal-powershell"
}
}
}
}
},
"forwardPorts": [
4000, //react client
4001, // lib microservice
5000, // DT runner
8000 // mkdocs
]
}
// Execute after login:
// source /usr/share/powerline/bindings/zsh/powerline.zsh