Skip to content

Commit a34fce9

Browse files
authored
Merge pull request #276 from linuxserver/master-3.18
2 parents cb97b86 + 69d5b88 commit a34fce9

File tree

23 files changed

+40
-135
lines changed

23 files changed

+40
-135
lines changed

.github/ISSUE_TEMPLATE/issue.bug.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ body:
5353
options:
5454
- x86-64
5555
- arm64
56-
- armhf
5756
validations:
5857
required: true
5958
- type: textarea

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:3.17
3+
FROM ghcr.io/linuxserver/baseimage-alpine:3.18
44

55
# set version label
66
ARG BUILD_DATE

Dockerfile.aarch64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17
3+
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.18
44

55
# set version label
66
ARG BUILD_DATE

Dockerfile.armhf

Lines changed: 0 additions & 56 deletions
This file was deleted.

Jenkinsfile

Lines changed: 17 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ pipeline {
163163
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
164164
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
165165
if (env.MULTIARCH == 'true') {
166-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
166+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
167167
} else {
168168
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
169169
}
@@ -186,7 +186,7 @@ pipeline {
186186
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
187187
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
188188
if (env.MULTIARCH == 'true') {
189-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
189+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
190190
} else {
191191
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
192192
}
@@ -209,7 +209,7 @@ pipeline {
209209
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
210210
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
211211
if (env.MULTIARCH == 'true') {
212-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
212+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
213213
} else {
214214
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
215215
}
@@ -515,44 +515,6 @@ pipeline {
515515
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
516516
}
517517
}
518-
stage('Build ARMHF') {
519-
agent {
520-
label 'ARMHF'
521-
}
522-
steps {
523-
echo "Running on node: ${NODE_NAME}"
524-
echo 'Logging into Github'
525-
sh '''#! /bin/bash
526-
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
527-
'''
528-
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
529-
sh "docker buildx build \
530-
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
531-
--label \"org.opencontainers.image.authors=linuxserver.io\" \
532-
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wireguard/packages\" \
533-
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wireguard\" \
534-
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wireguard\" \
535-
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
536-
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
537-
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
538-
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
539-
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
540-
--label \"org.opencontainers.image.title=Wireguard\" \
541-
--label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \
542-
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
543-
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
544-
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
545-
retry(5) {
546-
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
547-
}
548-
sh '''#! /bin/bash
549-
containers=$(docker ps -aq)
550-
if [[ -n "${containers}" ]]; then
551-
docker stop ${containers}
552-
fi
553-
docker system prune -af --volumes || : '''
554-
}
555-
}
556518
stage('Build ARM64') {
557519
agent {
558520
label 'ARM64'
@@ -693,9 +655,7 @@ pipeline {
693655
set -e
694656
docker pull ghcr.io/linuxserver/ci:latest
695657
if [ "${MULTIARCH}" == "true" ]; then
696-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
697658
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
698-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
699659
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
700660
fi
701661
docker run --rm \
@@ -798,58 +758,54 @@ pipeline {
798758
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
799759
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
800760
if [ "${CI}" == "false" ]; then
801-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
802-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
803761
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
804762
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
805763
fi
806764
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
807765
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
808766
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
809767
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
810-
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
811-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
812-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
813768
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
814769
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
815770
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
816771
if [ -n "${SEMVER}" ]; then
817772
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
818-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
819773
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
820774
fi
821775
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
822776
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
823777
docker push ${MANIFESTIMAGE}:amd64-latest
824-
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
825-
docker push ${MANIFESTIMAGE}:arm32v7-latest
826-
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
827778
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
828779
docker push ${MANIFESTIMAGE}:arm64v8-latest
829780
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
830781
if [ -n "${SEMVER}" ]; then
831782
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
832-
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
833783
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
834784
fi
835785
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
836-
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
837-
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
786+
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
838787
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
839788
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
840-
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
841-
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
789+
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
842790
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
843791
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
844-
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
845-
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
792+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
846793
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
847794
if [ -n "${SEMVER}" ]; then
848795
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
849-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
850-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
796+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
851797
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
852798
fi
799+
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
800+
digest=$(curl -s \
801+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
802+
--header "Authorization: Bearer ${token}" \
803+
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
804+
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
805+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
806+
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
807+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
808+
fi
853809
docker manifest push --purge ${MANIFESTIMAGE}:latest
854810
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
855811
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The architectures supported by this image are:
5555
| :----: | :----: | ---- |
5656
| x86-64 || amd64-\<version tag\> |
5757
| arm64 || arm64v8-\<version tag\> |
58-
| armhf | | arm32v7-\<version tag\> |
58+
| armhf | | |
5959

6060
## Version Tags
6161

@@ -330,6 +330,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
330330

331331
## Versions
332332

333+
* **24.06.23:** - Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf).
333334
* **26.04.23:** - Rework branches. Swap alpine and ubuntu builds.
334335
* **29.01.23:** - Rebase to alpine 3.17.
335336
* **10.01.23:** - Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used.

jenkins-vars.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ custom_version_command: "curl -sX GET https://api.github.com/repos/WireGuard/wir
77
release_type: stable
88
release_tag: latest
99
ls_branch: master
10+
build_armhf: false
1011
repo_vars:
1112
- CONTAINER_NAME = 'wireguard'
1213
- BUILD_VERSION_ARG = 'WIREGUARD_VERSION'

readme-vars.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
1111
available_architectures:
1212
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
1313
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
14-
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
1514

1615
# development version
1716
development_versions: true
@@ -127,6 +126,7 @@ app_setup_block: |
127126
128127
# changelog
129128
changelogs:
129+
- { date: "24.06.23:", desc: "Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)." }
130130
- { date: "26.04.23:", desc: "Rework branches. Swap alpine and ubuntu builds." }
131131
- { date: "29.01.23:", desc: "Rebase to alpine 3.17." }
132132
- { date: "10.01.23:", desc: "Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used." }

root/app/show-peer

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/with-contenv bash
2+
# shellcheck shell=bash
23

3-
if [ ! $# -gt 0 ]; then
4+
if [[ ! $# -gt 0 ]]; then
45
echo "You need to specify which peers to show"
56
exit 0
67
fi
@@ -18,4 +19,4 @@ for i in "$@"; do
1819
else
1920
echo "PEER ${i} is not active"
2021
fi
21-
done
22+
done

root/defaults/Corefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
loop
33
health
44
forward . /etc/resolv.conf
5-
}
5+
}

0 commit comments

Comments
 (0)