Compare commits

...

21 Commits

Author SHA1 Message Date
aptalca
7929311233 listen on both ipv4 and ipv6 2024-04-21 10:15:27 -04:00
LinuxServer-CI
eaeab3349e Bot Updating Package Versions 2024-04-20 20:16:51 +00:00
LinuxServer-CI
ff420fc155 Bot Updating Package Versions 2024-04-16 01:38:25 +00:00
LinuxServer-CI
818d5ade66 Bot Updating Package Versions 2024-04-08 21:42:04 +00:00
LinuxServer-CI
1d46aa716e Bot Updating Package Versions 2024-04-06 20:24:28 +00:00
LinuxServer-CI
17570939d5 Bot Updating Package Versions 2024-03-30 20:17:17 +00:00
LinuxServer-CI
0c5f0c4a76 Bot Updating Package Versions 2024-03-23 20:19:31 +00:00
LinuxServer-CI
73811e24e4 Bot Updating Package Versions 2024-03-14 20:44:29 +00:00
LinuxServer-CI
309d28852d Bot Updating Templated Files 2024-03-14 20:41:23 +00:00
LinuxServer-CI
67773aa923 Bot Updating Package Versions 2024-03-09 20:15:27 +00:00
LinuxServer-CI
b18e8877ad Bot Updating Package Versions 2024-03-03 23:42:53 +00:00
LinuxServer-CI
48262b8882 Bot Updating Package Versions 2024-03-02 20:16:44 +00:00
LinuxServer-CI
d2a5ef414a Bot Updating Package Versions 2024-02-28 23:41:09 +00:00
LinuxServer-CI
4931dd3b82 Bot Updating Templated Files 2024-02-24 20:16:35 +00:00
LinuxServer-CI
2d7ee3529b Bot Updating Templated Files 2024-02-24 20:14:53 +00:00
LinuxServer-CI
33e0d230c9 Bot Updating Package Versions 2024-02-09 22:41:54 +00:00
LinuxServer-CI
7d835391a9 Bot Updating Package Versions 2024-02-05 18:41:52 +00:00
LinuxServer-CI
3ce9c4e675 Bot Updating Package Versions 2024-02-03 20:19:18 +00:00
LinuxServer-CI
d6dbb82493 Bot Updating Package Versions 2024-01-27 20:16:19 +00:00
LinuxServer-CI
94e137e87f Bot Updating Package Versions 2024-01-22 17:41:54 +00:00
LinuxServer-CI
a9df15473e Bot Updating Package Versions 2024-01-20 20:18:35 +00:00
10 changed files with 722 additions and 700 deletions

View File

@@ -67,10 +67,10 @@ body:
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs linuxserver.io"
Provide a full docker log, output of "docker logs code-server"
label: Container logs
placeholder: |
Output of `docker logs linuxserver.io`
Output of `docker logs code-server`
render: bash
validations:
required: true

View File

@@ -7,7 +7,7 @@ jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'

View File

@@ -7,7 +7,7 @@ jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
- name: Package Trigger
if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'

336
Jenkinsfile vendored
View File

