mirror of
https://github.com/N0rthernL1ghts/s6-rootfs.git
synced 2025-12-09 11:52:40 +01:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
4774e6ba1b
|
|||
|
5880321a36
|
|||
| ea0dc647d1 | |||
| 963214dd95 | |||
| 4e09119b5a | |||
|
847a5286af
|
|||
|
86f6ba7859
|
|||
| 224ae05a64 | |||
| f973d27a3b | |||
|
|
13ba3601ca | ||
|
|
e7178a275b | ||
|
|
4ee8b820a4 | ||
|
|
cb9c060731 | ||
|
|
7e4d35bdf4 | ||
| a1576900ed | |||
| fa736a885e | |||
| 357b334f16 | |||
|
|
1117734298 | ||
|
|
19badf3bd7 | ||
|
bd27824a51
|
17
.github/workflows/image.yml
vendored
17
.github/workflows/image.yml
vendored
@@ -10,26 +10,33 @@ jobs:
|
||||
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@v4.1.0
|
||||
with:
|
||||
files: build/docker-bake.hcl
|
||||
push: true
|
||||
@@ -11,7 +11,7 @@ ADD "${S6_OVERLAY_RELEASE}/v${S6_OVERLAY_VERSION}/s6-overlay-noarch${S6_OVERLAY_
|
||||
|
||||
|
||||
# Second stage - Download s6-overlay platform-dependent binaries and unpack
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.17.2 AS downloader-s6-bin
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.19 AS downloader-s6-bin
|
||||
ARG TARGETPLATFORM
|
||||
ARG S6_OVERLAY_VERSION
|
||||
ARG S6_OVERLAY_RELEASE
|
||||
@@ -26,7 +26,7 @@ RUN set -eux \
|
||||
|
||||
|
||||
# Third stage - Download s6-overlay platform-dependent hashes
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.17.2 AS downloader-s6-sha256-sums
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.19 AS downloader-s6-sha256-sums
|
||||
ARG TARGETPLATFORM
|
||||
ARG S6_OVERLAY_VERSION
|
||||
ARG S6_OVERLAY_RELEASE
|
||||
@@ -46,7 +46,7 @@ RUN set -eux \
|
||||
|
||||
|
||||
# Fourth stage - Build rootfs from s6 parts
|
||||
FROM alpine:3.17.2 AS rootfs-builder
|
||||
FROM alpine:3.19 AS rootfs-builder
|
||||
|
||||
COPY --from=downloader-s6-sha256-sums ["/SHA256SUMS", "/"]
|
||||
COPY --from=downloader-s6-base ["/s6overlay-base.tar.xz", "/s6overlay-base.tar.xz"]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# First stage - Download s6-overlay and unpack it
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.17 AS downloader
|
||||
FROM --platform=${TARGETPLATFORM} alpine:3.19 AS downloader
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
|
||||
10
README.md
10
README.md
@@ -4,15 +4,18 @@ The simplest and fastest way to get S6 supervisor in your image
|
||||
|
||||
### 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.1.2.1 ["/", "/"]
|
||||
```
|
||||
|
||||
That's it!
|
||||
|
||||
Note: We're moving to ghcr.io. `docker.io/nlss/s6-rootfs` will be kept up-to-date until May 2023, when is Docker sunsetting free teams.<br/>
|
||||
It is highly recommended that you start using `ghcr.io/n0rthernl1ghts/s6-rootfs`.
|
||||
|
||||
###### Recommended way to integrate with your image (example)
|
||||
```Docker
|
||||
# ---------------------
|
||||
@@ -24,7 +27,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.1.2.1 ["/", "/"]
|
||||
|
||||
|
||||
# ---------------------
|
||||
@@ -44,4 +47,3 @@ ENV S6_CMD_RECEIVE_SIGNALS=1
|
||||
# Important, this is required for S6 to work
|
||||
ENTRYPOINT ["/init"]
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
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", "3_1_4_2"]
|
||||
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"
|
||||
]
|
||||
}
|
||||
|
||||
target "build-dockerfile" {
|
||||
@@ -11,7 +20,7 @@ target "build-dockerfile-legacy" {
|
||||
}
|
||||
|
||||
target "build-platforms" {
|
||||
platforms = ["linux/amd64", "linux/armhf", "linux/aarch64"]
|
||||
platforms = ["linux/amd64", "linux/aarch64"]
|
||||
}
|
||||
|
||||
target "build-common" {
|
||||
@@ -68,11 +77,13 @@ function "get-tags" {
|
||||
params = [version, extra_versions]
|
||||
result = concat(
|
||||
[
|
||||
"docker.io/nlss/s6-rootfs:${version}"
|
||||
"docker.io/nlss/s6-rootfs:${version}",
|
||||
"ghcr.io/n0rthernl1ghts/s6-rootfs:${version}"
|
||||
],
|
||||
flatten([
|
||||
for extra_version in extra_versions : [
|
||||
"docker.io/nlss/s6-rootfs:${extra_version}"
|
||||
"docker.io/nlss/s6-rootfs:${extra_version}",
|
||||
"ghcr.io/n0rthernl1ghts/s6-rootfs:${extra_version}"
|
||||
]
|
||||
])
|
||||
)
|
||||
@@ -238,6 +249,22 @@ 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", "3.1.4", "latest"])
|
||||
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", ["3.1", "3.1.6", "latest"])
|
||||
args = get-args("3.1.6.0")
|
||||
}
|
||||
Reference in New Issue
Block a user