48 Commits

Author SHA1 Message Date
c47f8f0182 Merge pull request #39 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-6.7.0
Bump docker/bake-action from 6.6.0 to 6.7.0
2025-05-18 12:45:28 +02:00
dependabot[bot]
157fa7e7fe Bump docker/bake-action from 6.6.0 to 6.7.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6.6.0 to 6.7.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6.6.0...v6.7.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 6.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 10:32:31 +00:00
45e0d61c6b Merge pull request #38 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-6.6.0
Bump docker/bake-action from 6.5.0 to 6.6.0
2025-04-25 23:04:01 +02:00
dependabot[bot]
e9d28ed5b0 Bump docker/bake-action from 6.5.0 to 6.6.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6.5.0 to 6.6.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6.5.0...v6.6.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 6.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 10:36:22 +00:00
b3b6ef30be Remove gha cache 2025-03-13 04:15:14 +01:00
c3b7cc2f6e Use self-hosted runner 2025-03-13 03:48:53 +01:00
dcf140d2cf Revert busybox rebase. Busybox's wget seems to have a bug
See (Docker): https://github.com/docker-library/busybox/issues/162

See (Upstream): https://bugs.busybox.net/show_bug.cgi?id=15679
2025-03-12 04:03:39 +01:00
b3ac1158ba Refactor, add arch/noarch symlinks, simplify and rebase build stages to busybox 2025-03-12 02:55:04 +01:00
a1dcabe094 Update to version 3.2.0.2 2025-03-02 00:12:15 +01:00
0dff2e2eda Add versions 3.2.0.0, 3.2.0.1 and 3.2.0.2 2025-03-02 00:05:37 +01:00
d5c6850960 Stop using deprecated TARGETPLATFORM @ FROM directives 2025-03-01 23:57:27 +01:00
3c24c63a3b Add note about broken GHA builds 2025-03-01 23:53:31 +01:00
b5b8811d71 Update comment 2025-03-01 23:51:46 +01:00
77a6a1ae38 Remove dockerhub 2025-03-01 23:44:32 +01:00
0bfc6f469c Merge pull request #37 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-6.5.0
Bump docker/bake-action from 6.4.0 to 6.5.0
2025-03-01 23:35:26 +01:00
dependabot[bot]
72054b6337 Bump docker/bake-action from 6.4.0 to 6.5.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6.4.0...v6.5.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 10:44:57 +00:00
28d2032581 Merge pull request #35 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-6.4.0
Bump docker/bake-action from 4.1.0 to 6.4.0
2025-02-24 18:36:20 +01:00
5df5a0b695 Merge pull request #36 from N0rthernL1ghts/dependabot/docker/alpine-3.21
Bump alpine from 3.20 to 3.21
2025-02-24 18:34:25 +01:00
dependabot[bot]
8a0aa787ba Bump alpine from 3.20 to 3.21
Bumps alpine from 3.20 to 3.21.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 11:57:22 +00:00
dependabot[bot]
659a9bf2ee Bump docker/bake-action from 4.1.0 to 6.4.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4.1.0 to 6.4.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4.1.0...v6.4.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 11:03:51 +00:00
9ec886c907 Merge pull request #24 from N0rthernL1ghts/dependabot/docker/alpine-3.20
Bump alpine from 3.19 to 3.20
2025-02-22 16:38:59 +01:00
dependabot[bot]
74ab34ea96 Bump alpine from 3.19 to 3.20
Bumps alpine from 3.19 to 3.20.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 10:11:45 +00:00
3d259d126a Add support for s6-overlay v3.1.6.2 2024-05-15 00:54:23 +02:00
2b4369eece Add support for s6-overlay v3.1.6.1 2024-05-15 00:53:40 +02:00
4774e6ba1b Add support for s6-overlay v3.1.6.0 2024-05-15 00:49:58 +02:00
5880321a36 Add support for s6-overlay v3.1.5.0 2024-05-15 00:47:46 +02:00
ea0dc647d1 Merge pull request #20 from N0rthernL1ghts/dependabot/github_actions/docker/setup-qemu-action-3
Bump docker/setup-qemu-action from 2 to 3
2024-05-14 23:37:26 +02:00
963214dd95 Merge pull request #21 from N0rthernL1ghts/dependabot/github_actions/docker/setup-buildx-action-3
Bump docker/setup-buildx-action from 2 to 3
2024-05-14 23:37:11 +02:00
4e09119b5a Merge pull request #17 from N0rthernL1ghts/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2024-05-14 23:36:55 +02:00
847a5286af Merge branch 'master' of github.com:N0rthernL1ghts/s6-rootfs 2024-05-14 23:36:27 +02:00
86f6ba7859 Bump Alpine version to 3.19 (Only used during build stages) 2024-05-14 23:26:56 +02:00
224ae05a64 Merge pull request #19 from N0rthernL1ghts/dependabot/github_actions/docker/login-action-3
Bump docker/login-action from 2 to 3
2024-05-14 17:30:04 +02:00
f973d27a3b Merge pull request #22 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-4.1.0
Bump docker/bake-action from 3.1.0 to 4.1.0
2024-05-14 17:21:50 +02:00
dependabot[bot]
13ba3601ca Bump docker/bake-action from 3.1.0 to 4.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3.1.0 to 4.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3.1.0...v4.1.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 10:32:18 +00:00
dependabot[bot]
e7178a275b Bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 10:55:04 +00:00
dependabot[bot]
4ee8b820a4 Bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 10:55:01 +00:00
dependabot[bot]
cb9c060731 Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 10:54:59 +00:00
dependabot[bot]
7e4d35bdf4 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 10:18:36 +00:00
a1576900ed Remove linux/armhf support 2023-06-15 09:58:06 +02:00
fa736a885e Merge pull request #16 from N0rthernL1ghts/dependabot/github_actions/docker/bake-action-3.1.0
Bump docker/bake-action from 2.3.0 to 3.1.0
2023-06-15 01:29:17 +02:00
357b334f16 Merge pull request #15 from N0rthernL1ghts/dependabot/docker/alpine-3.18
Bump alpine from 3.17 to 3.18
2023-06-15 01:29:03 +02:00
dependabot[bot]
1117734298 Bump docker/bake-action from 2.3.0 to 3.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2.3.0 to 3.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2.3.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 11:01:49 +00:00
dependabot[bot]
19badf3bd7 Bump alpine from 3.17 to 3.18
Bumps alpine from 3.17 to 3.18.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 10:59:30 +00:00
bd27824a51 Add support for ghcr.io 2023-04-11 12:43:59 +02:00
11076e36e5 Trigger build
Testing cache
2023-04-11 12:28:43 +02:00
8347a76643 Update to v3.1.4.2 2023-04-11 12:21:29 +02:00
d4599f3752 Update to a new template with improved caching 2023-04-11 12:18:35 +02:00
3b7a3541af Update readme
- Add missing entrypoint directive to the example

