crazy-max/docker-alpine-s6

Alpine Linux with s6 overlay

Dockerfile

41

326 commits

updated Aug 11, 2026

See the code

README

Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

About

Alpine Linux with s6 overlay.

[!TIP] Want to be notified of new releases? Check out πŸ”” Diun (Docker Image Update Notifier) project!


Features

Usage

This repository provides two images. The first one is built on top of alpine so, you can use it as a base image for your own images:

# syntax=docker/dockerfile:1
FROM crazymax/alpine-s6
RUN apk add --no-cache nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]

[!NOTE] ENTRYPOINT ["/init"] is already defined in the base image so no need to add this command.

The second one is a distribution image. This is a multi-platform scratch image that only contains all the scripts and binaries needed to run s6-overlay. This way you can use any base image and use the COPY --link --from command to copy the assets inside your image:

# syntax=docker/dockerfile:1
FROM ubuntu
COPY --link --from=crazymax/alpine-s6-dist / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]

[!WARNING] COPY --link is not supported with BuildKit built directly into the Docker Engine. You can use a Container builder in this case.

Alpine image

RegistryImage
Docker Hubcrazymax/alpine-s6
GitHub Container Registryghcr.io/crazy-max/alpine-s6
$ docker buildx imagetools inspect crazymax/alpine-s6 --format "{{json .Manifest}}" | \
  jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'

linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x

Dist image

RegistryImage
Docker Hubcrazymax/alpine-s6-dist
GitHub Container Registryghcr.io/crazy-max/alpine-s6-dist
$ docker buildx imagetools inspect crazymax/alpine-s6-dist --format "{{json .Manifest}}" | \
  jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'

linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x

Supported tags

  • edge, edge-x.x.x.x
  • latest-edge, 3.24-edge
  • latest, latest-x.x.x.x, 3.24, 3.24-x.x.x.x
  • 3.23-edge
  • 3.23, 3.23-x.x.x.x
  • 3.22-edge
  • 3.22, 3.22-x.x.x.x
  • 3.21-edge
  • 3.21, 3.21-x.x.x.x
  • 3.20-edge
  • 3.20, 3.20-x.x.x.x
  • 3.19-edge
  • 3.19, 3.19-x.x.x.x

x.x.x.x has to be replaced with one of the s6-overlay releases available (e.g. 3.1.0.1).

Build

git clone https://github.com/crazy-max/docker-alpine-s6.git
cd docker-alpine-s6

# Build image and output to docker (default)
docker buildx bake

# Build tarballs to ./dist
docker buildx bake artifact-all

# Build multi-platform image
docker buildx bake image-all

# Build multi-platform dist image
docker buildx bake image-dist-all

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! πŸ™

License

MIT. See LICENSE for more details.

alpine
alpine-linux
docker
s6-overlay
socklog-overlay

crazy-max/docker-alpine-s6

Alpine Linux with s6 overlay

Dockerfile

41

326 commits

updated Aug 11, 2026

See the code

README

Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

About

Alpine Linux with s6 overlay.

[!TIP] Want to be notified of new releases? Check out πŸ”” Diun (Docker Image Update Notifier) project!


Features

Usage

This repository provides two images. The first one is built on top of alpine so, you can use it as a base image for your own images:

# syntax=docker/dockerfile:1
FROM crazymax/alpine-s6
RUN apk add --no-cache nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]

[!NOTE] ENTRYPOINT ["/init"] is already defined in the base image so no need to add this command.

The second one is a distribution image. This is a multi-platform scratch image that only contains all the scripts and binaries needed to run s6-overlay. This way you can use any base image and use the COPY --link --from command to copy the assets inside your image:

# syntax=docker/dockerfile:1
FROM ubuntu
COPY --link --from=crazymax/alpine-s6-dist / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]

[!WARNING] COPY --link is not supported with BuildKit built directly into the Docker Engine. You can use a Container builder in this case.

Alpine image

RegistryImage
Docker Hubcrazymax/alpine-s6
GitHub Container Registryghcr.io/crazy-max/alpine-s6
$ docker buildx imagetools inspect crazymax/alpine-s6 --format "{{json .Manifest}}" | \
  jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'

linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x

Dist image

RegistryImage
Docker Hubcrazymax/alpine-s6-dist
GitHub Container Registryghcr.io/crazy-max/alpine-s6-dist
$ docker buildx imagetools inspect crazymax/alpine-s6-dist --format "{{json .Manifest}}" | \
  jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'

linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x

Supported tags

  • edge, edge-x.x.x.x
  • latest-edge, 3.24-edge
  • latest, latest-x.x.x.x, 3.24, 3.24-x.x.x.x
  • 3.23-edge
  • 3.23, 3.23-x.x.x.x
  • 3.22-edge
  • 3.22, 3.22-x.x.x.x
  • 3.21-edge
  • 3.21, 3.21-x.x.x.x
  • 3.20-edge
  • 3.20, 3.20-x.x.x.x
  • 3.19-edge
  • 3.19, 3.19-x.x.x.x

x.x.x.x has to be replaced with one of the s6-overlay releases available (e.g. 3.1.0.1).

Build

git clone https://github.com/crazy-max/docker-alpine-s6.git
cd docker-alpine-s6

# Build image and output to docker (default)
docker buildx bake

# Build tarballs to ./dist
docker buildx bake artifact-all

# Build multi-platform image
docker buildx bake image-all

# Build multi-platform dist image
docker buildx bake image-dist-all

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! πŸ™

License

MIT. See LICENSE for more details.

alpine
alpine-linux
docker
s6-overlay
socklog-overlay