Simple dev containers. Can be used in devcontainer.json and run e.g. locally or in GitHub Codespaces.
| Image | Based on | Note |
|---|---|---|
| dev-node | dhi.io/debian-base:trixie-dev | Base dev tools, Node.js LTS + pnpm |
| dev-playwright | dev-node | Playwright browser dependencies preinstalled |
| dev-firebase | dev-playwright | JRE to run Firebase Emulators |
| dev-quizmaster | dev-playwright | OpenJDK to develop scrumdojo/quizmaster |
| dev-rust | dev-node | Run development stack |
These images aim to reduce common supply-chain and credential risks in day-to-day development, while staying practical for local use.
- Non-root
dev:dev(1001:1001) user by default sudorestricted toapt-getandservice sshmanagement- Disabled
npmlifecycle scripts by default (ignore-scripts=true) - Use fine-grained
GITHUB_TOKENto access only project repository
This is not a complete security boundary. Treat these images as a safer default, then add project-specific controls as needed.
Base development environment with Node.js LTS to run all common AI Coding Agent CLIs.
Available at: ghcr.io/scrumdojo/dev-node:v5
- Based on Debian Trixie
debian:13.5 - OpenSSH server (off by default)
gitand GitHub CLI (gh)zshwith common plugins,tmux,fzf,ripgrep,fdand other modern CLI tools- Node.js managed by fnm, and pnpm
- oh-my-posh
Install common AI Coding Agent CLIs in: /home/dev/init/
Development container with pre-installed Playwright browser system dependencies Playwright itself, not any browser, are not pre-installed, as their versions are project specific, and need to be installed inside the container for each respective project.
Available at: ghcr.io/scrumdojo/dev-playwright:v5
- Based on
ghcr.io/scrumdojo/dev-node:v5 - Playwight browser system dependencies
Development container with headless JRE to run Firebase Emulators. Firebase CLI itself (which contain the emulators) is not pre-installed, as it is updated frequently.
Available at: ghcr.io/scrumdojo/dev-firebase:v5
- Based on
ghcr.io/scrumdojo/dev-playwright:v5 - Headless Java JRE to run the Firebase Emulators
Install Firebase CLI: pnpm install -g firebase-tools
Login to Firebase from within the container: firebase login --no-localhost
Available at: ghcr.io/scrumdojo/dev-rust:v5
- Based on
ghcr.io/scrumdojo/dev-node:v5 - Rust development stack
Example compose file to create a dev container locally:
services:
dev-container:
# one of the above images
image: ghcr.io/scrumdojo/dev-node:v5
container_name: dev-container
hostname: dev-container
environment:
- TZ=
- GIT_USER_NAME=
- GIT_USER_EMAIL=
- GITHUB_TOKEN=
- SSH_START=
- SSH_PUBKEY=
volumes:
- devhome:/home/dev
volumes:
devhome:Inside the container, run ~/init/git.sh to initialize ~/.gitconfig with your user name and email,
and login to GitHub using gh and provided GITHUB_TOKEN.
For sshd to autostart, pass SSH_START=true to the container.
You can pass your public SSH key via SSH_PUBKEY, which gets added to ~/.ssh/authorized_keys.