Pre-build Development Containers
This is a series of pre-built Devcontainer image to allow local development.
There are a number of images that exist.
ghcr.io/mrsimonemms/devcontainers/base
This provides a base image to use for all your development environment need. This is an Ubuntu image with sensible defaults, including the best-looking Git diffs, Docker support, tab-completion and useful Git aliases.
ghcr.io/mrsimonemms/devcontainers/full
An image with some modern tooling installed.
- Go ✅
- Kubernetes, Helm and Minikube ✅
- Kubectx ✅
- K9s ✅
- Node.js ✅
- Pre-Commit ✅
- Python ✅
The advantage of using this image is that the features are pre-built which shifts the build effort into GitHub Actions rather than on your local machine.
This can be easily extended with additional features by adding them to your
.devcontainer/devcontainer.json
file.
This is built to both linux/amd64
and linux/arm64
to cover use with both a
"standard" 64 bit machine and a modern Mac.
Both Homebrew
and Nix were in
the original builds, but I found that I rarely (if ever) used them in my devcontainers
so removed them. This reduced the image size by around 2.5GB. These are also not
supported by the linux/arm64
platform.
ghcr.io/mrsimonemms/devcontainers/temporal_min
An image designed to make working with Temporal easier
with the minimum Temporal dependencies installed. This image should be used for
all Temporal work and adding the required features
in your .devcontainer/devcontainer.json
.
- Pre-Commit ✅
- Poetry ✅
- Python ✅
- Temporal CLI ✅
ghcr.io/mrsimonemms/devcontainers/temporal_full
An image designed to make working with Temporal easier, with native support for all official SDKs.
- Dotnet
- Go ✅
- Java ✅
- Node.js ✅
- PHP ✅
- Pre-Commit ✅
- Poetry ✅
- Python ✅
- Ruby ✅
- Temporal CLI ✅
This image is quite large. Unless full support for everything is required,
use the Temporal Min image and adding the required features
in your .devcontainer/devcontainer.json
.
These images can be used in any way that Dev Containers supports. Typically,
this would be by specifying the image
in your devcontainer.json
file:
{
"name": "devcontainer",
"image": "ghcr.io/mrsimonemms/devcontainers/full"
}
As this image is pre-built, it will vastly speed up your workflow.
All commits must be done in the Conventional Commit format.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]