A multiplatform development container image with Bun runtime, optimized for modern JavaScript/TypeScript development workflows.
- Bun Runtime - Fast JavaScript runtime, bundler, and package manager
- Git - Version control
- Zsh - Modern shell with better VS Code integration
- Alpine Linux - Lightweight base image
This image is built for multiple architectures:
linux/amd64(x86_64)linux/arm64(ARM64/Apple Silicon)
latest— most recent buildbun<BUN_VERSION>-alpine— version-specific tag (e.g.,bun1.3.5-alpine)
When using this pre-built image, replace the dockerFile property with the image property:
{
"name": "My Bun Project",
"image": "ghcr.io/<USERNAME>/devcontainers/bun:latest"
}Note: If you were previously using a local Dockerfile, change from:
{
"dockerFile": "Dockerfile"
}to:
{
"image": "ghcr.io/<USERNAME>/devcontainers/bun:latest"
}{
"name": "My Bun Project",
"image": "ghcr.io/<USERNAME>/devcontainers/bun:bun1.3.5-alpine"
}The development container comes pre-configured with the following extensions:
- Claude Code (
anthropic.claude-code) - AI-powered coding assistant - Bun for Visual Studio Code (
oven.bun-vscode) - Bun language support - Prettier (
esbenp.prettier-vscode) - Code formatter
- Tailwind CSS IntelliSense (
bradlc.vscode-tailwindcss) - Autocomplete and syntax highlighting - Tailwind Fold (
stivo.tailwind-fold) - Fold long Tailwind class strings
- Open your project in VS Code
- Press
F1and select "Dev Containers: Reopen in Container" - VS Code will pull the image and start the container
# Install dependencies
bun install
# Run scripts
bun run build
# Execute files
bun run index.ts
# Start development server
bun run devThe image uses a specific version of Bun defined as a build argument:
- Bun Version: Specified via
BUN_VERSIONbuild arg (default:1.3.5) - Base Image:
oven/bun:${BUN_VERSION}-alpine
To build with a different version, use build arguments:
docker buildx build \
--build-arg BUN_VERSION=1.4.0 \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/bun:bun1.4.0-alpine \
--push \
.devcontainerTo build this multiplatform image, use Docker Buildx:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/bun:bun<BUN_VERSION>-alpine \
-t ghcr.io/<USERNAME>/devcontainers/bun:latest \
--push \
.devcontainerdocker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/myusername/devcontainers/bun:bun1.3.5-alpine \
-t ghcr.io/myusername/devcontainers/bun:latest \
--push \
.devcontainerReplace:
<USERNAME>with your GitHub username or organization<BUN_VERSION>with the Bun version (e.g.,1.3.5)
Note: The --push flag requires you to be logged in to GitHub Container Registry:
echo $GITHUB_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdinThis image configuration is part of the devcontainers repository.
Contributions are welcome! Please ensure:
- Version numbers are clearly documented
- Build instructions are tested on both amd64 and arm64
- README is updated with any new features or dependencies