Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ Never duplicate: wiki pages link to READMEs, READMEs link back. Every wiki page
- Dockerfile instruction order: ARG → FROM → packages → user/permissions → tools → LABEL
- For images with multiple binary downloads, use multi-stage parallel builds (see `ralphex-fe/Dockerfile`)
- Commit every `.sh` file as `100755` (they all have a shebang); check with `git ls-files -s '*.sh'`
- README headings are plain text, no emoji. Per-image READMEs use these shared section names, in this order, wherever the section exists: `Features` → `Multi-platform Support` → `Image Tags` → `Usage` → image-specific sections → `Build Args` → `Building the Image` → `Resources` → `License` → `Contributing`. Shared boilerplate (platform list, buildx block) is worded identically; only each image's tag scheme and paths differ.

## Validation

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This repository contains Dockerfiles for custom Docker images hosted on GitHub C

**New here?** The [wiki](https://github.com/gatezh/devcontainers/wiki) has a [guide to picking an image](https://github.com/gatezh/devcontainers/wiki/Choosing-an-Image) and explains [what `latest` means and when it moves](https://github.com/gatezh/devcontainers/wiki/Image-Tags-and-Rebuild-Policy).

## 📚 Image Documentation
## Image Documentation

### Devcontainer Images

Expand All @@ -18,7 +18,7 @@ This repository contains Dockerfiles for custom Docker images hosted on GitHub C

- **[ralphex-fe](./ralphex-fe/README.md)** - Bun + Hugo Extended on ralphex base (standalone image)

## 📖 Guides (wiki)
## Guides (wiki)

Cross-image guides and host-level procedures live in the [wiki](https://github.com/gatezh/devcontainers/wiki), because they go stale when Docker or GitHub changes rather than when this repo does.

Expand Down
101 changes: 53 additions & 48 deletions bun/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,16 @@ A multiplatform development container image with Bun runtime, optimized for mode
- **Zsh** - Modern shell with better VS Code integration
- **Alpine Linux** - Lightweight base image

## Multiplatform Support
## Multi-platform Support

This image is built for multiple architectures:
- `linux/amd64` (x86_64)
- `linux/arm64` (ARM64/Apple Silicon)

## Building the Image

To build this multiplatform image, use Docker Buildx:

```bash
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 \
.devcontainer
```

### Example with specific versions:

```bash
docker 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 \
.devcontainer
```

**Replace:**
- `<USERNAME>` with your GitHub username or organization
- `<BUN_VERSION>` with the Bun version (e.g., `1.3.5`)
## Image Tags

**Note:** The `--push` flag requires you to be logged in to GitHub Container Registry:
```bash
echo $GITHUB_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdin
```
- `latest` — most recent build
- `bun<BUN_VERSION>-alpine` — version-specific tag (e.g., `bun1.3.5-alpine`)

## Usage

Expand Down Expand Up @@ -96,7 +68,31 @@ The development container comes pre-configured with the following extensions:
- **Tailwind CSS IntelliSense** (`bradlc.vscode-tailwindcss`) - Autocomplete and syntax highlighting
- **Tailwind Fold** (`stivo.tailwind-fold`) - Fold long Tailwind class strings

## Version Information
## Development Workflow

### Starting the Dev Container

1. Open your project in VS Code
2. Press `F1` and select "Dev Containers: Reopen in Container"
3. VS Code will pull the image and start the container

### Using Bun

```bash
# Install dependencies
bun install

# Run scripts
bun run build

# Execute files
bun run index.ts

# Start development server
bun run dev
```

## Build Args

The image uses a specific version of Bun defined as a build argument:

Expand All @@ -116,28 +112,37 @@ docker buildx build \
.devcontainer
```

## Development Workflow
## Building the Image

### Starting the Dev Container
To build this multiplatform image, use Docker Buildx:

1. Open your project in VS Code
2. Press `F1` and select "Dev Containers: Reopen in Container"
3. VS Code will pull the image and start the container
```bash
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 \
.devcontainer
```

### Using Bun
### Example with Specific Versions

```bash
# Install dependencies
bun install

# Run scripts
bun run build
docker 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 \
.devcontainer
```

# Execute files
bun run index.ts
**Replace:**
- `<USERNAME>` with your GitHub username or organization
- `<BUN_VERSION>` with the Bun version (e.g., `1.3.5`)

# Start development server
bun run dev
**Note:** The `--push` flag requires you to be logged in to GitHub Container Registry:
```bash
echo $GITHUB_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdin
```

## License
Expand Down
18 changes: 12 additions & 6 deletions claude-bun/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,18 @@ Claude Code development container based on the [official Anthropic devcontainer
- **Session persistence** for command history and Claude configuration between restarts
- **Multi-platform support** (linux/amd64, linux/arm64)

## Quick Start
## Multi-platform Support

This image is built for multiple architectures:
- `linux/amd64` (x86_64)
- `linux/arm64` (ARM64/Apple Silicon)

## Image Tags

- `latest` — most recent build
- `bun<BUN_VERSION>-slim` — version-specific tag (e.g., `bun1.3.5-slim`)

## Usage

### Using the pre-built image

Expand Down Expand Up @@ -72,11 +83,6 @@ When executed with `--dangerously-skip-permissions`, devcontainers do **not prev
| `devcontainer.json` | VS Code devcontainer settings |
| `init-firewall.sh` | Firewall initialization script |

## Image Tags

- `ghcr.io/gatezh/devcontainers/claude-bun:latest` - Latest build
- `ghcr.io/gatezh/devcontainers/claude-bun:bun1.3.5-slim` - Bun version specific tag

## Customization

### Adding VS Code extensions
Expand Down
135 changes: 70 additions & 65 deletions hugo-bun-node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A multiplatform development container image combining Hugo Extended, Bun runtime, and Node.js LTS, optimized for modern static site development workflows with Cloudflare Workers support.

## 🌟 Features
## Features

- **Hugo Extended** - Full-featured static site generator with extended capabilities
- **Bun Runtime** - Fast JavaScript runtime, bundler, and package manager
Expand All @@ -12,48 +12,18 @@ A multiplatform development container image combining Hugo Extended, Bun runtime
- **Zsh** - Modern shell with better VS Code integration
- **Alpine Linux** - Lightweight base image with glibc compatibility (gcompat)

## 🏗️ Multiplatform Support
## Multi-platform Support

This image is built for multiple architectures:
- `linux/amd64` (x86_64)
- `linux/arm64` (ARM64/Apple Silicon)

## 📦 Building the Image
## Image Tags

To build this multiplatform image, use Docker Buildx:

```bash
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:hugo<HUGO_VERSION>-bun<BUN_VERSION>-node<NODE_VERSION>-alpine \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:latest \
--push \
.devcontainer
```

### Example with specific versions:

```bash
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/myusername/devcontainers/hugo-bun-node:hugo0.155.1-bun1.3.8-node24.13.0-alpine \
-t ghcr.io/myusername/devcontainers/hugo-bun-node:latest \
--push \
.devcontainer
```
- `latest` — most recent build
- `hugo<HUGO_VERSION>-bun<BUN_VERSION>-node<NODE_VERSION>-alpine` — version-specific tag (e.g., `hugo0.155.1-bun1.3.8-node24.13.0-alpine`)

**Replace:**
- `<USERNAME>` with your GitHub username or organization
- `<HUGO_VERSION>` with the Hugo version (e.g., `0.155.1`)
- `<BUN_VERSION>` with the Bun version (e.g., `1.3.8`)
- `<NODE_VERSION>` with the Node.js version (e.g., `24.11.0`)

**Note:** The `--push` flag requires you to be logged in to GitHub Container Registry:
```bash
echo $GITHUB_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdin
```

## 🚀 Usage
## Usage

### In Your Project's devcontainer.json

Expand Down Expand Up @@ -88,7 +58,7 @@ to:
}
```

## 🔧 Included VS Code Extensions
## Included VS Code Extensions

The development container comes pre-configured with the following extensions:

Expand All @@ -106,31 +76,7 @@ The development container comes pre-configured with the following extensions:
- **Language Hugo VSCode** (`budparr.language-hugo-vscode`) - Hugo language support
- **Hugo Shortcode Syntax** (`kaellarkin.hugo-shortcode-syntax`) - Syntax highlighting for Hugo shortcodes

## 📋 Version Information

The image uses specific versions of Hugo, Bun, and Node.js defined as build arguments:

- **Hugo Version**: Specified via `HUGO_VERSION` build arg (default: `0.155.1`)
- **Bun Version**: Specified via `BUN_VERSION` build arg (default: `1.3.8`)
- **Node.js Version**: Specified via `NODE_VERSION` build arg (default: `24.13.0`)
- **Base Image**: `oven/bun:${BUN_VERSION}-alpine`

### Updating Versions

To build with different versions, use build arguments:

```bash
docker buildx build \
--build-arg HUGO_VERSION=0.156.0 \
--build-arg BUN_VERSION=1.4.0 \
--build-arg NODE_VERSION=24.12.0 \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:hugo0.156.0-bun1.4.0-node24.12.0-alpine \
--push \
.devcontainer
```

## ⚠️ Important Notes
## Important Notes

### Node.js on Alpine Linux

Expand Down Expand Up @@ -158,7 +104,7 @@ Hugo Extended binary requires glibc, but Alpine Linux uses musl. The `gcompat` p
RUN apk add --no-cache gcompat
```

## 🛠️ Development Workflow
## Development Workflow

### Starting the Dev Container

Expand Down Expand Up @@ -209,11 +155,70 @@ wrangler dev
wrangler deploy
```

## 📄 License
## Build Args

The image uses specific versions of Hugo, Bun, and Node.js defined as build arguments:

- **Hugo Version**: Specified via `HUGO_VERSION` build arg (default: `0.155.1`)
- **Bun Version**: Specified via `BUN_VERSION` build arg (default: `1.3.8`)
- **Node.js Version**: Specified via `NODE_VERSION` build arg (default: `24.13.0`)
- **Base Image**: `oven/bun:${BUN_VERSION}-alpine`

### Updating Versions

To build with different versions, use build arguments:

```bash
docker buildx build \
--build-arg HUGO_VERSION=0.156.0 \
--build-arg BUN_VERSION=1.4.0 \
--build-arg NODE_VERSION=24.12.0 \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:hugo0.156.0-bun1.4.0-node24.12.0-alpine \
--push \
.devcontainer
```

## Building the Image

To build this multiplatform image, use Docker Buildx:

```bash
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:hugo<HUGO_VERSION>-bun<BUN_VERSION>-node<NODE_VERSION>-alpine \
-t ghcr.io/<USERNAME>/devcontainers/hugo-bun-node:latest \
--push \
.devcontainer
```

### Example with Specific Versions

```bash
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/myusername/devcontainers/hugo-bun-node:hugo0.155.1-bun1.3.8-node24.13.0-alpine \
-t ghcr.io/myusername/devcontainers/hugo-bun-node:latest \
--push \
.devcontainer
```

**Replace:**
- `<USERNAME>` with your GitHub username or organization
- `<HUGO_VERSION>` with the Hugo version (e.g., `0.155.1`)
- `<BUN_VERSION>` with the Bun version (e.g., `1.3.8`)
- `<NODE_VERSION>` with the Node.js version (e.g., `24.11.0`)

**Note:** The `--push` flag requires you to be logged in to GitHub Container Registry:
```bash
echo $GITHUB_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdin
```

## License

This image configuration is part of the devcontainers repository.

## 🤝 Contributing
## Contributing

Contributions are welcome! Please ensure:
1. Version numbers are clearly documented
Expand Down
Loading
Loading