Pre-configured development containers for different technology stacks.
- Node.js - Node.js 22 LTS with npm, ESLint, Prettier, and development tools
- .NET - .NET 8.0 SDK with C# tooling and ASP.NET Core support (dotnet/ folder)
- Prerequisites: VS Code with Dev Containers extension, Docker Desktop running
- Choose environment: Open
nodejs/ordotnet/folder in VS Code - Rebuild container: Press
Ctrl+Shift+P→ "Dev Containers: Rebuild and Reopen in Container" - Follow setup: See the environment's README.md for configuration options
- Docker Desktop must be running on your host machine
- Enable "Expose daemon on tcp://localhost:2375 without TLS" in Docker Desktop settings
- Disable Resource Saver feature to ensure containers run smoothly, otherwise you may face VS Code unexpected shutdowns.
DevContainer/
├── nodejs/ # Node.js development environment
│ ├── .devcontainer/
│ │ ├── .ssh-keys-template.example # Safe SSH template (committed)
│ │ ├── devcontainer.json # VS Code dev container config
│ │ ├── Dockerfile # Container definition
│ │ ├── setup-ssh-dotenv.sh # SSH setup script
│ │ └── post-create-setup.sh # Post-creation setup
│ └── README.md # Node.js setup instructions
├── dotnet/ # .NET development environment
│ ├── .devcontainer/
│ │ ├── .ssh-keys-template.example # Safe SSH template (committed)
│ │ ├── devcontainer.json # VS Code dev container config
│ │ ├── Dockerfile # Container definition
│ │ ├── setup-ssh-dotenv.sh # SSH setup script
│ │ └── post-create-setup.sh # Post-creation setup
│ └── README.md # .NET setup instructions
├── .gitignore # Git ignore rules
└── README.md # This file
- SSH Keys: Use
.ssh-keys-template.exampleas a safe, committed template. Real keys go in.ssh-keys-template(in.gitignore) - Environment Files:
.envfiles contain sensitive data and are automatically ignored - Non-root: Containers run with non-root users
For details, see your environment's README.md
To add a new technology stack:
- Create a new folder (e.g.,
python/,go/, etc.) - Copy and adapt the structure from an existing environment
- Update the base image and dependencies in
Dockerfile - Modify
devcontainer.jsonfor appropriate extensions - Adapt
post-create-setup.shfor the new stack - Create stack-specific documentation in the folder's
README.md - Update this root README.md