Home
Softono
dockershelf

dockershelf

Open source Shell
96
Stars
13
Forks
1
Issues
2
Watchers
1 week
Last Commit

About dockershelf

A repository containing useful, lightweight and reliable dockerfiles.

Platforms

Web Self-hosted Docker

Languages

Shell


Current version: 3.4.3

Dockershelf is a repository that serves as a collector for docker recipes that are universal, efficient and slim. We keep adding "shelves", which are holders for the different versions of a popular language or application. Images are updated, tested and published weekly via a Github Actions workflow. All images are available on Docker Hub.

Excepting debian and latex images, all images have an stable/unstable version. Stable images are based on debian stable, which are ideal for production applications because packages are not updated to minor or major versions but still recieve security updates. Unstable images are based on debian sid, which are designed for development stages because packages are constantly beaing updated to its latest version. Latex images are only based on debian stable.

Images are built for amd64 and arm64 architectures, which cover most of the devices in the market. If you need an image for a different architecture, please open an issue.

The list of available images is shown below.

Image type Tags
dockershelf/debian bookworm, oldstable, trixie, stable, forky, testing, sid, unstable, latest
dockershelf/python 3.10-trixie, 3.10-stable, 3.10-sid, 3.10-unstable, 3.10, 3.11-trixie, 3.11-stable, 3.11-sid, 3.11-unstable, 3.11, 3.12-trixie, 3.12-stable, 3.12-sid, 3.12-unstable, 3.12, 3.13-trixie, 3.13-stable, 3.13-sid, 3.13-unstable, 3.13, 3.14-trixie, 3.14-stable, 3-stable, 3-trixie, latest-stable, latest-trixie, 3.14-sid, 3.14-unstable, 3.14, 3-unstable, 3-sid, 3, latest-unstable, latest-sid, latest
dockershelf/node 16-trixie, 16-stable, 16-sid, 16-unstable, 16, 18-trixie, 18-stable, 18-sid, 18-unstable, 18, 20-trixie, 20-stable, 20-sid, 20-unstable, 20, 22-trixie, 22-stable, 22-sid, 22-unstable, 22, 24-trixie, 24-stable, latest-stable, latest-trixie, 24-sid, 24-unstable, 24, latest-unstable, latest-sid, latest
dockershelf/go 1.20-trixie, 1.20-stable, 1.20-sid, 1.20-unstable, 1.20, 1.21-trixie, 1.21-stable, 1.21-sid, 1.21-unstable, 1.21, 1.22-trixie, 1.22-stable, 1.22-sid, 1.22-unstable, 1.22, 1.23-trixie, 1.23-stable, 1.23-sid, 1.23-unstable, 1.23, 1.24-trixie, 1.24-stable, 1.24-sid, 1.24-unstable, 1.24, 1.25-trixie, 1.25-stable, latest-stable, latest-trixie, 1.25-sid, 1.25-unstable, 1.25, latest-unstable, latest-sid, latest
dockershelf/latex basic, basic-stable, latest-stable, latest, full, full-stable, extras, extras-stable

How to use

You can pull one of the images from Docker Hub and run it in your machine.

docker pull <image>
docker run -it <image> bash

<image> is the desired image to download, for example dockershelf/python:3.11.

or you can use it as a base image in your Dockerfile.

FROM dockershelf/debian:bookworm
RUN apt-get update \
    && apt-get install -y mysql-client
ENTRYPOINT ["mysql"]

How to build locally

Clone this repository to your machine.

git clone https://github.com/Dockershelf/dockershelf

Run the build script in the root folder of your local copy. Remember to have docker installed and make sure your user has proper privileges to execute docker build.

bash build-image.sh <image>

<image> is the desired image to build, for example dockershelf/node:16-bookworm.

Maintainer development

Docker-backed workflow for regenerating shelves and running maintenance tools:

cp .env.example .env   # when using build-all-images.sh or delete-stale.sh
make image
make start
make console           # shell inside dev container
make update-shelves    # regenerate Dockerfiles, README tables, CI matrices
make discover-shelves  # list upstream shelf versions
make dependencies      # install Ruby test gems (vendor/bundle)

Host-only Python (no Docker):

make virtualenv
./virtualenv/bin/python3 update.py

Testing

Pull requests run python3 update.py across Python 3.9–3.12 (see .github/workflows/pr.yml). After shelf changes, run make update-shelves or python3 update.py locally and confirm it completes without errors.

Image specs use Ruby (RSpec) in shelf test-image.rb files; run relevant tests when changing Docker recipes.

Contributing

See CONTRIBUTING.md. Report issues at github.com/LuisAlejandro/dockershelf/issues.

Releases

Changelog: HISTORY.md. GitHub release blurbs: RELEASE_DESCRIPTION.md. Maintainers use make release-patch, make release-minor, make release-major, and make hotfix (see MAINTAINER.md).

Shelves

Debian

These images are similar to the official ones, but with some opinionated configurations. Check out debian/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/debian:bookworm
dockershelf/debian:trixie
dockershelf/debian:forky
dockershelf/debian:sid

Python

These are debian stable/unstable images with python versions installed from the deadsnakes ppa. Check out python/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/python:3.10-trixie
dockershelf/python:3.10-sid
dockershelf/python:3.11-trixie
dockershelf/python:3.11-sid
dockershelf/python:3.12-trixie
dockershelf/python:3.12-sid
dockershelf/python:3.13-trixie
dockershelf/python:3.13-sid
dockershelf/python:3.14-trixie
dockershelf/python:3.14-sid

Node

These are debian stable/unstable images with node versions built using the nodesource installation script. Check out node/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/node:16-trixie
dockershelf/node:16-sid
dockershelf/node:18-trixie
dockershelf/node:18-sid
dockershelf/node:20-trixie
dockershelf/node:20-sid
dockershelf/node:22-trixie
dockershelf/node:22-sid
dockershelf/node:24-trixie
dockershelf/node:24-sid

Go

These are debian stable/unstable images with go version downloaded directly from the official website. Check out node/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/go:1.20-trixie
dockershelf/go:1.20-sid
dockershelf/go:1.21-trixie
dockershelf/go:1.21-sid
dockershelf/go:1.22-trixie
dockershelf/go:1.22-sid
dockershelf/go:1.23-trixie
dockershelf/go:1.23-sid
dockershelf/go:1.24-trixie
dockershelf/go:1.24-sid
dockershelf/go:1.25-trixie
dockershelf/go:1.25-sid

Latex

These are debian stable images that come with a set of latex (basic, full, or extras) packages installed. Check out latex/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/latex:basic
dockershelf/latex:full
dockershelf/latex:extras

Made with 💖 and 🍔

Banner

Web luisalejandro.org · GitHub @LuisAlejandro · Twitter @LuisAlejandro