This repository is a prebuilt Devcontainer that uses the Devcontainer features to build a base image and then installs additional software.
This is a prebuilt image that is based on the latest devcontainers Ubuntu 24.04 noble base and contains the following software:
- Docker in Docker
- Python 3.12
- Node.js 20
- AWS CLI v2
- mise (polyglot runtime manager)
- GitHub CLI (gh)
- Vim editor
- PostgreSQL Client
- MySQL Client
- Screen
- Tmux
- Goose CLI (database migration tool)
- Pyinfo
- UV (Python package manager)
- Devcontainer CLI
- Claude Code CLI
- Gemini CLI
- Repomix
- CCUsage
- Claude Code Router
- Qwen Code CLI
To use this image in VS Code, create a .devcontainer/devcontainer.json
file in your project and add the following configuration:
{
"name": "Dev Container",
"image": "ghcr.io/jvrck/noble-full"
}
Then use the VS Code Remote - Containers extension and select the Reopen in Container
option.
This will open a new VS Code window with the Devcontainer running.
This will also work with Github Codespaces, as the Devcontainer feature is supported.
You can run this container directly on your local machine using Docker:
docker run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd):/workspace \
-w /workspace \
ghcr.io/jvrck/noble-full
This command:
- Runs the container interactively (
-it
) - Removes the container when you exit (
--rm
) - Mounts the Docker socket for Docker-in-Docker functionality
- Mounts your current directory to
/workspace
- Sets the working directory to
/workspace
This repository includes an automated GitHub Actions workflow that cleans up old container images from GitHub Container Registry to prevent storage bloat. The cleanup runs weekly and:
- Deletes images older than 30 days
- Always keeps at least 5 most recent versions
- Never deletes images tagged as 'latest'
- Currently runs in dry-run mode for safety
To enable automatic cleanup:
- Create a Personal Access Token (PAT) with
delete:packages
scope - Add it as a repository secret named
GHCR_CLEANUP_PAT
- Edit
.github/workflows/cleanup-ghcr.yaml
and setdry-run: false
The workflow can also be triggered manually from the Actions tab.
This repository is licensed under the MIT License. See the LICENSE file for more information.