GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ImBIOS/bun-node: Pre-configured Bun and Node.js Docker Images for Seamless, Optimized Development and Deployment.

BranchesTags
Open more actions menu

Latest commit

 

History

965 Commits
965 Commits

Folders and files

NameName
Last commit message
Last commit date
.cursor/rules
.cursor/rules
 
 
.github
.github
 
 
.vscode
.vscode
 
 
docs
docs
 
 
examples
examples
 
 
src
src
 
 
templates
templates
 
 
web
web
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CLAUDE.md
CLAUDE.md
 
 
build_single.sh
build_single.sh
 
 
bun.lock
bun.lock
 
 
check-bun-node.ts
check-bun-node.ts
 
 
contributing.md
contributing.md
 
 
coverage.svg
coverage.svg
 
 
license
license
 
 
package.json
package.json
 
 
readme.md
readme.md
 
 
sonar-project.properties
sonar-project.properties
 
 
tsconfig.json
tsconfig.json
 
 

Repository files navigation

Bun and Node.js Docker Images: Optimize Your Development Workflow 🐇 🐳 🐢 🚀

dockeri.co Docker Pulls Docker Stars

GitHub issues GitHub stars Test Coverage CI Status Release Status

📊 Live Stats

This repository offers pre-configured Docker images combining Bun, with Node.js, the popular JavaScript runtime. Ideal for development, testing, and production environments.

Use node.js as runtime, and bun as package manager, etc. The node.js in this docker image functions as fallback when bun is not implement the feature yet.

Features

  • Multiple Node.js Versions: Supports Node.js versions which currently supported by docker-node
  • Variety of Builds: Available in Alpine, Debian, and Slim versions

Quick Start

docker pull imbios/bun-node

Telemetry

The image sends one anonymous ping per container start to bun-node.imbios.dev to help understand which versions are actually used. The payload contains only:

  • the Bun and Node.js versions in the container
  • the CPU architecture
  • a random id (rotated every start)

The endpoint sees the container's source IP, and the random id is kept in KV for up to one hour to deduplicate repeated pings; no hostnames, commands, or user data are sent, and the ping fails silently (3s timeout, backgrounded) without affecting startup. The recorded date is the server's UTC date.

Opt out with either:

docker run -e BUN_NODE_TELEMETRY=0 imbios/bun-node
# or
docker run -e DO_NOT_TRACK=1 imbios/bun-node

Live (public) and owner-only telemetry dashboards live at https://bun-node.imbios.dev.

Build Types

  • alpine: Minimal build ideal for smaller footprint
  • debian: Standard build, balanced between size and features
  • slim: Debian-based but lighter, stripped of unnecessary files
  • Do you need distroless ?

Advanced Image Tagging

imbios/bun-node:<bun-version>-<node-version>-<build-type>[optional -git]
  • bun-version: Bun version (e.g. 1.0.0, 1.0.30, 1) or tag (e.g. latest or canary)
  • node-version: Node.js version (e.g. 18, 20.11, 21.7.1) or tag (e.g. hydrogen, iron, current)
  • build-type: Build type (e.g. alpine, debian, slim)
  • optional -git: Optional git tag, an alpine image with git installed

Show Your Support 🌟

If you find this Docker image useful, please consider giving it a ⭐ star on GitHub and Dockerhub! These stats tell me this code is useful for humanity and makes me prioritize maintenance.

Contribution

Feel free to contribute by submitting pull requests or by reporting issues.

Automation

Images are rebuilt daily by the Release workflow:

  • Node.js majors are tracked automatically via @nodevu/core: when a new major goes Current/LTS its Dockerfiles are generated from templates/, and EOL majors are removed. The available node:<major>-alpine* tag is probed on Docker Hub so the newest Alpine is always used.
  • The latest tag is re-pointed only after every build succeeds, so it always describes the most recent release.
  • The version state (versions.json) is stored on the GitHub Release versions instead of in the repository.

Manual maintenance:

bun install

# pull the current release state (versions.json lives on the GitHub release)
gh release download versions --pattern versions.json

# check which Bun versions are current
bun run check-bun-node.ts --bun latest,canary

# print Node majors that changed vs the release state
bun run check-bun-node.ts --node --versions versions.json

# print the JSON build matrix (what would be built today)
bun run check-bun-node.ts --matrix --versions versions.json

# sync src/ with the supported Node majors (generate + cleanup)
bun run check-bun-node.ts --sync --versions versions.json

See docs/research_matrix.md for why the release pipeline uses a workflow matrix.

License

This project is licensed under the MIT License.


For custom configurations and support, visit Project Wiki or Issues.

Keywords

Docker, Node.js, Bun, Development, Deployment, Alpine, Debian, Slim

About

Pre-configured Bun and Node.js Docker Images for Seamless, Optimized Development and Deployment.

hub.docker.com/r/imbios/bun-node

Topics

bunbun-nodedockerdocker-imagedocker-nodedockerfilehacktoberfestnodenodejs

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

210 stars

Watchers

1 watching

Forks

6 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.