A comprehensive development container setup that provides a consistent development environment across Windows, Mac, and Linux. This toolbox includes configurations and tools for working with Azure infrastructure, data platforms, security operations, development, and monitoring.
The DevContainer Toolbox provides:
- A pre-configured development environment using Debian 12 Bookworm
- Essential base tools including Azure CLI, Python, Node.js, and common command-line utilities
- Core VS Code extensions for Azure development, PowerShell, Markdown, and YAML support
- Extensible architecture allowing easy addition of role-specific tools
- Consistent environment across all development machines
- Eliminates "it works on my machine" issues by providing a standardized development environment
- Simplifies onboarding of new developers with a ready-to-use development setup
- Allows safe experimentation with new tools without affecting your local machine
- Provides a modular approach to adding role-specific development tools
- Ensures consistent tooling across team members regardless of their operating system
- Install Docker preferably via Rancher Desktop instead of Docker Desktop (Read more about why here.). The installation of Rancher Desktop is defined here.
For windows users the recommended approach for developing is to clone the project inside your WSL distribution. The described method below works for testing but will drastically decrease the overall perfomance of your machine. Read more about how to run containers on Windows inside WSL here.
- Open the directory where you would like to store the devcontainers repository.
- Open a terminal window and execute the following command to fetch and execute the download script. The script will download 2 folders into your current working folder, .devcontainer and .devcontainer.extend.
If you are using windows
wget https://raw.githubusercontent.com/norwegianredcross/devcontainer-toolbox/refs/heads/main/update-devcontainer.ps1 -O update-devcontainer.ps1; .\update-devcontainer.ps1If you are using Mac/Linux
wget https://raw.githubusercontent.com/norwegianredcross/devcontainer-toolbox/refs/heads/main/update-devcontainer.sh -O update-devcontainer.sh && chmod +x update-devcontainer.sh && ./update-devcontainer.sh- Open your repository in VS Code by running
code . - When prompted, click "Reopen in Container"
(More detailed if you want Copy the devcontainer-toolbox folder to your repository)
Setting up the devcontainer:
-
Windows users: See setup-windows.md
-
Mac/Linux users: See setup-mac.md
-
How to use a devcontainer: See setup-vscode.md
We have a template library with a growing number of examples on how to use the devcontainer toolbox. Here you will find examples on how to write web applications in C#, Python, Go, Java, PHP and TypeScript. And use frameworks like NextJs, React, Spring Boot, Express and more.
Check out the Urbalurba Dev template library for more information.
To selec a template just run the following command in your terminal:
.devcontainer/dev/dev-template.shThis will give you a list of all available templates. Select the one you want to use and it will be downloaded to your current working directory.
Add project dependencies to the script project-installs.sh and the next developer will thank you. See readme-devcontainer-extend.md
This howto uses vscode. But you can use other IDEs.
| Extension | Description |
|---|---|
| JetBrains Rider | JetBrains Rider setup |
| Visual Studio | Visual Studio setup |
Follow the instructions here on how to contribute to the project.