11# syntax=docker/dockerfile:1
22
3- FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage
3+ FROM ghcr.io/linuxserver/baseimage-alpine:3.19 as buildstage
44
55ARG MOD_VERSION
66
77RUN \
8- echo "**** retrieve latest version ****" && \
8+ echo "**** retrieve latest docker and compose versions ****" && \
99 if [[ -z "${MOD_VERSION+x}" ]]; then \
1010 DOCKER_RELEASE=$(curl -sX GET "https://api.github.com/repos/moby/moby/releases/latest" \
1111 | awk '/tag_name/{print $4;exit}' FS='[""]' \
@@ -17,57 +17,57 @@ RUN \
1717 DOCKER_RELEASE=$(echo "${MOD_VERSION}" | sed 's|-.*||' ); \
1818 COMPOSE_RELEASE=$(echo "${MOD_VERSION}" | sed 's|.*-||' ); \
1919 fi && \
20- echo "**** grab docker ****" && \
21- mkdir -p \
22- /root-layer/docker-bins \
23- /tmp/docker_x86_64 \
24- /tmp/docker_aarch64 && \
25- curl -fo \
26- /tmp/docker_x86_64.tgz -L \
27- "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_RELEASE}.tgz" && \
28- tar xf \
29- /tmp/docker_x86_64.tgz -C \
30- /tmp/docker_x86_64 --strip-components=1 && \
31- cp /tmp/docker_x86_64/docker /root-layer/docker-bins/docker_x86_64 && \
32- curl -fo \
33- /tmp/docker_aarch64.tgz -L \
34- "https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_RELEASE}.tgz" && \
35- tar xf \
36- /tmp/docker_aarch64.tgz -C \
37- /tmp/docker_aarch64 --strip-components=1 && \
38- cp /tmp/docker_aarch64/docker /root-layer/docker-bins/docker_aarch64 && \
39- echo "**** grab compose ****" && \
40- curl -fo \
41- /root-layer/docker-bins/docker-compose_x86_64 -L \
42- "https://github.com/docker/compose/releases/download/v${COMPOSE_RELEASE}/docker-compose-linux-x86_64" && \
43- curl -fo \
44- /root-layer/docker-bins/docker-compose_aarch64 -L \
45- "https://github.com/docker/compose/releases/download/v${COMPOSE_RELEASE}/docker-compose-linux-aarch64" && \
4620 echo "**** retrieve latest compose switch version ****" && \
4721 if [ -z ${SWITCH_RELEASE+x} ]; then \
4822 SWITCH_RELEASE=$(curl -sX GET "https://api.github.com/repos/docker/compose-switch/releases/latest" \
4923 | awk '/tag_name/{print $4;exit}' FS='[""]' \
5024 | sed 's|^v||' ); \
5125 fi && \
52- echo "**** grab compose switch ****" && \
53- curl -fo \
54- /root-layer/docker-bins/compose-switch_x86_64 -L \
55- "https://github.com/docker/compose-switch/releases/download/v${SWITCH_RELEASE}/docker-compose-linux-amd64" && \
56- curl -fo \
57- /root-layer/docker-bins/compose-switch_aarch64 -L \
58- "https://github.com/docker/compose-switch/releases/download/v${SWITCH_RELEASE}/docker-compose-linux-arm64" && \
5926 echo "**** retrieve latest buildx version ****" && \
6027 if [ -z ${BUILDX_RELEASE+x} ]; then \
6128 BUILDX_RELEASE=$(curl -sX GET "https://api.github.com/repos/docker/buildx/releases/latest" \
6229 | awk '/tag_name/{print $4;exit}' FS='[""]' ); \
6330 fi && \
64- echo "**** grab buildx plugin ****" && \
65- curl -fo \
66- /root-layer/docker-bins/docker-buildx_x86_64 -L \
67- "https://github.com/docker/buildx/releases/download/${BUILDX_RELEASE}/buildx-${BUILDX_RELEASE}.linux-amd64" && \
68- curl -fo \
69- /root-layer/docker-bins/docker-buildx_aarch64 -L \
70- "https://github.com/docker/buildx/releases/download/${BUILDX_RELEASE}/buildx-${BUILDX_RELEASE}.linux-arm64" && \
31+ mkdir -p \
32+ /root-layer/docker-bins \
33+ /tmp/docker && \
34+ if [[ $(uname -m) == "x86_64" ]]; then \
35+ echo "**** grab x86_64 tarballs and binaries ****" && \
36+ curl -fo \
37+ /tmp/docker.tgz -L \
38+ "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_RELEASE}.tgz" && \
39+ tar xf \
40+ /tmp/docker.tgz -C \
41+ /tmp/docker --strip-components=1 && \
42+ cp /tmp/docker/docker /root-layer/docker-bins/docker && \
43+ curl -fo \
44+ /root-layer/docker-bins/docker-compose -L \
45+ "https://github.com/docker/compose/releases/download/v${COMPOSE_RELEASE}/docker-compose-linux-x86_64" && \
46+ curl -fo \
47+ /root-layer/docker-bins/compose-switch -L \
48+ "https://github.com/docker/compose-switch/releases/download/v${SWITCH_RELEASE}/docker-compose-linux-amd64" && \
49+ curl -fo \
50+ /root-layer/docker-bins/docker-buildx -L \
51+ "https://github.com/docker/buildx/releases/download/${BUILDX_RELEASE}/buildx-${BUILDX_RELEASE}.linux-amd64" ; \
52+ elif [[ $(uname -m) == "aarch64" ]]; then \
53+ echo "**** grab aarch64 tarballs and binaries ****" && \
54+ curl -fo \
55+ /tmp/docker.tgz -L \
56+ "https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_RELEASE}.tgz" && \
57+ tar xf \
58+ /tmp/docker.tgz -C \
59+ /tmp/docker --strip-components=1 && \
60+ cp /tmp/docker/docker /root-layer/docker-bins/docker && \
61+ curl -fo \
62+ /root-layer/docker-bins/docker-compose -L \
63+ "https://github.com/docker/compose/releases/download/v${COMPOSE_RELEASE}/docker-compose-linux-aarch64" && \
64+ curl -fo \
65+ /root-layer/docker-bins/compose-switch -L \
66+ "https://github.com/docker/compose-switch/releases/download/v${SWITCH_RELEASE}/docker-compose-linux-arm64" && \
67+ curl -fo \
68+ /root-layer/docker-bins/docker-buildx -L \
69+ "https://github.com/docker/buildx/releases/download/${BUILDX_RELEASE}/buildx-${BUILDX_RELEASE}.linux-arm64" ; \
70+ fi && \
7171 chmod +x /root-layer/docker-bins/* && \
7272 rm -rf /tmp/*
7373
0 commit comments