- Add example configuration that can be passed to S6
2023-03-17 17:45:02 +01:00
5 changed files with 321 additions and 165 deletions

View File

@@ -6,33 +6,37 @@ on:
jobs:
build:
runs-on: ubuntu-latest
runs-on: vulcan
steps:
-
name: checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
with:
config-inline: |
[worker.oci]
max-parallelism = 16
-
name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{github.actor}}
password: ${{secrets.PAT_TOKEN}}
-
name: Build and push
uses: docker/bake-action@v2.3.0
uses: docker/bake-action@v6.7.0
with:
files: build/docker-bake.hcl
push: true
set: |
*.cache-from=type=gha
*.cache-to=type=gha,mode=max
push: true

View File

@@ -1,69 +1,74 @@
ARG S6_OVERLAY_VERSION="3.1.0.0"
ARG S6_OVERLAY_RELEASE="https://github.com/just-containers/s6-overlay/releases/download/"
ARG S6_OVERLAY_VERSION="3.2.0.2"
ARG S6_OVERLAY_RELEASE="https://github.com/just-containers/s6-overlay/releases/download"
ARG S6_OVERLAY_PAK_EXT=".tar.xz"
# First stage - Download s6-overlay noarch base and unpack it
FROM scratch AS downloader-s6-base
ARG S6_OVERLAY_VERSION
ARG S6_OVERLAY_RELEASE
ARG S6_OVERLAY_PAK_EXT
ADD "${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-noarch${S6_OVERLAY_PAK_EXT}" /s6overlay-base.tar.xz
# Second stage - Download s6-overlay platform-dependent binaries and unpack
FROM --platform=${TARGETPLATFORM} alpine:3.17.2 AS downloader-s6-bin
# Downloader stage: download s6-overlay base, binary, symlinks and checksums
FROM alpine:3.21 AS downloader
ARG TARGETPLATFORM
ARG S6_OVERLAY_VERSION
ARG S6_OVERLAY_RELEASE
ARG S6_OVERLAY_PAK_EXT
ARG S6_OVERLAY_RELEASE_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETPLATFORM}${S6_OVERLAY_PAK_EXT}"
ARG S6_OVERLAY_HASH_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETPLATFORM}${S6_OVERLAY_PAK_EXT}.sha256"
# Set environment variables
ENV BASE_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-noarch${S6_OVERLAY_PAK_EXT}"
ENV BASE_HASH_URL="${BASE_URL}.sha256"
ENV BIN_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETPLATFORM}${S6_OVERLAY_PAK_EXT}"
ENV BIN_HASH_URL="${BIN_URL}.sha256"
ENV SYMLINKS_ARCH_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch${S6_OVERLAY_PAK_EXT}"
ENV SYMLINKS_ARCH_HASH_URL="${SYMLINKS_ARCH_URL}.sha256"
ENV SYMLINKS_NOARCH_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch${S6_OVERLAY_PAK_EXT}"
ENV SYMLINKS_NOARCH_HASH_URL="${SYMLINKS_NOARCH_URL}.sha256"
RUN set -eux \
&& apk add --no-cache wget \
&& wget -O /s6overlay-bin.tar.xz "$(echo ${S6_OVERLAY_RELEASE_URL} | sed 's/linux\///g' | sed 's/amd64/x86_64/g' | sed 's/arm64/aarch64/g' | sed 's/arm\/v7/armhf/g')"
# Replace platform
&& BIN_URL_FIXED=$(echo "${BIN_URL}" | sed -e 's/linux\///g' -e 's/amd64/x86_64/g' -e 's/arm64/aarch64/g' -e 's|arm/v7|armhf|g') \
&& BIN_HASH_URL_FIXED=$(echo "${BIN_HASH_URL}" | sed -e 's/linux\///g' -e 's/amd64/x86_64/g' -e 's/arm64/aarch64/g' -e 's|arm/v7|armhf|g') \
# Download s6-overlay binaries
&& wget -O /s6overlay-bin.tar.xz "${BIN_URL_FIXED}" \
&& wget -O /s6overlay-bin.tar.xz.sha256 "${BIN_HASH_URL_FIXED}" \
# Download s6-overlay base and its hash
&& wget -O /s6overlay-base.tar.xz "${BASE_URL}" \
&& wget -O /s6overlay-base.tar.xz.sha256 "${BASE_HASH_URL}" \
# Download s6-overlay symlinks \
&& wget -O /s6overlay-arch-symlinks.tar.xz "${SYMLINKS_ARCH_URL}" \
&& wget -O /s6overlay-arch-symlinks.tar.xz.sha256 "${SYMLINKS_ARCH_HASH_URL}" \
&& wget -O /s6overlay-noarch-symlinks.tar.xz "${SYMLINKS_NOARCH_URL}" \
&& wget -O /s6overlay-noarch-symlinks.tar.xz.sha256 "${SYMLINKS_NOARCH_HASH_URL}" \
# Build SHA256SUMS file
&& echo "$(cut -d' ' -f1 /s6overlay-base.tar.xz.sha256) /s6overlay-base.tar.xz" > /SHA256SUMS \
&& echo "$(cut -d' ' -f1 /s6overlay-bin.tar.xz.sha256) /s6overlay-bin.tar.xz" >> /SHA256SUMS \
&& echo "$(cut -d' ' -f1 /s6overlay-arch-symlinks.tar.xz.sha256) /s6overlay-arch-symlinks.tar.xz" >> /SHA256SUMS \
&& echo "$(cut -d' ' -f1 /s6overlay-noarch-symlinks.tar.xz.sha256) /s6overlay-noarch-symlinks.tar.xz" >> /SHA256SUMS \
# Verify integrity of downloaded files
&& sha256sum -c /SHA256SUMS
# Builder stage
FROM busybox AS builder
# Third stage - Download s6-overlay platform-dependent hashes
FROM --platform=${TARGETPLATFORM} alpine:3.17.2 AS downloader-s6-sha256-sums
ARG TARGETPLATFORM
ARG S6_OVERLAY_VERSION
ARG S6_OVERLAY_RELEASE
ARG S6_OVERLAY_PAK_EXT
ARG S6_OVERLAY_BASE_HASH_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-noarch${S6_OVERLAY_PAK_EXT}.sha256"
ARG S6_OVERLAY_BIN_HASH_URL="${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETPLATFORM}${S6_OVERLAY_PAK_EXT}.sha256"
COPY --from=downloader ["/s6overlay-base.tar.xz", "/s6overlay-bin.tar.xz", "/s6overlay-arch-symlinks.tar.xz", "/s6overlay-noarch-symlinks.tar.xz", "/tmp/s6/"]
RUN set -eux \
&& apk add --no-cache wget \
&& wget -O /s6overlay-base.tar.xz.sha256 "${S6_OVERLAY_BASE_HASH_URL}" \
&& wget -O /s6overlay-bin.tar.xz.sha256 "$(echo "${S6_OVERLAY_BIN_HASH_URL}" | sed 's/linux\///g' | sed 's/amd64/x86_64/g' | sed 's/arm64/aarch64/g' | sed 's/arm\/v7/armhf/g')" \
&& echo "$(cat /s6overlay-base.tar.xz.sha256 | cut -d' ' -f1) /s6overlay-base.tar.xz" > /SHA256SUMS \
&& echo "$(cat /s6overlay-bin.tar.xz.sha256 | cut -d' ' -f1) /s6overlay-bin.tar.xz" >> /SHA256SUMS \
&& rm /s6overlay-base.tar.xz.sha256 \
&& rm /s6overlay-bin.tar.xz.sha256
&& mkdir -p /build \
&& tar -Jxpf /tmp/s6/s6overlay-base.tar.xz -C /build \
&& tar -Jxpf /tmp/s6/s6overlay-bin.tar.xz -C /build \
&& tar -Jxpf /tmp/s6/s6overlay-arch-symlinks.tar.xz -C /build \
&& tar -Jxpf /tmp/s6/s6overlay-noarch-symlinks.tar.xz -C /build
# Fourth stage - Build rootfs from s6 parts
FROM alpine:3.17.2 AS rootfs-builder
# Rootfs
FROM scratch AS rootfs
COPY --from=downloader-s6-sha256-sums ["/SHA256SUMS", "/"]
COPY --from=downloader-s6-base ["/s6overlay-base.tar.xz", "/s6overlay-base.tar.xz"]
COPY --from=downloader-s6-bin ["/s6overlay-bin.tar.xz", "/s6overlay-bin.tar.xz"]
WORKDIR "/rootfs-build/"
RUN set -eux \
&& sha256sum -c /SHA256SUMS \
&& apk add --no-cache tar xz \
&& tar -Jxpf /s6overlay-base.tar.xz -C /rootfs-build \
&& tar -Jxpf /s6overlay-bin.tar.xz -C /rootfs-build
COPY --from=builder ["/build/", "/"]
# Final stage
FROM scratch AS s6-rootfs
# Final image: minimal rootfs
FROM scratch
LABEL maintainer="Aleksandar Puharic <aleksandar@puharic.com>"
COPY --from=rootfs-builder ["/rootfs-build/", "/"]
COPY --from=rootfs ["/", "/"]

