Skip to content
This repository was archived by the owner on May 25, 2024. It is now read-only.

Commit def9f34

Browse files
authored
Merge pull request #15 from linuxserver/3.18
2 parents ec417a0 + d1f11bc commit def9f34

File tree

12 files changed

+31
-122
lines changed

12 files changed

+31
-122
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: 3 additions & 3 deletions
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
@@ -16,7 +16,7 @@ RUN \
1616
echo "**** fetch source code ****" && \
1717
if [ -z ${ENDLESSH_RELEASE+x} ]; then \
1818
ENDLESSH_RELEASE=$(curl -sX GET "https://api.github.com/repos/skeeto/endlessh/commits/master" \
19-
| jq -r '.sha' | cut -c1-8); \
19+
| jq -r '.sha' | cut -c1-8); \
2020
fi && \
2121
mkdir -p /app/endlessh && \
2222
curl -o \
@@ -32,7 +32,7 @@ RUN \
3232
apk del --purge \
3333
build-dependencies && \
3434
rm -rf \
35-
/root/.cache \
35+
$HOME/.cache \
3636
/tmp/*
3737

3838
# add local files

Dockerfile.aarch64

Lines changed: 3 additions & 3 deletions
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
@@ -16,7 +16,7 @@ RUN \
1616
echo "**** fetch source code ****" && \
1717
if [ -z ${ENDLESSH_RELEASE+x} ]; then \
1818
ENDLESSH_RELEASE=$(curl -sX GET "https://api.github.com/repos/skeeto/endlessh/commits/master" \
19-
| jq -r '.sha' | cut -c1-8); \
19+
| jq -r '.sha' | cut -c1-8); \
2020
fi && \
2121
mkdir -p /app/endlessh && \
2222
curl -o \
@@ -32,7 +32,7 @@ RUN \
3232
apk del --purge \
3333
build-dependencies && \
3434
rm -rf \
35-
/root/.cache \
35+
$HOME/.cache \
3636
/tmp/*
3737

3838
# add local files

Dockerfile.armhf

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

Jenkinsfile

Lines changed: 17 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ pipeline {
173173
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
174174
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
175175
if (env.MULTIARCH == 'true') {
176-
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
176+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
177177
} else {
178178
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
179179
}
@@ -196,7 +196,7 @@ pipeline {
196196
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
197197
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
198198
if (env.MULTIARCH == 'true') {
199-
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
199+
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
200200
} else {
201201
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
202202
}
@@ -219,7 +219,7 @@ pipeline {
219219
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
220220
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
221221
if (env.MULTIARCH == 'true') {
222-
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
222+
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
223223
} else {
224224
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
225225
}
@@ -525,44 +525,6 @@ pipeline {
525525
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
526526
}
527527
}
528-
stage('Build ARMHF') {
529-
agent {
530-
label 'ARMHF'
531-
}
532-
steps {
533-
echo "Running on node: ${NODE_NAME}"
534-
echo 'Logging into Github'
535-
sh '''#! /bin/bash
536-
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
537-
'''
538-
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
539-
sh "docker buildx build \
540-
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
541-
--label \"org.opencontainers.image.authors=linuxserver.io\" \
542-
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-endlessh/packages\" \
543-
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-endlessh\" \
544-
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-endlessh\" \
545-
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
546-
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
547-
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
548-
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
549-
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
550-
--label \"org.opencontainers.image.title=Endlessh\" \
551-
--label \"org.opencontainers.image.description=[Endlessh](https://github.com/skeeto/endlessh) is an SSH tarpit that very slowly sends an endless, random SSH banner. It keeps SSH clients locked up for hours or even days at a time. The purpose is to put your real SSH server on another port and then let the script kiddies get stuck in this tarpit instead of bothering a real server.\" \
552-
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
553-
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
554-
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
555-
retry(5) {
556-
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
557-
}
558-
sh '''#! /bin/bash
559-
containers=$(docker ps -aq)
560-
if [[ -n "${containers}" ]]; then
561-
docker stop ${containers}
562-
fi
563-
docker system prune -af --volumes || : '''
564-
}
565-
}
566528
stage('Build ARM64') {
567529
agent {
568530
label 'ARM64'
@@ -703,9 +665,7 @@ pipeline {
703665
set -e
704666
docker pull ghcr.io/linuxserver/ci:latest
705667
if [ "${MULTIARCH}" == "true" ]; then
706-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
707668
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
708-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
709669
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
710670
fi
711671
docker run --rm \
@@ -808,58 +768,54 @@ pipeline {
808768
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
809769
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
810770
if [ "${CI}" == "false" ]; then
811-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
812-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
813771
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
814772
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
815773
fi
816774
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
817775
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
818776
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
819777
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
820-
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
821-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
822-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
823778
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
824779
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
825780
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
826781
if [ -n "${SEMVER}" ]; then
827782
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
828-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
829783
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
830784
fi
831785
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
832786
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
833787
docker push ${MANIFESTIMAGE}:amd64-latest
834-
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
835-
docker push ${MANIFESTIMAGE}:arm32v7-latest
836-
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
837788
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
838789
docker push ${MANIFESTIMAGE}:arm64v8-latest
839790
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
840791
if [ -n "${SEMVER}" ]; then
841792
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
842-
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
843793
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
844794
fi
845795
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
846-
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
847-
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
796+
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
848797
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
849798
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
850-
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
851-
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
799+
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
852800
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
853801
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
854-
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
855-
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
802+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
856803
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
857804
if [ -n "${SEMVER}" ]; then
858805
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
859-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
860-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
806+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
861807
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
862808
fi
809+
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
810+
digest=$(curl -s \
811+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
812+
--header "Authorization: Bearer ${token}" \
813+
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
814+
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
815+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
816+
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
817+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
818+
fi
863819
docker manifest push --purge ${MANIFESTIMAGE}:latest
864820
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
865821
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}

README.md

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

6161
## Application Setup
6262

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

238238
## Versions
239239

240+
* **12.06.23:** - Rebase to Alpine 3.18, deprecate armhf.
240241
* **05.03.23:** - Rebase to Alpine 3.17.
241242
* **23.09.22:** - Migrate to s6v3.
242243
* **20.07.22:** - Rebase to Alpine 3.16.

jenkins-vars.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ external_type: github_commit
66
release_type: stable
77
release_tag: latest
88
ls_branch: main
9+
build_armhf: false
910
repo_vars:
1011
- EXT_GIT_BRANCH = 'master'
1112
- EXT_USER = 'skeeto'

readme-vars.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ 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: false
18-
development_versions_items:
19-
- { tag: "latest", desc: "Stable releases" }
2017

2118
# container parameters
2219
common_param_env_vars_enabled: true
@@ -43,17 +40,14 @@ opt_param_usage_include_vols: true
4340
opt_param_volumes:
4441
- { vol_path: "/config", vol_host_path: "/path/to/appdata", desc: "Required if `LOGFILE` is set to `true`." }
4542

46-
47-
optional_block_1: false
48-
optional_block_1_items: ""
49-
5043
# application setup block
5144
app_setup_block_enabled: true
5245
app_setup_block: |
5346
The app listens on the port mapped for ssh connections. To log to file, set the environment variable `LOGFILE` to `true` and map a volume for `/config`. The logs will be under `/config/logs/endlessh`.
5447
5548
# changelog
5649
changelogs:
50+
- { date: "12.06.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }
5751
- { date: "05.03.23:", desc: "Rebase to Alpine 3.17." }
5852
- { date: "23.09.22:", desc: "Migrate to s6v3." }
5953
- { date: "20.07.22:", desc: "Rebase to Alpine 3.16." }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
svc-endlessh
1+
svc-endlessh
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
pipeline-endlessh
1+
pipeline-endlessh

0 commit comments

Comments
 (0)