@@ -245,9 +245,11 @@ pipeline {
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache py3-pip && \
pip install s3cmd && \
ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache python3 && \
python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
pip install --no-cache-dir s3cmd && \
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
}
}
@@ -262,150 +264,176 @@ pipeline {
}
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
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 master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
# Cloned repo paths for templating:
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
git clone --branch master --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true ghcr.io/linuxserver/jenkins-builder:latest
echo "Starting Stage 1 - Jenkinsfile update"
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
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 master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
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"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
# 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"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
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 master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
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 master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
echo "Starting Stage 3 - Update templates"
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
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 master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
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 master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "No templates to update"
fi
echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub"
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
echo "Updating docs repo"
git commit -m 'Bot Updating 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" && \
sleep $((RANDOM % MAXWAIT)) && \
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})
else
echo "Docs update not needed, skipping"
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
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 "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/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH})
else
echo "No updates to Unraid template needed, skipping"
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) -gt 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
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 "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/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
fi
# Stage 4 - Sync Readme to Docker Hub
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
if curl -s https://hub.docker.com/v2/namespaces/${DOCKERHUB_IMAGE%%/*}/repositories/${DOCKERHUB_IMAGE##*/}/tags | jq -r '.message' | grep -q 404; then
echo "Docker Hub endpoint doesn't exist. Creating endpoint first."
DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
-X POST \
-d '{"name":"'${DOCKERHUB_IMAGE##*/}'", "namespace":"'${DOCKERHUB_IMAGE%%/*}'"}' \
https://hub.docker.com/v2/repositories/ || :
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
@@ -455,14 +483,16 @@ pipeline {
}
steps{
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
sh '''curl -H "Private-Token: ${GITLAB_TOKEN}" -X PUT "https://gitlab.com/api/v4/projects/Linuxserver.io%2F${LS_REPO}" \
-d "mirror=true&import_url=https://github.com/linuxserver/${LS_REPO}.git" '''
}
}
/* ###############
@@ -703,12 +733,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -719,7 +743,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -750,12 +774,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -766,7 +784,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin

View File

@@ -306,6 +306,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **21.04.23:** - Let server listen on both ipv4 and ipv6.
* **01.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)
* **05.10.22:** - Install recommended deps to maintain parity with the older images.
* **29.09.22:** - Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents.

View File

@@ -1,5 +1,4 @@
NAME VERSION TYPE
1to2 1.0.0 npm
@babel/runtime 7.23.2 npm
@coder/logger 3.0.1 npm
@mapbox/node-pre-gyp 1.0.11 npm
@@ -13,39 +12,39 @@ NAME VERSION
@tootallnate/once 3.0.0 npm
@tootallnate/quickjs-emscripten 0.23.0 npm
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.18.2 npm
@vscode/proxy-agent 0.19.1 npm
@vscode/ripgrep 1.15.9 npm
@vscode/spdlog 0.13.12 npm
@vscode/spdlog 0.15.0 npm
@vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.5.0 npm
@vscode/windows-process-tree 0.6.0 npm
@vscode/windows-registry 1.1.0 npm
@xterm/addon-canvas 0.6.0-beta.14 npm
@xterm/addon-image 0.7.0-beta.12 npm
@xterm/addon-search 0.14.0-beta.14 npm
@xterm/addon-serialize 0.12.0-beta.14 npm
@xterm/addon-unicode11 0.7.0-beta.14 npm
@xterm/addon-webgl 0.17.0-beta.14 npm
@xterm/headless 5.4.0-beta.14 npm
@xterm/xterm 5.4.0-beta.14 npm
@xterm/addon-canvas 0.7.0-beta.12 npm
@xterm/addon-image 0.8.0-beta.12 npm
@xterm/addon-search 0.15.0-beta.12 npm
@xterm/addon-serialize 0.13.0-beta.12 npm
@xterm/addon-unicode11 0.8.0-beta.12 npm
@xterm/addon-webgl 0.18.0-beta.12 npm
@xterm/headless 5.5.0-beta.12 npm
@xterm/xterm 5.5.0-beta.12 npm
abbrev 1.1.1 npm
accepts 1.3.8 npm
adduser 3.118ubuntu5 deb
agent-base 6.0.2 npm
agent-base 7.1.0 npm
agent-base 7.1.0 npm (+1 duplicate)
ansi-regex 5.0.1 npm
aproba 2.0.0 npm
apt 2.4.11 deb
apt-utils 2.4.11 deb
apt 2.4.12 deb
apt-utils 2.4.12 deb
are-we-there-yet 2.0.0 npm
argon2 0.31.1 npm
argparse 2.0.1 npm
array-flatten 2.1.1 npm
ast-types 0.13.4 npm
balanced-match 1.0.2 npm
base-files 12ubuntu4.3 deb
base-files 12ubuntu4.6 deb
base-passwd 3.5.52build1 deb
base64-js 1.5.1 npm
bash 5.1-6ubuntu1 deb
bash 5.1-6ubuntu1.1 deb
bash 5.1.16 binary
basic-ftp 5.0.3 npm
bat 1.0.0 npm
@@ -55,7 +54,7 @@ bl 4.1.0
body-parser 1.19.0 npm
brace-expansion 1.1.11 npm
braces 3.0.2 npm
bsdutils 1:2.37.2-4ubuntu3 deb
bsdutils 1:2.37.2-4ubuntu3.4 deb
buffer 5.7.1 npm
buffer-alloc 1.2.0 npm
buffer-alloc-unsafe 1.1.0 npm
@@ -69,7 +68,7 @@ charenc 0.0.2
chownr 1.1.4 npm
chownr 2.0.0 npm
clojure 1.0.0 npm
code-server 4.20.0 npm
code-server 4.23.1 npm
coffeescript 1.0.0 npm
color-support 1.1.3 npm
compressible 2.0.18 npm
@@ -79,26 +78,26 @@ configuration-editing 1.0.0
console-control-strings 1.1.0 npm
content-disposition 0.5.3 npm
content-type 1.0.5 npm
cookie 0.4.0 npm
cookie 0.4.0 npm (+1 duplicate)
cookie 0.4.1 npm
cookie-parser 1.4.6 npm
cookie-signature 1.0.6 npm
coreutils 8.32-4.1ubuntu1 deb
coreutils 8.32-4.1ubuntu1.2 deb
cpp 1.0.0 npm
cron 3.0pl1-137ubuntu3 deb
crypt 0.0.2 npm
csharp 1.0.0 npm
css 1.0.0 npm
css-language-features 1.0.0 npm
curl 7.81.0-1ubuntu1.15 deb
curl 7.81.0-1ubuntu1.16 deb
dart 1.0.0 npm
dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
data-uri-to-buffer 5.0.1 npm
debconf 1.5.79ubuntu1 deb
debianutils 5.5-1ubuntu2 deb
debug 2.6.9 npm
debug 3.1.0 npm
debug 4.3.4 npm
debug 2.6.9 npm (+3 duplicates)
debug 3.1.0 npm (+1 duplicate)
debug 4.3.4 npm (+1 duplicate)
debug-auto-launch 1.0.0 npm
debug-server-ready 1.0.0 npm
decompress-response 6.0.0 npm
@@ -113,7 +112,7 @@ diff 1.0.0
diffutils 1:3.8-0ubuntu2 deb
dirmngr 2.2.27-3ubuntu2.1 deb
docker 1.0.0 npm
dpkg 1.21.1ubuntu2.2 deb
dpkg 1.21.1ubuntu2.3 deb
e2fsprogs 1.46.5-2ubuntu1.1 deb
ee-first 1.1.1 npm
emmet 1.0.0 npm
@@ -137,7 +136,7 @@ file-uri-to-path 1.0.0
fill-range 7.0.1 npm
finalhandler 1.1.2 npm
findutils 4.8.0-1ubuntu3 deb
follow-redirects 1.15.3 npm
follow-redirects 1.15.6 npm
forwarded 0.2.0 npm
fresh 0.5.2 npm
fs-constants 1.0.0 npm
@@ -167,7 +166,7 @@ gpg-wks-server 2.2.27-3ubuntu2.1
gpgconf 2.2.27-3ubuntu2.1 deb
gpgsm 2.2.27-3ubuntu2.1 deb
gpgv 2.2.27-3ubuntu2.1 deb
graceful-fs 4.2.11 npm
graceful-fs 4.2.11 npm (+1 duplicate)
grep 3.7-1build1 deb
groovy 1.0.0 npm
grunt 1.0.0 npm
@@ -183,20 +182,22 @@ http-errors 1.7.2
http-errors 1.7.3 npm
http-proxy 1.18.1 npm
http-proxy-agent 7.0.0 npm
http-proxy-agent 7.0.2 npm
httpolyglot 0.1.2 npm
https-proxy-agent 5.0.1 npm
https-proxy-agent 7.0.2 npm
i18next 23.7.6 npm
https-proxy-agent 7.0.4 npm
i18next 23.10.1 npm
iconv-lite 0.4.24 npm
ieee754 1.2.1 npm
inflight 1.0.6 npm
inherits 2.0.3 npm
inherits 2.0.4 npm
inherits 2.0.4 npm (+1 duplicate)
ini 1.0.0 npm
ini 1.3.8 npm
init-system-helpers 1.62 deb
ip 1.1.8 npm
ip 2.0.0 npm
ip 1.1.9 npm
ip 2.0.1 npm (+1 duplicate)
ipaddr.js 1.9.1 npm
ipynb 1.0.0 npm
is-buffer 1.1.6 npm
@@ -209,7 +210,7 @@ jake 1.0.0
java 1.0.0 npm
javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb
js-debug 1.85.0 npm
js-debug 1.88.0 npm
js-debug-companion 1.1.2 npm
js-yaml 4.1.0 npm
jschardet 3.0.0 npm
@@ -221,32 +222,32 @@ just-performance 4.3.0
kerberos 2.0.1 npm
latex 1.0.0 npm
less 1.0.0 npm
less 590-1ubuntu0.22.04.1 deb
less 590-1ubuntu0.22.04.2 deb
libacl1 2.3.1-1 deb
libapt-pkg6.0 2.4.11 deb
libapt-pkg6.0 2.4.12 deb
libassuan0 2.5.5-1build1 deb
libatomic1 12.3.0-1ubuntu1~22.04 deb
libattr1 1:2.5.1-1build1 deb
libaudit-common 1:3.0.7-1build1 deb
libaudit1 1:3.0.7-1build1 deb
libblkid1 2.37.2-4ubuntu3 deb
libblkid1 2.37.2-4ubuntu3.4 deb
libbrotli1 1.0.9-2build6 deb
libbsd0 0.11.5-1 deb
libbz2-1.0 1.0.8-5build1 deb
libc-bin 2.35-0ubuntu3.1 deb
libc6 2.35-0ubuntu3.1 deb
libc-bin 2.35-0ubuntu3.6 deb
libc6 2.35-0ubuntu3.6 deb
libcap-ng0 0.7.9-2.2build3 deb
libcap2 1:2.44-1ubuntu0.22.04.1 deb
libcbor0.8 0.8.0-2ubuntu1 deb
libcom-err2 1.46.5-2ubuntu1.1 deb
libcrypt1 1:4.4.27-1 deb
libcurl3-gnutls 7.81.0-1ubuntu1.15 deb
libcurl4 7.81.0-1ubuntu1.15 deb
libcurl3-gnutls 7.81.0-1ubuntu1.16 deb
libcurl4 7.81.0-1ubuntu1.16 deb
libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libdebconfclient0 0.261ubuntu1 deb
libedit2 3.1-20210910-1build1 deb
liberror-perl 0.17029-1 deb
libexpat1 2.4.7-1ubuntu0.2 deb
libexpat1 2.4.7-1ubuntu0.3 deb
libext2fs2 1.46.5-2ubuntu1.1 deb
libffi8 3.4.2-4 deb
libfido2-1 1.10.0-1 deb
@@ -255,23 +256,23 @@ libgcrypt20 1.9.4-3ubuntu3
libgdbm-compat4 1.23-1 deb
libgdbm6 1.23-1 deb
libgmp10 2:6.2.1+dfsg-3ubuntu1 deb
libgnutls30 3.7.3-4ubuntu1.2 deb
libgnutls30 3.7.3-4ubuntu1.5 deb
libgpg-error0 1.43-3 deb
libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb
libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb
libhogweed6 3.7.3-1build2 deb
libidn2-0 2.3.2-2build1 deb
libjq1 1.6-2.1ubuntu3 deb
libk5crypto3 1.19.2-2ubuntu0.2 deb
libk5crypto3 1.19.2-2ubuntu0.3 deb
libkeyutils1 1.6.1-2ubuntu3 deb
libkrb5-3 1.19.2-2ubuntu0.2 deb
libkrb5support0 1.19.2-2ubuntu0.2 deb
libkrb5-3 1.19.2-2ubuntu0.3 deb
libkrb5support0 1.19.2-2ubuntu0.3 deb
libksba8 1.6.0-2ubuntu0.2 deb
libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.1 deb
libldap-common 2.5.16+dfsg-0ubuntu0.22.04.1 deb
libldap-2.5-0 2.5.17+dfsg-0ubuntu0.22.04.1 deb
libldap-common 2.5.17+dfsg-0ubuntu0.22.04.1 deb
liblz4-1 1.9.3-2build2 deb
liblzma5 5.2.5-2ubuntu1 deb
libmd0 1.0.4-1build1 deb
libmount1 2.37.2-4ubuntu3 deb
libmount1 2.37.2-4ubuntu3.4 deb
libncurses6 6.3-2ubuntu0.1 deb
libncursesw6 6.3-2ubuntu0.1 deb
libnettle8 3.7.3-1build2 deb
@@ -280,14 +281,14 @@ libnpth0 1.6-3build2
libnsl2 1.3.0-2build2 deb
libonig5 6.9.7.1-2build1 deb
libp11-kit0 0.24.0-6build1 deb
libpam-modules 1.4.0-11ubuntu2.3 deb
libpam-modules-bin 1.4.0-11ubuntu2.3 deb
libpam-runtime 1.4.0-11ubuntu2.3 deb
libpam0g 1.4.0-11ubuntu2.3 deb
libpam-modules 1.4.0-11ubuntu2.4 deb
libpam-modules-bin 1.4.0-11ubuntu2.4 deb
libpam-runtime 1.4.0-11ubuntu2.4 deb
libpam0g 1.4.0-11ubuntu2.4 deb
libpcre2-8-0 10.39-3ubuntu0.1 deb
libpcre3 2:8.39-13ubuntu0.22.04.1 deb
libperl5.34 5.34.0-3ubuntu1.3 deb
libprocps8 2:3.3.17-6ubuntu2 deb
libprocps8 2:3.3.17-6ubuntu2.1 deb
libpsl5 0.21.0-1.2build2 deb
libreadline8 8.1.2-1 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb
@@ -299,20 +300,20 @@ libselinux1 3.3-1build2
libsemanage-common 3.3-1build2 deb
libsemanage2 3.3-1build2 deb
libsepol2 3.3-1build1 deb
libsmartcols1 2.37.2-4ubuntu3 deb
libsmartcols1 2.37.2-4ubuntu3.4 deb
libsqlite3-0 3.37.2-2ubuntu0.3 deb
libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2ubuntu0.22.04.2 deb
libssl3 3.0.2-0ubuntu1.10 deb
libssh-4 0.9.6-2ubuntu0.22.04.3 deb
libssl3 3.0.2-0ubuntu1.15 deb
libstdc++6 12.3.0-1ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.9 deb
libsystemd0 249.11-0ubuntu3.12 deb
libtasn1-6 4.18.0-4build1 deb
libtinfo6 6.3-2ubuntu0.1 deb
libtirpc-common 1.3.2-2ubuntu0.1 deb
libtirpc3 1.3.2-2ubuntu0.1 deb
libudev1 249.11-0ubuntu3.9 deb
libudev1 249.11-0ubuntu3.12 deb
libunistring2 1.0-1 deb
libuuid1 2.37.2-4ubuntu3 deb
libuuid1 2.37.2-4ubuntu3.4 deb
libx11-6 2:1.7.5-1ubuntu0.3 deb
libx11-data 2:1.7.5-1ubuntu0.3 deb
libxau6 1:1.0.9-1build5 deb
@@ -323,11 +324,11 @@ libxmuu1 2:1.1.3-3
libxxhash0 0.8.1-1 deb
libzstd1 1.4.8+dfsg-3build1 deb
limiter 2.1.0 npm
locales 2.35-0ubuntu3.5 deb
locales 2.35-0ubuntu3.6 deb
log 1.0.0 npm
login 1:4.8.1-2ubuntu2.1 deb
login 1:4.8.1-2ubuntu2.2 deb
logsave 1.46.5-2ubuntu1.1 deb
lru-cache 6.0.0 npm
lru-cache 6.0.0 npm (+1 duplicate)
lru-cache 7.18.3 npm
lsb-base 11.1.0ubuntu4 deb
lua 1.0.0 npm
@@ -354,13 +355,12 @@ minimist 1.2.6
minipass 3.3.6 npm
minipass 5.0.0 npm
minizlib 2.1.2 npm
mkdirp 1.0.4 npm
mkdirp 1.0.4 npm (+1 duplicate)
mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm
mount 2.37.2-4ubuntu3.4 deb
ms 2.0.0 npm (+1 duplicate)
ms 2.1.1 npm
ms 2.1.2 npm
nan 2.17.0 npm
ms 2.1.2 npm (+1 duplicate)
nano 6.2-1 deb
napi-build-utils 1.0.2 npm
native-watchdog 1.4.2 npm
@@ -372,14 +372,15 @@ netbase 6.3
netcat 1.218-4ubuntu1 deb
netcat-openbsd 1.218-4ubuntu1 deb
netmask 2.0.2 npm
node 18.15.0 binary
node 18.18.2 binary
node-abi 3.8.0 npm
node-addon-api 3.2.1 npm
node-addon-api 4.3.0 npm
node-addon-api 7.0.0 npm
node-addon-api 7.1.0 npm
node-fetch 2.7.0 npm
node-gyp-build 4.3.0 npm
node-pty 1.1.0-beta5 npm
node-pty 1.1.0-beta11 npm
nopt 5.0.0 npm
npm 1.0.1 npm
npmlog 5.0.1 npm
@@ -388,14 +389,14 @@ object-assign 4.1.1
objective-c 1.0.0 npm
on-finished 2.3.0 npm
on-headers 1.0.2 npm
once 1.4.0 npm
openssh-client 1:8.9p1-3ubuntu0.6 deb
openssl 3.0.2-0ubuntu1.12 deb
once 1.4.0 npm (+1 duplicate)
openssh-client 1:8.9p1-3ubuntu0.7 deb
openssl 3.0.2-0ubuntu1.15 deb
os-tmpdir 1.0.2 npm
pac-proxy-agent 7.0.1 npm
pac-resolver 7.0.0 npm
parseurl 1.3.3 npm
passwd 1:4.8.1-2ubuntu2.1 deb
passwd 1:4.8.1-2ubuntu2.2 deb
patch 2.7.6-7build2 deb
path-is-absolute 1.0.1 npm
path-to-regexp 0.1.7 npm
@@ -411,10 +412,10 @@ picomatch 2.3.1
pinentry-curses 1.1.1-1build2 deb
powershell 1.0.0 npm
prebuild-install 7.1.1 npm
procps 2:3.3.17-6ubuntu2 deb
procps 2:3.3.17-6ubuntu2.1 deb
proxy-addr 2.0.7 npm
proxy-agent 6.3.1 npm
proxy-from-env 1.1.0 npm
proxy-agent 6.4.0 npm
proxy-from-env 1.1.0 npm (+1 duplicate)
publicsuffix 20211207.1025-1 deb
pug 1.0.0 npm
pump 3.0.0 npm
@@ -433,19 +434,19 @@ regenerator-runtime 0.14.0
requires-port 1.0.0 npm
restructuredtext 1.0.0 npm
rimraf 3.0.2 npm
rotating-file-stream 3.1.1 npm
rotating-file-stream 3.2.1 npm
router 2.0.0-alpha.1 npm
ruby 1.0.0 npm
rust 1.0.0 npm
safe-buffer 5.1.2 npm
safe-buffer 5.2.1 npm
safe-buffer 5.1.2 npm (+2 duplicates)
safe-buffer 5.2.1 npm (+1 duplicate)
safe-compare 1.1.4 npm
safer-buffer 2.1.2 npm
scss 1.0.0 npm
search-result 1.0.0 npm
sed 4.8-1ubuntu2 deb
semver 6.3.1 npm
semver 7.5.4 npm
semver 7.5.4 npm (+1 duplicate)
send 0.17.1 npm
sensible-utils 0.0.17 deb
serve-static 1.14.1 npm
@@ -458,21 +459,21 @@ signal-exit 3.0.7
simple-browser 1.0.0 npm
simple-concat 1.0.1 npm
simple-get 4.0.1 npm
smart-buffer 4.2.0 npm
socks 2.7.1 npm
smart-buffer 4.2.0 npm (+1 duplicate)
socks 2.7.1 npm (+1 duplicate)
socks-proxy-agent 8.0.1 npm
socks-proxy-agent 8.0.2 npm
source-map 0.6.1 npm
sql 1.0.0 npm
statuses 1.5.0 npm
string-width 4.2.3 npm
string_decoder 1.3.0 npm
string_decoder 1.3.0 npm (+1 duplicate)
strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm
sudo 1.9.9-1ubuntu2.4 deb
swift 1.0.0 npm
sysvinit-utils 3.01-1ubuntu1 deb
tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb
tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb
tar 6.2.0 npm
tar-fs 2.1.1 npm
tar-stream 2.2.0 npm
@@ -495,15 +496,15 @@ tunnel-agent 0.6.0
tunnel-forwarding 1.0.0 npm
type-is 1.6.18 npm
typescript 1.0.0 npm
typescript 5.3.2 npm
typescript 5.4.5 npm
typescript-language-features 1.0.0 npm
tzdata 2023c-0ubuntu0.22.04.2 deb
tzdata 2024a-0ubuntu0.22.04 deb
ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm
unpipe 1.0.0 npm
usrmerge 25ubuntu2 deb
util-deprecate 1.0.2 npm
util-linux 2.37.2-4ubuntu3 deb
util-deprecate 1.0.2 npm (+1 duplicate)
util-linux 2.37.2-4ubuntu3.4 deb
utils-merge 1.0.1 npm
vary 1.1.2 npm
vb 1.0.0 npm
@@ -512,23 +513,24 @@ vscode-extensions 0.0.1
vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.8 npm
vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.4.0-alpha.8 npm
vscode-markdown-languageserver 0.4.0 npm
vscode-oniguruma 1.7.0 npm
vscode-regexpp 3.1.0 npm
vscode-reh 1.85.1 npm
vscode-reh 1.88.1 npm
vscode-textmate 9.0.0 npm
vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm
whatwg-url 5.0.0 npm
which 2.0.2 npm
wide-align 1.1.5 npm
wrappy 1.0.2 npm
wrappy 1.0.2 npm (+1 duplicate)
ws 8.14.2 npm
xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm
xml 1.0.0 npm
yallist 4.0.0 npm
yallist 4.0.0 npm (+1 duplicate)
yaml 1.0.0 npm
yauzl 2.10.0 npm
yauzl 3.1.1 npm
yazl 2.4.3 npm
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb

View File

@@ -54,6 +54,7 @@ app_setup_block: |
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
# changelog
changelogs:
- {date: "21.04.23:", desc: "Let server listen on both ipv4 and ipv6."}
- {date: "01.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"}
- {date: "05.10.22:", desc: "Install recommended deps to maintain parity with the older images."}
- {date: "29.09.22:", desc: "Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents."}

View File

@@ -17,7 +17,7 @@ exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \
/app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \
--bind-addr "[::]:8443" \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \