diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 3392aa4..a34501b 100755 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -6,7 +6,7 @@ * Read, and fill the Pull Request template * If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR * If the PR is addressing an existing issue include, closes #\, in the body of the PR commit message -* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn) +* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord) ## Common files diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index cec0a47..e813b43 100755 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,7 +1,7 @@ blank_issues_enabled: false contact_links: - name: Discord chat support - url: https://discord.gg/YWrKVTn + url: https://linuxserver.io/discord about: Realtime support / chat with the community and the team. - name: Discourse discussion forum diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 2ebde07..d556491 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -15,7 +15,10 @@ jobs: SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }} run: | printf "# External trigger for docker-unifi-network-application\n\n" >> $GITHUB_STEP_SUMMARY - if grep -q "^unifi-network-application_main" <<< "${SKIP_EXTERNAL_TRIGGER}"; then + if grep -q "^unifi-network-application_main_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then + echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY + echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`unifi-network-application_main_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY + elif grep -q "^unifi-network-application_main" <<< "${SKIP_EXTERNAL_TRIGGER}"; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`unifi-network-application_main\`; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 @@ -23,8 +26,13 @@ jobs: echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY echo "> External trigger running off of main branch. To disable this trigger, add \`unifi-network-application_main\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY - EXT_RELEASE=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages |grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}') + EXT_RELEASE=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages.gz | gunzip | grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}') echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY + if grep -q "^unifi-network-application_main_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY + exit 0 + fi if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY diff --git a/Dockerfile b/Dockerfile index 99471bf..573887b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,9 @@ RUN \ unzip && \ echo "**** install unifi ****" && \ if [ -z ${UNIFI_VERSION+x} ]; then \ - UNIFI_VERSION=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/${UNIFI_BRANCH}/ubiquiti/binary-amd64/Packages \ - |grep -A 7 -m 1 'Package: unifi' \ + UNIFI_VERSION=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/${UNIFI_BRANCH}/ubiquiti/binary-amd64/Packages.gz \ + | gunzip \ + | grep -A 7 -m 1 'Package: unifi' \ | awk -F ': ' '/Version/{print $2;exit}' \ | awk -F '-' '{print $1}'); \ fi && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 49a1a85..ca22a47 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -24,8 +24,9 @@ RUN \ unzip && \ echo "**** install unifi ****" && \ if [ -z ${UNIFI_VERSION+x} ]; then \ - UNIFI_VERSION=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/${UNIFI_BRANCH}/ubiquiti/binary-amd64/Packages \ - |grep -A 7 -m 1 'Package: unifi' \ + UNIFI_VERSION=$(curl -sX GET https://dl.ui.com/unifi/debian/dists/${UNIFI_BRANCH}/ubiquiti/binary-amd64/Packages.gz \ + | gunzip \ + | grep -A 7 -m 1 'Package: unifi' \ | awk -F ': ' '/Version/{print $2;exit}' \ | awk -F '-' '{print $1}'); \ fi && \ diff --git a/Jenkinsfile b/Jenkinsfile index d8645db..dd23606 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,11 +56,21 @@ pipeline { steps{ echo "Running on node: ${NODE_NAME}" sh '''#! /bin/bash - containers=$(docker ps -aq) + echo "Pruning builder" + docker builder prune -f --builder container || : + containers=$(docker ps -q) if [[ -n "${containers}" ]]; then - docker stop ${containers} + BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit') + for container in ${containers}; do + if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then + echo "skipping buildx container in docker stop" + else + echo "Stopping container ${container}" + docker stop ${container} + fi + done fi - docker system prune -af --volumes || : ''' + docker system prune -f --volumes || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( @@ -131,7 +141,7 @@ pipeline { steps{ script{ env.EXT_RELEASE = sh( - script: ''' curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages |grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}' ''', + script: ''' curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages.gz | gunzip | grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}' ''', returnStdout: true).trim() env.RELEASE_LINK = 'custom_command' } @@ -1152,12 +1162,21 @@ EOF } cleanup { sh '''#! /bin/bash - echo "Performing docker system prune!!" - containers=$(docker ps -aq) + echo "Pruning builder!!" + docker builder prune -f --builder container || : + containers=$(docker ps -q) if [[ -n "${containers}" ]]; then - docker stop ${containers} + BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit') + for container in ${containers}; do + if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then + echo "skipping buildx container in docker stop" + else + echo "Stopping container ${container}" + docker stop ${container} + fi + done fi - docker system prune -af --volumes || : + docker system prune -f --volumes || : ''' cleanWs() } diff --git a/README.md b/README.md index 52c83c5..6e63be9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!") -[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.") +[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.") [![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.") [![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.") [![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.") @@ -20,7 +20,7 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r Find us at: * [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more! -* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team. +* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team. * [Discourse](https://discourse.linuxserver.io) - post on our community forum. * [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images. * [GitHub](https://github.com/linuxserver) - view the source for all of our repositories. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index a5357ae..58b8f3d 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -3,7 +3,7 @@ # jenkins variables project_name: unifi-network-application external_type: na -custom_version_command: "curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages |grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}'" +custom_version_command: "curl -sX GET https://dl.ui.com/unifi/debian/dists/stable/ubiquiti/binary-amd64/Packages.gz | gunzip | grep -A 7 -m 1 'Package: unifi' | awk -F ': ' '/Version/{print $2;exit}' | awk -F '-' '{print $1}'" release_type: stable release_tag: latest ls_branch: main diff --git a/package_versions.txt b/package_versions.txt index 5994e3b..aefdeac 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -23,7 +23,7 @@ bash 5.2.21-2ubuntu4 deb bcpkix-jdk18on 1.75 java-archive bcprov-jdk18on 1.75 java-archive bcutil-jdk18on 1.75 java-archive -bsdutils 1:2.39.3-9ubuntu6.1 deb +bsdutils 1:2.39.3-9ubuntu6.2 deb bson 4.11.5 java-archive bson-record-codec 4.11.5 java-archive ca-certificates 20240203 deb @@ -155,17 +155,17 @@ lazysodium-java 5.1.4 jav libacl1 2.3.2-1build1.1 deb libapt-pkg6.0t64 2.7.14build2 deb libassuan0 2.5.6-1build1 deb -libattr1 1:2.5.2-1build1 deb +libattr1 1:2.5.2-1build1.1 deb libaudit-common 1:3.1.2-2.1build1.1 deb libaudit1 1:3.1.2-2.1build1.1 deb -libblkid1 2.39.3-9ubuntu6.1 deb +libblkid1 2.39.3-9ubuntu6.2 deb libbrotli1 1.1.0-2build2 deb -libbsd0 0.12.1-1build1 deb +libbsd0 0.12.1-1build1.1 deb libbz2-1.0 1.0.8-5.1build0.1 deb libc-bin 2.39-0ubuntu8.3 deb libc6 2.39-0ubuntu8.3 deb libcap-ng0 0.8.4-2build2 deb -libcap2 1:2.66-5ubuntu2 deb +libcap2 1:2.66-5ubuntu2.1 deb libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb libcommons-daemon-java 1.0.15-11build1 deb libcrypt1 1:4.4.36-4build1 deb @@ -176,12 +176,12 @@ libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb libffi8 3.4.6-1build1 deb libgcc-s1 14.2.0-4ubuntu2~24.04 deb libgcrypt20 1.10.3-2build1 deb -libgmp10 2:6.3.0+dfsg-2ubuntu6 deb +libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb libgnutls30t64 3.8.3-1.1ubuntu3.2 deb -libgpg-error0 1.47-3build2 deb +libgpg-error0 1.47-3build2.1 deb libgssapi-krb5-2 1.20.1-6ubuntu2.2 deb libhogweed6t64 3.9.1-2.2build1.1 deb -libidn2-0 2.3.7-2build1 deb +libidn2-0 2.3.7-2build1.1 deb libjpeg-turbo8 2.1.5-2ubuntu2 deb libjpeg8 8c-2ubuntu11 deb libjq1 1.7.1-3build1 deb @@ -195,11 +195,11 @@ libldap-common 2.6.7+dfsg-1~exp1ubuntu8.1 deb libldap2 2.6.7+dfsg-1~exp1ubuntu8.1 deb liblz4-1 1.9.4-1build1.1 deb liblzma5 5.6.1+really5.4.5-1build0.1 deb -libmd0 1.1.0-2build1 deb -libmount1 2.39.3-9ubuntu6.1 deb +libmd0 1.1.0-2build1.1 deb +libmount1 2.39.3-9ubuntu6.2 deb libncursesw6 6.4+20240113-1ubuntu2 deb libnettle8t64 3.9.1-2.2build1.1 deb -libnghttp2-14 1.59.0-1ubuntu0.1 deb +libnghttp2-14 1.59.0-1ubuntu0.2 deb libnpth0t64 1.6-3.1build1 deb libnspr4 2:4.35-1.1build1 deb libnss3 2:3.98-1build1 deb @@ -209,7 +209,7 @@ libpam-modules 1.5.3-5ubuntu5.1 deb libpam-modules-bin 1.5.3-5ubuntu5.1 deb libpam-runtime 1.5.3-5ubuntu5.1 deb libpam0g 1.5.3-5ubuntu5.1 deb -libpcre2-8-0 10.42-4ubuntu2 deb +libpcre2-8-0 10.42-4ubuntu2.1 deb libpcsclite1 2.0.3-1build1 deb libpopt0 1.19+dfsg-1build1 deb libproc2-0 2:4.0.4-4ubuntu3.2 deb @@ -220,12 +220,12 @@ libsasl2-2 2.1.28+dfsg1-5ubuntu3.1 deb libsasl2-modules 2.1.28+dfsg1-5ubuntu3.1 deb libsasl2-modules-db 2.1.28+dfsg1-5ubuntu3.1 deb libseccomp2 2.5.5-1ubuntu3.1 deb -libselinux1 3.5-2ubuntu2 deb +libselinux1 3.5-2ubuntu2.1 deb libsemanage-common 3.5-1build5 deb libsemanage2 3.5-1build5 deb libsepol2 3.5-2build1 deb -libsmartcols1 2.39.3-9ubuntu6.1 deb -libsqlite3-0 3.45.1-1ubuntu2 deb +libsmartcols1 2.39.3-9ubuntu6.2 deb +libsqlite3-0 3.45.1-1ubuntu2.1 deb libss2 1.47.0-2.4~exp1ubuntu4.1 deb libssh-4 0.10.6-2build2 deb libssl3t64 3.0.13-0ubuntu3.4 deb @@ -234,8 +234,8 @@ libsystemd0 255.4-1ubuntu8.4 deb libtasn1-6 4.19.0-3build1 deb libtinfo6 6.4+20240113-1ubuntu2 deb libudev1 255.4-1ubuntu8.4 deb -libunistring5 1.1-2build1 deb -libuuid1 2.39.3-9ubuntu6.1 deb +libunistring5 1.1-2build1.1 deb +libuuid1 2.39.3-9ubuntu6.2 deb libxxhash0 0.8.2-2build1 deb libzstd1 1.5.5+dfsg2-2build1.1 deb locales 2.39-0ubuntu8.3 deb @@ -255,7 +255,7 @@ micrometer-observation 1.12.13 jav minimal-json 0.9.5 java-archive mongodb-driver-core 4.11.5 java-archive mongodb-driver-sync 4.11.5 java-archive -mount 2.39.3-9ubuntu6.1 deb +mount 2.39.3-9ubuntu6.2 deb ncurses-base 6.4+20240113-1ubuntu2 deb ncurses-bin 6.4+20240113-1ubuntu2 deb netcat-openbsd 1.226-1ubuntu2 deb @@ -265,7 +265,7 @@ openssl 3.0.13-0ubuntu3.4 deb org.eclipse.paho.client.mqttv3 1.1.0 java-archive owasp-java-html-sanitizer 20240325.1 java-archive passwd 1:4.13+dfsg1-4ubuntu3.2 deb -perl-base 5.38.2-3.2build2 deb +perl-base 5.38.2-3.2build2.1 deb pinentry-curses 1.2.1-3ubuntu5 deb pop3 2.0.3 java-archive procps 2:4.0.4-4ubuntu3.2 deb @@ -322,9 +322,10 @@ tomcat-embed-websocket 10.1.33 jav txw2 4.0.5 java-archive tzdata 2024a-3ubuntu1.1 deb ubuntu-keyring 2023.11.28.1 deb +unminimize 0.2.1 deb unzip 6.0-28ubuntu4.1 deb urlrewritefilter 4.0.4.1 java-archive -util-linux 2.39.3-9ubuntu6.1 deb +util-linux 2.39.3-9ubuntu6.2 deb xpp3 1.1.4c java-archive xsdlib 2013.6.1 java-archive zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb diff --git a/readme-vars.yml b/readme-vars.yml index f1ca516..07f1af1 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -6,6 +6,7 @@ project_url: "https://ui.com/" project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/unifi-banner.png" project_blurb: "The [{{ project_name|capitalize }}]({{ project_url }}) software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" +project_categories: "Network" # supported architectures available_architectures: - {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}