View File

@@ -1,5 +1,5 @@
# First stage - Download s6-overlay and unpack it
FROM --platform=${TARGETPLATFORM} alpine:3.17 AS downloader
FROM alpine:3.21 AS downloader
ARG TARGETPLATFORM
@@ -7,15 +7,15 @@ ARG TARGETPLATFORM
ARG S6_OVERLAY_VERSION="2.2.0.3"
ARG S6_OVERLAY_RELEASE="https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETPLATFORM}.tar.gz"
WORKDIR "/s6-overlay/"
RUN apk add --no-cache wget tar gzip \
RUN set -eux \
&& mkdir -p /s6-overlay \
&& wget -O /tmp/s6overlay.tar.gz $(echo ${S6_OVERLAY_RELEASE} | sed 's/linux\///g' | sed 's/arm64/aarch64/g' | sed 's/arm\/v7/armhf/g') \
&& tar xzf /tmp/s6overlay.tar.gz -C /s6-overlay
# Final stage
FROM scratch AS s6-rootfs
FROM scratch
LABEL maintainer="Aleksandar Puharic <aleksandar@puharic.com>"

View File

@@ -2,17 +2,24 @@
The simplest and fastest way to get S6 supervisor in your image
This docker image packages s6 supervisor overlay based on https://github.com/just-containers/s6-overlay releases.
NOTE: GitHub Actions builds are currently broken. Images are, however manually built, so you should be still getting latest version.
### Usage
```Docker
COPY --from=nlss/s6-rootfs:latest ["/", "/"]
COPY --from=ghcr.io/n0rthernl1ghts/s6-rootfs:latest ["/", "/"]
```
or with fixed version:
```Docker
COPY --from=nlss/s6-rootfs:3.1.2.1 ["/", "/"]
COPY --from=ghcr.io/n0rthernl1ghts/s6-rootfs:3.2.0.2 ["/", "/"]
```
That's it!
Note: We have moved to `ghcr.io`. Docker hub `docker.io/nlss/s6-rootfs` builds are discontinued.<br/>
###### Recommended way to integrate with your image (example)
```Docker
# ---------------------
@@ -24,7 +31,7 @@ FROM scratch AS rootfs
COPY ["./rootfs", "/"]
# Install S6
COPY --from=nlss/s6-rootfs:3.1.2.1 ["/", "/"]
COPY --from=ghcr.io/n0rthernl1ghts/s6-rootfs:3.2.0.2 ["/", "/"]
# ---------------------
@@ -34,5 +41,13 @@ FROM alpine:latest
COPY --from=rootfs ["/", "/"]
RUN apk add --update --no-cache nano
```
# S6 configuration - not required
# See: https://github.com/just-containers/s6-overlay#customizing-s6-overlay-behaviour
ENV S6_KEEP_ENVS6_KEEP_ENV=1
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
ENV S6_CMD_RECEIVE_SIGNALS=1
# Important, this is required for S6 to work
ENTRYPOINT ["/init"]
```

View File

@@ -1,5 +1,15 @@
group "default" {
targets = ["2_1_0_2", "2_2_0_0", "2_2_0_1", "2_2_0_2", "2_2_0_3", "3_0_0_0", "3_0_0_1", "3_0_0_2", "3_0_0_2-2", "3_1_0_0", "3_1_0_1", "3_1_1_0", "3_1_1_1", "3_1_1_2", "3_1_2_0", "3_1_2_1", "3_1_3_0", "3_1_4_0", "3_1_4_1"]
targets = [
"2_1_0_2", "2_2_0_0", "2_2_0_1",
"2_2_0_2", "2_2_0_3", "3_0_0_0",
"3_0_0_1", "3_0_0_2", "3_0_0_2-2",
"3_1_0_0", "3_1_0_1", "3_1_1_0",
"3_1_1_1", "3_1_1_2", "3_1_2_0",
"3_1_2_1", "3_1_3_0", "3_1_4_0",
"3_1_4_1", "3_1_4_2", "3_1_5_0",
"3_1_6_0", "3_1_6_1", "3_1_6_2",
"3_2_0_0", "3_2_0_1", "3_2_0_2"
]
}
target "build-dockerfile" {
@@ -11,165 +21,287 @@ target "build-dockerfile-legacy" {
}
target "build-platforms" {
platforms = ["linux/amd64", "linux/armhf", "linux/aarch64"]
platforms = ["linux/amd64", "linux/aarch64"]
}
target "build-common" {
pull = true
}
target "2_1_0_2" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:2.1.0.2", "docker.io/nlss/s6-rootfs:2.1"]
args = {
S6_OVERLAY_VERSION = "2.1.0.2"
variable "REGISTRY_CACHE" {
default = "ghcr.io/n0rthernl1ghts/s6-rootfs-cache"
}
######################
# Define the functions
######################
# Get the arguments for the build
function "get-args" {
params = [version]
result = {
S6_OVERLAY_VERSION = version
}
}
# Get the arguments for the build
function "get-args-with-pak-ext" {
params = [version, pak_ext]
result = {
S6_OVERLAY_VERSION = version
S6_OVERLAY_PAK_EXT = pak_ext
}
}
# Get the cache-from configuration
function "get-cache-from" {
params = [version]
result = [
"type=registry,ref=${REGISTRY_CACHE}:${sha1("${version}-${BAKE_LOCAL_PLATFORM}")}"
]
}
# Get the cache-to configuration
function "get-cache-to" {
params = [version]
result = [
"type=registry,mode=max,ref=${REGISTRY_CACHE}:${sha1("${version}-${BAKE_LOCAL_PLATFORM}")}"
]
}
# Get list of image tags and registries
# Takes a version and a list of extra versions to tag
# eg. get-tags("3.1.4.1", ["3.1", "latest"])
function "get-tags" {
params = [version, extra_versions]
result = concat(
[
"ghcr.io/n0rthernl1ghts/s6-rootfs:${version}"
],
flatten([
for extra_version in extra_versions : [
"ghcr.io/n0rthernl1ghts/s6-rootfs:${extra_version}"
]
])
)
}
##########################
# Define the build targets
##########################
target "2_1_0_2" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.1.0.2")
cache-to = get-cache-to("2.1.0.2")
tags = get-tags("2.1.0.2", ["2.1"])
args = get-args("2.1.0.2")
}
target "2_2_0_0" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:2.2.0.0"]
args = {
S6_OVERLAY_VERSION = "2.2.0.0"
}
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.0")
cache-to = get-cache-to("2.2.0.0")
tags = get-tags("2.2.0.0", [])
args = get-args("2.2.0.0")
}
target "2_2_0_1" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:2.2.0.1"]
args = {
S6_OVERLAY_VERSION = "2.2.0.1"
}
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.1")
cache-to = get-cache-to("2.2.0.1")
tags = get-tags("2.2.0.1", [])
args = get-args("2.2.0.1")
}
target "2_2_0_2" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:2.2.0.2"]
args = {
S6_OVERLAY_VERSION = "2.2.0.2"
}
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.2")
cache-to = get-cache-to("2.2.0.2")
tags = get-tags("2.2.0.2", [])
args = get-args("2.2.0.2")
}
target "2_2_0_3" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:2.2.0.3", "docker.io/nlss/s6-rootfs:2.2"]
args = {
S6_OVERLAY_VERSION = "2.2.0.3"
}
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.3")
cache-to = get-cache-to("2.2.0.3")
tags = get-tags("2.2.0.3", ["2.2"])
args = get-args("2.2.0.3")
}
target "3_0_0_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.0.0.0", "docker.io/nlss/s6-rootfs:3.0.0.0-1"]
args = {
S6_OVERLAY_VERSION = "3.0.0.0-1"
S6_OVERLAY_PAK_EXT = "-3.0.0.0-1.tar.xz"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.0-1")
cache-to = get-cache-to("3.0.0.0-1")
tags = get-tags("3.0.0.0", ["3.0.0.0-1"])
args = get-args-with-pak-ext("3.0.0.0-1", "-3.0.0.0-1.tar.xz")
}
target "3_0_0_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.0.0.1"]
args = {
S6_OVERLAY_VERSION = "3.0.0.1"
S6_OVERLAY_PAK_EXT = "-3.0.0.1.tar.xz"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.1")
cache-to = get-cache-to("3.0.0.1")
tags = get-tags("3.0.0.1", [])
args = get-args-with-pak-ext("3.0.0.1", "-3.0.0.1.tar.xz")
}
target "3_0_0_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.0.0.2"]
args = {
S6_OVERLAY_VERSION = "3.0.0.2"
S6_OVERLAY_PAK_EXT = "-3.0.0.2.tar.xz"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.2")
cache-to = get-cache-to("3.0.0.2")
tags = get-tags("3.0.0.2", [])
args = get-args-with-pak-ext("3.0.0.2", "-3.0.0.2.tar.xz")
}
target "3_0_0_2-2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.0.0.2-2", "docker.io/nlss/s6-rootfs:3.0"]
args = {
S6_OVERLAY_VERSION = "3.0.0.2-2"
S6_OVERLAY_PAK_EXT = "-3.0.0.2-2.tar.xz"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.2-2")
cache-to = get-cache-to("3.0.0.2-2")
tags = get-tags("3.0.0.2-2", ["3.0"])
args = get-args-with-pak-ext("3.0.0.2-2", "-3.0.0.2-2.tar.xz")
}
target "3_1_0_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.0.0"]
args = {
S6_OVERLAY_VERSION = "3.1.0.0"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.0.0")
cache-to = get-cache-to("3.1.0.0")
tags = get-tags("3.1.0.0", [])
args = get-args("3.1.0.0")
}
target "3_1_0_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.0.1"]
args = {
S6_OVERLAY_VERSION = "3.1.0.1"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.0.1")
cache-to = get-cache-to("3.1.0.1")
tags = get-tags("3.1.0.1", ["3.1.0"])
args = get-args("3.1.0.1")
}
target "3_1_1_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.1.0"]
args = {
S6_OVERLAY_VERSION = "3.1.1.0"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.0")
cache-to = get-cache-to("3.1.1.0")
tags = get-tags("3.1.1.0", [])
args = get-args("3.1.1.0")
}
target "3_1_1_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.1.1"]
args = {
S6_OVERLAY_VERSION = "3.1.1.1"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.1")
cache-to = get-cache-to("3.1.1.1")
tags = get-tags("3.1.1.1", [])
args = get-args("3.1.1.1")
}
target "3_1_1_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.1.2"]
args = {
S6_OVERLAY_VERSION = "3.1.1.2"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.2")
cache-to = get-cache-to("3.1.1.2")
tags = get-tags("3.1.1.2", ["3.1", "3.1.1"])
args = get-args("3.1.1.2")
}
target "3_1_2_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.2.0"]
args = {
S6_OVERLAY_VERSION = "3.1.2.0"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.2.0")
cache-to = get-cache-to("3.1.2.0")
tags = get-tags("3.1.2.0", [])
args = get-args("3.1.2.0")
}
target "3_1_2_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.2.1"]
args = {
S6_OVERLAY_VERSION = "3.1.2.1"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.2.1")
cache-to = get-cache-to("3.1.2.1")
tags = get-tags("3.1.2.1", ["3.1.2"])
args = get-args("3.1.2.1")
}
target "3_1_3_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.3.0"]
args = {
S6_OVERLAY_VERSION = "3.1.3.0"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.3.0")
cache-to = get-cache-to("3.1.3.0")
tags = get-tags("3.1.3.0", ["3.1.3"])
args = get-args("3.1.3.0")
}
target "3_1_4_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.4.0"]
args = {
S6_OVERLAY_VERSION = "3.1.4.0"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.0")
cache-to = get-cache-to("3.1.4.0")
tags = get-tags("3.1.4.0", [])
args = get-args("3.1.4.0")
}
target "3_1_4_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
tags = ["docker.io/nlss/s6-rootfs:3.1.4.1", "docker.io/nlss/s6-rootfs:3.1", "docker.io/nlss/s6-rootfs:latest"]
args = {
S6_OVERLAY_VERSION = "3.1.4.1"
}
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.1")
cache-to = get-cache-to("3.1.4.1")
tags = get-tags("3.1.4.1", [])
args = get-args("3.1.4.1")
}
target "3_1_4_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.2")
cache-to = get-cache-to("3.1.4.2")
tags = get-tags("3.1.4.2", ["3.1.4"])
args = get-args("3.1.4.2")
}
target "3_1_5_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.5.0")
cache-to = get-cache-to("3.1.5.0")
tags = get-tags("3.1.5.0", ["3.1.5"])
args = get-args("3.1.5.0")
}
target "3_1_6_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.6.0")
cache-to = get-cache-to("3.1.6.0")
tags = get-tags("3.1.6.0", [])
args = get-args("3.1.6.0")
}
target "3_1_6_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.6.1")
cache-to = get-cache-to("3.1.6.1")
tags = get-tags("3.1.6.1", [])
args = get-args("3.1.6.1")
}
target "3_1_6_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.6.2")
cache-to = get-cache-to("3.1.6.2")
tags = get-tags("3.1.6.2", ["3.1", "3.1.6"])
args = get-args("3.1.6.2")
}
target "3_2_0_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.2.0.0")
cache-to = get-cache-to("3.2.0.0")
tags = get-tags("3.2.0.0", [])
args = get-args("3.2.0.0")
}
target "3_2_0_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.2.0.1")
cache-to = get-cache-to("3.2.0.1")
tags = get-tags("3.2.0.1", [])
args = get-args("3.2.0.0")
}
target "3_2_0_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.2.0.2")
cache-to = get-cache-to("3.2.0.2")
tags = get-tags("3.2.0.2", ["3.2", "3.2.0", "latest"])
args = get-args("3.2.0.2")
}