Skip to content

loftwah/buildkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Docker Image Mirror

Daily Mirror Status All Versions Mirror Status

This repository (loftwah/buildkit) mirrors Docker images to the GitHub Container Registry (GHCR) with precision and reliability, giving you fast access to key tools. Two workflows keep everything up to date:

  • Daily Mirror: Syncs latest tags every day for buildkit, ruby, nginx, and node, with an option to manually sync a specific version.
  • All Versions Mirror: Manually fetches the latest versions plus two recent stable ones for all four images with a single click.

Here's what gets mirrored:

  • moby/buildkitghcr.io/loftwah/buildkit/buildkit
  • rubyghcr.io/loftwah/buildkit/ruby
  • nginxghcr.io/loftwah/buildkit/nginx
  • nodeghcr.io/loftwah/buildkit/node

Pulling the Images

You'll need Docker installed (download it from docker.com if you don't have it). Open a terminal and use these commands to pull the latest versions, which are always available after the daily run:

docker pull ghcr.io/loftwah/buildkit/buildkit:latest  # BuildKit
docker pull ghcr.io/loftwah/buildkit/ruby:latest      # Ruby
docker pull ghcr.io/loftwah/buildkit/nginx:latest     # Nginx
docker pull ghcr.io/loftwah/buildkit/node:latest      # Node.js

Specific Versions

  • Daily Workflow: Automatically mirrors latest tags daily. For a specific version (e.g., ruby:3.3.0), use the manual trigger option below.
  • All Versions Workflow: Pulls the latest version plus two prior stable ones when triggered manually. As of March 2024, typical versions might include:
    • BuildKit: v0.13.0 (latest), v0.12.5, v0.12.0
    • Ruby: 3.3.0 (latest), 3.2.3, 3.2.2
    • Nginx: 1.25.4 (latest), 1.24.0, 1.23.4
    • Node: 21.7.1 (latest), 20.11.1, 18.19.1

To pull a specific version:

docker pull ghcr.io/loftwah/buildkit/ruby:3.3.0

If you get a "manifest unknown" error, it hasn't been mirrored yet—run the appropriate workflow first.

Using the Images

Here's how to use them after pulling:

BuildKit

For building Docker images efficiently. Start it:

docker run -d --name buildkitd --privileged ghcr.io/loftwah/buildkit/buildkit:latest

Then build a project:

docker buildx create --use --name mybuilder --driver remote tcp://localhost:1234
docker buildx build -t myimage:latest .

Ruby

For running Ruby applications. Start it:

docker run -it ghcr.io/loftwah/buildkit/ruby:latest bash

Inside, run:

ruby -e 'puts "Ruby is ready to roll!"'

Nginx

For hosting a web server. Start it:

docker run -d -p 80:80 ghcr.io/loftwah/buildkit/nginx:latest

Open http://localhost in your browser to see Nginx in action.

Node.js

For JavaScript development. Start it:

docker run -it ghcr.io/loftwah/buildkit/node:latest bash

Inside, run:

node -e 'console.log("Node.js is up and running");'

Workflows

Daily Mirror (mirror-images.yml)

  • Runs: Automatically every day at midnight UTC (12:00 AM universal time).
  • Purpose: Keeps latest tags up to date for all images.
  • Manual Override: Can sync a specific image version via workflow dispatch.

All Versions Mirror (mirror-all-images.yml)

  • Runs: Manually triggered only.
  • Purpose: Syncs latest version plus two prior stable versions for each image.
  • Note: Use this when you need specific version tags.

Contributing

Feel free to open issues or PRs if you'd like to improve this mirror setup.

License

MIT License - feel free to use this in your own projects.

About

My buildkit image

Resources

Stars

Watchers

Forks