diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml
index b4428f6..873c4f2 100755
--- a/.github/ISSUE_TEMPLATE/issue.bug.yml
+++ b/.github/ISSUE_TEMPLATE/issue.bug.yml
@@ -4,73 +4,11 @@ description: Create a report to help us improve
title: "[BUG]
"
labels: [Bug]
body:
- - type: checkboxes
+ - type: markdown
attributes:
- label: Is there an existing issue for this?
- description: Please search to see if an issue already exists for the bug you encountered.
- options:
- - label: I have searched the existing issues
- required: true
- - type: textarea
- attributes:
- label: Current Behavior
- description: Tell us what happens instead of the expected behavior.
- validations:
- required: true
- - type: textarea
- attributes:
- label: Expected Behavior
- description: Tell us what should happen.
- validations:
- required: false
- - type: textarea
- attributes:
- label: Steps To Reproduce
- description: Steps to reproduce the behavior.
- placeholder: |
- 1. In this environment...
- 2. With this config...
- 3. Run '...'
- 4. See error...
- validations:
- required: true
- - type: textarea
- attributes:
- label: Environment
- description: |
- examples:
- - **OS**: Ubuntu 20.04
- - **How docker service was installed**: distro's packagemanager
value: |
- - OS:
- - How docker service was installed:
- render: markdown
- validations:
- required: false
- - type: dropdown
- attributes:
- label: CPU architecture
- options:
- - x86-64
- - arm64
- validations:
- required: true
- - type: textarea
- attributes:
- label: Docker creation
- description: |
- Command used to create docker container
- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
- render: bash
- validations:
- required: true
- - type: textarea
- attributes:
- description: |
- Provide a full docker log, output of "docker logs endlessh"
- label: Container logs
- placeholder: |
- Output of `docker logs endlessh`
- render: bash
- validations:
- required: true
+# This image is deprecated. We will not offer support for this image and it will not be updated.
+
+We recommend looking at an alternative implementation such as:
+https://github.com/shizunge/endlessh-go/
+
diff --git a/.github/ISSUE_TEMPLATE/issue.feature.yml b/.github/ISSUE_TEMPLATE/issue.feature.yml
index 099dcdb..d425137 100755
--- a/.github/ISSUE_TEMPLATE/issue.feature.yml
+++ b/.github/ISSUE_TEMPLATE/issue.feature.yml
@@ -4,28 +4,11 @@ description: Suggest an idea for this project
title: "[FEAT] "
labels: [enhancement]
body:
- - type: checkboxes
- attributes:
- label: Is this a new feature request?
- description: Please search to see if a feature request already exists.
- options:
- - label: I have searched the existing issues
- required: true
- - type: textarea
- attributes:
- label: Wanted change
- description: Tell us what you want to happen.
- validations:
- required: true
- - type: textarea
- attributes:
- label: Reason for change
- description: Justify your request, why do you want it, what is the benefit.
- validations:
- required: true
- - type: textarea
- attributes:
- label: Proposed code change
- description: Do you have a potential code change in mind?
- validations:
- required: false
+ - type: markdown
+ attributes:
+ value: |
+# This image is deprecated. We will not offer support for this image and it will not be updated.
+
+We recommend looking at an alternative implementation such as:
+https://github.com/shizunge/endlessh-go/
+
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index e26ec18..681ee2a 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,3 +1,8 @@
+# This image is deprecated. We will not offer support for this image and it will not be updated.
+
+We recommend looking at an alternative implementation such as:
+https://github.com/shizunge/endlessh-go/
+
[linuxserverurl]: https://linuxserver.io
diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml
index fa88c1b..f00f63c 100644
--- a/.github/workflows/greetings.yml
+++ b/.github/workflows/greetings.yml
@@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
- issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
- pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-endlessh/blob/main/.github/PULL_REQUEST_TEMPLATE.md)!'
+ issue-message: 'This image is deprecated. We will not offer support for this image and it will not be updated. The [README](https://github.com/linuxserver/docker-endlessh/blob/main/README.md) may have additional information. Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
+ pr-message: 'This image is deprecated. We will not offer support for this image and it will not be updated. The [README](https://github.com/linuxserver/docker-endlessh/blob/main/README.md) may have additional information. Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-endlessh/blob/main/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/Jenkinsfile b/Jenkinsfile
index 2727836..c7a2162 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -68,7 +68,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
- env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml ./root/donate.txt'
+ env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./root/donate.txt ./root/etc/s6-overlay/s6-rc.d/init-deprecate/run ./root/etc/s6-overlay/s6-rc.d/init-deprecate/up ./root/etc/s6-overlay/s6-rc.d/init-deprecate/type ./root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end ./root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate ./root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate'
}
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
@@ -306,6 +306,7 @@ pipeline {
fi
echo "Starting Stage 2 - Delete old templates"
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
+ OLD_TEMPLATES="${OLD_TEMPLATES} $(echo .github/workflows/{external_trigger,external_trigger_scheduler,package_trigger,package_trigger_scheduler,call_issue_pr_tracker,call_issues_cron}.yml)"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -341,6 +342,10 @@ pipeline {
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
+ mkdir -p \
+ ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d \
+ ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d \
+ ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/user/contents.d
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
@@ -370,6 +375,19 @@ pipeline {
git add docs/images/docker-${CONTAINER_NAME}.md
echo "Updating docs repo"
git commit -m 'Bot Updating Documentation'
+ git mv docs/images/docker-${CONTAINER_NAME}.md docs/deprecated_images/docker-${CONTAINER_NAME}.md || :
+ if ! command -v yq || ! yq --help | grep -q 'mikefarah'; then
+ YQ_DL_VERSION=$(curl -fsX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" | jq -r '. | .tag_name')
+ echo "No yq found, retrieving from upstream release version ${YQ_DL_VERSION}"
+ curl -fo /usr/local/bin/yq -L "https://github.com/mikefarah/yq/releases/download/${YQ_DL_VERSION}/yq_linux_amd64"
+ chmod +x /usr/local/bin/yq
+ fi
+ if ! yq -e '.plugins.[].redirects.redirect_maps.[] | select(. == "deprecated/" + env(CONTAINER_NAME) + ".md")' mkdocs.yml >/dev/null 2>&1; then
+ echo "Updating mkdocs.yml with deprecation info"
+ yq -i '(.plugins.[] | select(.redirects)).redirects.redirect_maps |= . + {env(CONTAINER_NAME) + ".md" : "deprecated/" + env(CONTAINER_NAME) + ".md"}' mkdocs.yml
+ git add mkdocs.yml
+ fi
+ git commit -m 'Bot Moving Deprecated Documentation' || :
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \
@@ -391,6 +409,10 @@ pipeline {
echo "Updating Unraid template"
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
+ if ! grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
+ echo "${CONTAINER_NAME}" >> ${TEMPDIR}/unraid/templates/unraid/ignore.list
+ git add unraid/ignore.list
+ fi
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
@@ -1002,6 +1024,26 @@ EOF
}
}
+ stage('Deprecate/Disable Future Builds') {
+ when {
+ branch "main"
+ environment name: 'CHANGE_ID', value: ''
+ environment name: 'EXIT_STATUS', value: ''
+ }
+ steps {
+ sh '''#! /bin/bash
+ TEMPDIR=$(mktemp -d)
+ mkdir -p ${TEMPDIR}/repo
+ git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
+ cd ${TEMPDIR}/repo/${LS_REPO}
+ git checkout -f main
+ git rm Jenkinsfile
+ git commit -m 'Disabling future builds'
+ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
+ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
+ rm -Rf ${TEMPDIR}'''
+ }
+ }
}
/* ######################
Send status to Discord
diff --git a/README.md b/README.md
index bea4e0f..7eff439 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,11 @@ Find us at:
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
+# This image is deprecated. We will not offer support for this image and it will not be updated.
+
+We recommend looking at an alternative implementation such as:
+https://github.com/shizunge/endlessh-go/
+
# [linuxserver/endlessh](https://github.com/linuxserver/docker-endlessh)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fendlessh?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fendlessh)
@@ -83,7 +88,7 @@ services:
- LOGFILE=false #optional
- BINDFAMILY= #optional
volumes:
- - /path/to/appdata:/config #optional
+ - /path/to/endlessh/appdata:/config #optional
ports:
- 22:2222
restart: unless-stopped
@@ -103,7 +108,7 @@ docker run -d \
-e LOGFILE=false `#optional` \
-e BINDFAMILY= `#optional` \
-p 22:2222 \
- -v /path/to/appdata:/config `#optional` \
+ -v /path/to/endlessh/appdata:/config `#optional` \
--restart unless-stopped \
lscr.io/linuxserver/endlessh:latest
```
@@ -286,6 +291,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
+* **20.03.24:** - Deprecate image.
* **12.06.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **05.03.23:** - Rebase to Alpine 3.17.
* **23.09.22:** - Migrate to s6v3.
diff --git a/readme-vars.yml b/readme-vars.yml
index fedaf01..ba7c8c0 100644
--- a/readme-vars.yml
+++ b/readme-vars.yml
@@ -7,6 +7,11 @@ project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxs
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) 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."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
+project_deprecation_status: true
+project_deprecation_message: |
+ We recommend looking at an alternative implementation such as:
+ https://github.com/shizunge/endlessh-go/
+
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
@@ -18,15 +23,9 @@ development_versions: false
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
-param_usage_include_vols: false
-param_volumes:
- - { vol_path: "/config", vol_host_path: "/path/to/appdata", desc: "Contains all relevant configuration and data." }
param_usage_include_ports: true
param_ports:
- { external_port: "22", internal_port: "2222", port_desc: "ssh port" }
-param_usage_include_env: true
-param_env_vars:
- - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional container parameters
opt_param_usage_include_env: true
@@ -38,7 +37,7 @@ opt_param_env_vars:
- { env_var: "BINDFAMILY", env_value: "", desc: "By default, the app binds to IPv4 and IPv6 addresses. Set it to `4` or `6` to bind to IPv4 only or IPv6 only, respectively. Leave blank to bind to both." }
opt_param_usage_include_vols: true
opt_param_volumes:
- - { vol_path: "/config", vol_host_path: "/path/to/appdata", desc: "Required if `LOGFILE` is set to `true`." }
+ - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/appdata", desc: "Required if `LOGFILE` is set to `true`." }
# application setup block
app_setup_block_enabled: true
@@ -47,6 +46,7 @@ app_setup_block: |
# changelog
changelogs:
+ - { date: "20.03.24:", desc: "Deprecate image." }
- { date: "12.06.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }
- { date: "05.03.23:", desc: "Rebase to Alpine 3.17." }
- { date: "23.09.22:", desc: "Migrate to s6v3." }
diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end b/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end
new file mode 100644
index 0000000..e69de29
diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/run b/root/etc/s6-overlay/s6-rc.d/init-deprecate/run
new file mode 100755
index 0000000..8e90113
--- /dev/null
+++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/run
@@ -0,0 +1,19 @@
+#!/usr/bin/with-contenv bash
+# shellcheck shell=bash
+
+echo '
+╔════════════════════════════════════════════════════╗
+╠════════════════════════════════════════════════════╣
+║ ║
+║ This image is deprecated. ║
+║ We will not offer support for this image ║
+║ and it will not be updated. ║
+║ ║
+╠════════════════════════════════════════════════════╣
+╚════════════════════════════════════════════════════╝
+
+We recommend looking at an alternative implementation such as:
+https://github.com/shizunge/endlessh-go/
+
+
+══════════════════════════════════════════════════════'
diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/type b/root/etc/s6-overlay/s6-rc.d/init-deprecate/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/type
@@ -0,0 +1 @@
+oneshot
diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/up b/root/etc/s6-overlay/s6-rc.d/init-deprecate/up
new file mode 100644
index 0000000..2c81bf3
--- /dev/null
+++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-deprecate/run
diff --git a/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate b/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate
new file mode 100644
index 0000000..e69de29
diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate
new file mode 100644
index 0000000..e69de29