diff --git a/.containers/apps/bazarr/BASE b/.containers/apps/bazarr/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/bazarr/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/bazarr/Dockerfile b/.containers/apps/bazarr/Dockerfile index 51162a4fff6..10059e1dfd0 100644 --- a/.containers/apps/bazarr/Dockerfile +++ b/.containers/apps/bazarr/Dockerfile @@ -1,8 +1,9 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - - ARG VERSION + +FROM ghcr.io/k8s-at-home/bazarr:v${VERSION} + + ARG TARGETPLATFORM USER root @@ -11,46 +12,22 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - export EXTRA_INSTALL_ARG="build-essential libxml2-dev libxslt1-dev python3-dev python3-pip"; \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - python3 \ - python3-distutils \ - ffmpeg \ - unrar \ - unzip \ - ${EXTRA_INSTALL_ARG} \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - ln -s /usr/bin/python3 /usr/bin/python \ - && \ - curl -fsSL "https://github.com/morpheus65535/bazarr/archive/v${VERSION}.tar.gz" | tar xzf - -C /app --strip-components=1 \ - && pip3 install --no-cache-dir -U -r /app/requirements.txt \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get remove -y ${EXTRA_INSTALL_ARG} \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /app/bin \ - /app/tests \ - /app/screenshots \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps EXPOSE 6767 -COPY ./.containers/apps/bazarr/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/bazarr" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/bazarr/LICENSE b/.containers/apps/bazarr/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/bazarr/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/bazarr/PLATFORM b/.containers/apps/bazarr/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/bazarr/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/bazarr/entrypoint.sh b/.containers/apps/bazarr/entrypoint.sh deleted file mode 100755 index 367ab91bcf2..00000000000 --- a/.containers/apps/bazarr/entrypoint.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -#shellcheck disable=SC1091 -source "/shim/umask.sh" -source "/shim/vpn.sh" - -exec /usr/bin/python3 /app/bazarr.py --no-update --config /config ${EXTRA_ARGS} diff --git a/.containers/apps/bazarr/latest-version.sh b/.containers/apps/bazarr/latest-version.sh index cd76e9d9069..61d7cd15a5a 100755 --- a/.containers/apps/bazarr/latest-version.sh +++ b/.containers/apps/bazarr/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version="$(curl -sX GET "https://api.github.com/repos/morpheus65535/bazarr/releases/latest" | jq --raw-output '.tag_name')" +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/bazarr:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/bazarr/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/emby/BASE b/.containers/apps/emby/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/emby/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/emby/Dockerfile b/.containers/apps/emby/Dockerfile index e3769dfe112..b180e5703ed 100644 --- a/.containers/apps/emby/Dockerfile +++ b/.containers/apps/emby/Dockerfile @@ -1,104 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest as builder - -ARG TARGETPLATFORM ARG VERSION -# hadolint ignore=DL3002 -USER root +FROM ghcr.io/k8s-at-home/emby:v${VERSION} -WORKDIR /tmp + +ARG TARGETPLATFORM + +USER root SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# Install system dependencies - -WORKDIR /tmp - -# hadolint ignore=DL3003,DL3008,DL3013,DL3015,SC2086 +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y \ - aria2 \ - unrar \ - uuid-runtime \ - cpio \ - jq \ - rpm2cpio \ - beignet-opencl-icd \ - ocl-icd-libopencl1 \ - && echo "**** install emby ****" && \ - mkdir -p \ - /app && \ - curl -o \ - /tmp/emby.rpm -L \ - "https://github.com/MediaBrowser/Emby.Releases/releases/download/${VERSION}/emby-server-rpm_${VERSION}_x86_64.rpm" && \ - cd /tmp && \ - rpm2cpio emby.rpm \ - | cpio -i --make-directories \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - mv -t \ - /app \ - /tmp/opt/emby-server/system/* \ - /tmp/opt/emby-server/lib/* \ - /tmp/opt/emby-server/bin/ff* \ - /tmp/opt/emby-server/etc + usermod -l apps kah \ + && \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ + && \ + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info -# hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - - -ARG TARGETPLATFORM -ARG VERSION - -USER root - -ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \ - INTEL_NEO_VERSION=21.11.19310 \ - INTEL_IGC_VERSION=1.0.6646 \ - INTEL_GMMLIB_VERSION=20.3.2 \ - APP_DIR="/app" - -# hadolint ignore=DL3008,DL3013,DL3015,SC2086,SC2039 -RUN \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - mesa-va-drivers \ - uuid-runtime && \ - case "${ARCH}" in \ - 'amd64') \ - curl -J -L -o /tmp/gmmlib.deb https://github.com/intel/compute-runtime/releases/download/${INTEL_NEO_VERSION}/intel-gmmlib_${INTEL_GMMLIB_VERSION}_amd64.deb \ - && apt-get install -y /tmp/gmmlib.deb \ - && curl -J -L -o /tmp/#1.deb https://github.com/intel/intel-graphics-compiler/releases/download/igc-${INTEL_IGC_VERSION}/{intel-igc-core,intel-igc-opencl}_${INTEL_IGC_VERSION}_amd64.deb \ - && apt-get install -y /tmp/intel-igc-core.deb /tmp/intel-igc-opencl.deb \ - && curl -J -L -o /tmp/intel-opencl.deb https://github.com/intel/compute-runtime/releases/download/${INTEL_NEO_VERSION}/intel-opencl_${INTEL_NEO_VERSION}_amd64.deb \ - && apt-get install -y /tmp/intel-opencl.deb \ - ;; \ - esac \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates - -COPY --from=builder /app /app - USER apps -EXPOSE 8096 8920 +EXPOSE 6767 -COPY ./.containers/apps/emby/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/emby" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/emby/PLATFORM b/.containers/apps/emby/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/emby/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/emby/latest-version.sh b/.containers/apps/emby/latest-version.sh index 7fabde380d4..1bb5ff4ea7e 100755 --- a/.containers/apps/emby/latest-version.sh +++ b/.containers/apps/emby/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | jq --raw-output '. | .tag_name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/emby:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/emby/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/jackett/BASE b/.containers/apps/jackett/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/jackett/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/jackett/Dockerfile b/.containers/apps/jackett/Dockerfile index ad154aaef2c..fcb78a149a6 100644 --- a/.containers/apps/jackett/Dockerfile +++ b/.containers/apps/jackett/Dockerfile @@ -1,53 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - -ARG TARGETPLATFORM ARG VERSION -# Sets Jackett config directory -# https://github.com/Jackett/Jackett#home-directory-1 -ENV XDG_CONFIG_HOME=/config +FROM ghcr.io/k8s-at-home/jackett:v${VERSION} + + +ARG TARGETPLATFORM USER root +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - libicu66 \ - libssl1.1 \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') export ARCH='AMDx64' ;; \ - esac \ - && \ - curl -fsSL -o /tmp/jackett.tar.gz \ - "https://github.com/Jackett/Jackett/releases/download/v${VERSION}/Jackett.Binaries.Linux${ARCH}.tar.gz" \ - && tar ixzf /tmp/jackett.tar.gz -C /app --strip-components 1 \ - && \ - rm -rf \ - /app/JackettUpdater* \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 9117 +EXPOSE 6767 -COPY ./.containers/apps/jackett/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/jackett" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/jackett/LICENSE b/.containers/apps/jackett/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/jackett/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/jackett/PLATFORM b/.containers/apps/jackett/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/jackett/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/jackett/latest-version.sh b/.containers/apps/jackett/latest-version.sh index d1bf1d14224..02ae01ec6bd 100755 --- a/.containers/apps/jackett/latest-version.sh +++ b/.containers/apps/jackett/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/Jackett/Jackett/releases/latest" | jq --raw-output '.tag_name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/jackett:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/jackett/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/lidarr/BASE b/.containers/apps/lidarr/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/lidarr/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/lidarr/Dockerfile b/.containers/apps/lidarr/Dockerfile index 012358d374b..f38ea63e3cf 100644 --- a/.containers/apps/lidarr/Dockerfile +++ b/.containers/apps/lidarr/Dockerfile @@ -1,49 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest +ARG VERSION + +FROM ghcr.io/k8s-at-home/lidarr:v${VERSION} + ARG TARGETPLATFORM -ARG VERSION USER root +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - libchromaprint-tools \ - libicu66 \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') export ARCH='x64' ;; \ - esac \ - && \ - curl -fsSL -o /tmp/lidarr.tar.gz \ - "https://lidarr.servarr.com/v1/update/nightly/updatefile?version=${VERSION}&os=linux&runtime=netcore&arch=${ARCH}" \ - && tar ixzf /tmp/lidarr.tar.gz -C /app --strip-components 1 \ - && \ - rm -rf \ - /app/lidarr.Update* \ - && \ - printf "UpdateMethod=docker\nBranch=nightly\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 8686 +EXPOSE 6767 -COPY ./.containers/apps/lidarr/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/lidarr" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/lidarr/LICENSE b/.containers/apps/lidarr/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/lidarr/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/lidarr/PLATFORM b/.containers/apps/lidarr/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/lidarr/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/lidarr/latest-version.sh b/.containers/apps/lidarr/latest-version.sh index b18c8f76544..8aaa9f51797 100755 --- a/.containers/apps/lidarr/latest-version.sh +++ b/.containers/apps/lidarr/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://lidarr.servarr.com/v1/update/nightly/changes?os=linux" | jq --raw-output '.[0].version') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/lidarr:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/lidarr/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/nzbget/BASE b/.containers/apps/nzbget/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/nzbget/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/nzbget/Dockerfile b/.containers/apps/nzbget/Dockerfile index 6afa6414485..d8fd29b0d4b 100644 --- a/.containers/apps/nzbget/Dockerfile +++ b/.containers/apps/nzbget/Dockerfile @@ -1,58 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - ARG VERSION +FROM ghcr.io/k8s-at-home/nzbget:v${VERSION} + + +ARG TARGETPLATFORM + USER root -# hadolint ignore=DL3008,DL3013,DL3015,SC2086 +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - export EXTRA_INSTALL_ARG="build-essential libxml2-dev libxslt1-dev python3-dev python3-pip"; \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - p7zip-full \ - python3 \ - unrar \ - unzip \ - wget \ - ${EXTRA_INSTALL_ARG} \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - pip3 install --no-cache-dir -U \ - apprise \ - chardet \ - pynzbget \ - rarfile \ - && \ - ln -s /usr/bin/python3 /usr/bin/python \ - && \ - curl -fsSL -o /tmp/nzbget.run \ - "https://github.com/nzbget/nzbget/releases/download/v${VERSION}/nzbget-${VERSION}-bin-linux.run" \ - && sh /tmp/nzbget.run --destdir /app \ - && \ - sh /tmp/nzbget.run --destdir /app \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get remove -y ${EXTRA_INSTALL_ARG} \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 6789 +EXPOSE 6767 -COPY ./.containers/apps/nzbget/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/nzbget" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/nzbget/LICENSE b/.containers/apps/nzbget/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/nzbget/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/nzbget/PLATFORM b/.containers/apps/nzbget/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/nzbget/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/nzbget/latest-version.sh b/.containers/apps/nzbget/latest-version.sh index a8f993bd13f..36946fe0a57 100755 --- a/.containers/apps/nzbget/latest-version.sh +++ b/.containers/apps/nzbget/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/nzbget/nzbget/releases/latest" | jq --raw-output '.tag_name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/nzbget:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/nzbget/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/nzbhydra2/BASE b/.containers/apps/nzbhydra2/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/nzbhydra2/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/nzbhydra2/Dockerfile b/.containers/apps/nzbhydra2/Dockerfile index b171127bf87..73880fd5837 100644 --- a/.containers/apps/nzbhydra2/Dockerfile +++ b/.containers/apps/nzbhydra2/Dockerfile @@ -1,49 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest +ARG VERSION + +FROM ghcr.io/k8s-at-home/nzbhydra2:v${VERSION} + ARG TARGETPLATFORM -ARG VERSION USER root +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ - &&\ - apt-get -qq install -y \ - openjdk-11-jre-headless \ - python3 \ - unzip \ + usermod -l apps kah \ && \ - ln -s /usr/bin/python3 /usr/bin/python \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - curl -fsSL -o /tmp/nzbhydra2.zip \ - "https://github.com/theotherp/nzbhydra2/releases/download/v${VERSION}/nzbhydra2-${VERSION}-linux.zip" \ - && unzip -q /tmp/nzbhydra2.zip -d /app \ - && curl -fsSL -o /app/nzbhydra2wrapperPy3.py \ - "https://raw.githubusercontent.com/theotherp/nzbhydra2/v${VERSION}/other/wrapper/nzbhydra2wrapperPy3.py" \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get remove -y unzip \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 5076 +EXPOSE 6767 -COPY ./.containers/apps/nzbhydra2/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/nzbhydra2" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/nzbhydra2/LICENSE b/.containers/apps/nzbhydra2/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/nzbhydra2/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/nzbhydra2/PLATFORM b/.containers/apps/nzbhydra2/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/nzbhydra2/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/nzbhydra2/latest-version.sh b/.containers/apps/nzbhydra2/latest-version.sh index 62722a36652..1503f0418f7 100755 --- a/.containers/apps/nzbhydra2/latest-version.sh +++ b/.containers/apps/nzbhydra2/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases" | jq --raw-output '.[0].tag_name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/nzbhydra2:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/nzbhydra2/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/ombi/LICENSE b/.containers/apps/ombi/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/ombi/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/ombi/PLATFORM b/.containers/apps/ombi/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/ombi/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/ombi/latest-base.sh b/.containers/apps/ombi/latest-base.sh new file mode 100644 index 00000000000..5810deebd04 --- /dev/null +++ b/.containers/apps/ombi/latest-base.sh @@ -0,0 +1 @@ +cat "./.containers/base/ubuntu/VERSION" diff --git a/.containers/apps/plex/BASE b/.containers/apps/plex/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/plex/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/plex/Dockerfile b/.containers/apps/plex/Dockerfile index 7ff57bc96dc..7d4956dc4e0 100644 --- a/.containers/apps/plex/Dockerfile +++ b/.containers/apps/plex/Dockerfile @@ -1,93 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest +ARG VERSION + +FROM ghcr.io/k8s-at-home/plex:v${VERSION} + ARG TARGETPLATFORM -ARG VERSION USER root -ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \ - INTEL_NEO_VERSION=21.11.19310 \ - INTEL_IGC_VERSION=1.0.6646 \ - INTEL_GMMLIB_VERSION=20.3.2 \ - PLEX_DOWNLOAD="https://downloads.plex.tv/plex-media-server-new" \ - PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/config/Library/Application Support" \ - PLEX_MEDIA_SERVER_HOME="/usr/lib/plexmediaserver" \ - PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6" \ - PLEX_MEDIA_SERVER_USER="apps" \ - PLEX_MEDIA_SERVER_INFO_VENDOR="Docker" \ - PLEX_MEDIA_SERVER_INFO_DEVICE="Docker Container (truecharts)" +SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# hadolint ignore=DL3008,DL3015,SC2039,SC2086 +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') \ - export ARCH='amd64'; \ - export EXTRA_INSTALL_ARG='beignet-opencl-icd ocl-icd-libopencl1'; \ - ;; \ - 'linux/arm64') \ - export ARCH='arm64'; \ - export EXTRA_INSTALL_ARG=''; \ - unset NVIDIA_DRIVER_CAPABILITIES; \ - unset INTEL_NEO_VERSION; \ - unset INTEL_IGC_VERSION; \ - unset INTEL_GMMLIB_VERSION; \ - ;; \ - esac \ + usermod -l apps kah \ && \ - apt-get -qq update \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - apt-get -qq install -y \ - aria2 \ - unrar \ - uuid-runtime \ - xmlstarlet \ - ${EXTRA_INSTALL_ARG} \ - && \ - case "${ARCH}" in \ - 'amd64') \ - aria2c -d /tmp -o gmmlib.deb https://github.com/intel/compute-runtime/releases/download/${INTEL_NEO_VERSION}/intel-gmmlib_${INTEL_GMMLIB_VERSION}_amd64.deb \ - && apt-get install -y /tmp/gmmlib.deb \ - && aria2c -d /tmp -o intel-igc-core.deb https://github.com/intel/intel-graphics-compiler/releases/download/igc-${INTEL_IGC_VERSION}/intel-igc-core_${INTEL_IGC_VERSION}_amd64.deb \ - && aria2c -d /tmp -o intel-igc-opencl.deb https://github.com/intel/intel-graphics-compiler/releases/download/igc-${INTEL_IGC_VERSION}/intel-igc-opencl_${INTEL_IGC_VERSION}_amd64.deb \ - && apt-get install -y /tmp/intel-igc-core.deb /tmp/intel-igc-opencl.deb \ - && aria2c -d /tmp -o intel-opencl.deb https://github.com/intel/compute-runtime/releases/download/${INTEL_NEO_VERSION}/intel-opencl_${INTEL_NEO_VERSION}_amd64.deb \ - && apt-get install -y /tmp/intel-opencl.deb \ - ;; \ - esac \ - && \ - echo "Using curl or wget to download the plex debian package result in a qemu failure, why? I dunno" \ - && \ - aria2c -d /tmp -o plex.deb \ - "${PLEX_DOWNLOAD}/${VERSION}/debian/plexmediaserver_${VERSION}_${ARCH}.deb" \ - && \ - dpkg -i --force-confold --force-architecture /tmp/plex.deb \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get remove -y aria2 \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /etc/default/plexmediaserver \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 32400/tcp 1900/udp 3005/tcp 5353/udp 8324/tcp 32410/udp 32412/udp 32413/udp 32414/udp 32469/tcp - -COPY ./.containers/apps/plex/shim/plex-preferences.sh /shim/plex-preferences.sh - -COPY ./.containers/apps/plex/entrypoint.sh /entrypoint.sh +EXPOSE 6767 CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/plex" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/plex/LICENSE b/.containers/apps/plex/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/plex/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/plex/PLATFORM b/.containers/apps/plex/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/plex/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/plex/latest-version.sh b/.containers/apps/plex/latest-version.sh index bd78d04fdf4..db8a3454ec7 100755 --- a/.containers/apps/plex/latest-version.sh +++ b/.containers/apps/plex/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET 'https://plex.tv/api/downloads/5.json' | jq -r '.computer.Linux.version') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/plex:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/plex/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/qbittorrent/BASE b/.containers/apps/qbittorrent/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/qbittorrent/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/qbittorrent/Dockerfile b/.containers/apps/qbittorrent/Dockerfile index 6e56d9f48c6..e1d52b825bf 100644 --- a/.containers/apps/qbittorrent/Dockerfile +++ b/.containers/apps/qbittorrent/Dockerfile @@ -1,134 +1,33 @@ -# -# NOTE: qbittorrent >= 4.3.0 requires libtorrent-rasterbar >= 1.2 -# hence all the scattered logic written below -# - # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest as builder - -ARG TARGETPLATFORM -ARG BUILDPLATFORM ARG VERSION -# hadolint ignore=DL3002 -USER root +FROM ghcr.io/k8s-at-home/qbittorrent:v${VERSION} -WORKDIR /tmp - -# Install system dependencies -# hadolint ignore=DL3008 -RUN \ - apt-get -qq update \ - && \ - apt-get -qq install -y --no-install-recommends \ - build-essential \ - cmake \ - git \ - libboost-chrono-dev \ - libboost-dev \ - libboost-random-dev \ - libboost-system-dev \ - libgeoip-dev \ - libqt5svg5-dev \ - libssl-dev \ - ninja-build \ - pkg-config \ - qtbase5-dev \ - qttools5-dev \ - zlib1g-dev - -# Install lintorrent-rasterbar dependencies -RUN \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') \ - export LIBTORRENT_ARCH='amd64'; \ - ;; \ - esac \ - && \ - export LIBTORRENT_DEB="libtorrent-rasterbar10_1.2.13+git20210323.34a979720b-1ppa1~20.04_${LIBTORRENT_ARCH}.deb" \ - && export LIBTORRENT_DEV_DEB="libtorrent-rasterbar-dev_1.2.13+git20210323.34a979720b-1ppa1~20.04_${LIBTORRENT_ARCH}.deb" \ - && \ - curl -fsSL -o libtorrent-rasterbar.deb \ - "https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/${LIBTORRENT_DEB}" \ - && dpkg -i libtorrent-rasterbar.deb \ - && rm -rf libtorrent-rasterbar.deb \ - && \ - curl -fsSL -o libtorrent-rasterbar-dev.deb \ - "https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/${LIBTORRENT_DEV_DEB}" \ - && dpkg -i libtorrent-rasterbar-dev.deb \ - && rm -rf libtorrent-rasterbar-dev.deb - -# Compile qbitorrent -RUN \ - git clone --depth 1 -b "release-${VERSION}" https://github.com/qbittorrent/qBittorrent.git . \ - && ./configure "${EXTRA_CFG_ARG}" --disable-gui --disable-stacktrace --disable-qt-dbus \ - && make \ - && make install \ - && strip /usr/local/bin/qbittorrent-nox -o /usr/local/bin/qbittorrent-nox-stripped - -# hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest ARG TARGETPLATFORM -ARG BUILDPLATFORM -ARG VERSION - -# Proper way to set config directory -ENV HOME=/config \ - XDG_CONFIG_HOME=/config \ - XDG_DATA_HOME=/config \ - WEBUI_PORT=8080 USER root -COPY --from=builder /usr/local/bin/qbittorrent-nox-stripped /app/qbittorrent-nox +SHELL ["/bin/bash", "-o", "pipefail", "-c"] # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') \ - export LIBTORRENT_ARCH='amd64'; \ - ;; \ - esac \ + usermod -l apps kah \ && \ - export LIBTORRENT_DEB="libtorrent-rasterbar10_1.2.13+git20210323.34a979720b-1ppa1~20.04_${LIBTORRENT_ARCH}.deb" \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - curl -fsSL -o /tmp/libtorrent-rasterbar.deb \ - "https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/${LIBTORRENT_DEB}" \ - && dpkg -i /tmp/libtorrent-rasterbar.deb \ - && \ - apt-get -qq update \ - && \ - apt-get install -y \ - geoip-bin \ - libqt5network5 \ - libqt5xml5 \ - p7zip-full \ - python3 \ - unrar \ - unzip \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 6881 6881/udp ${WEBUI_PORT} +EXPOSE 6767 -COPY ./.containers/apps/qbittorrent/qBittorrent.conf /app/qBittorrent.conf - -COPY ./.containers/apps/qbittorrent/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/qbittorrent" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/qbittorrent/LICENSE b/.containers/apps/qbittorrent/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/qbittorrent/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/qbittorrent/PLATFORM b/.containers/apps/qbittorrent/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/qbittorrent/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/qbittorrent/latest-version.sh b/.containers/apps/qbittorrent/latest-version.sh index 3a90ad4e096..6b80791e68b 100755 --- a/.containers/apps/qbittorrent/latest-version.sh +++ b/.containers/apps/qbittorrent/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/qbittorrent/qBittorrent/tags" | jq --raw-output '.[0].name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/qbittorrent:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/qbittorrent/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/radarr/BASE b/.containers/apps/radarr/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/radarr/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/radarr/Dockerfile b/.containers/apps/radarr/Dockerfile index 76071b0c309..a8ff1e29c4e 100644 --- a/.containers/apps/radarr/Dockerfile +++ b/.containers/apps/radarr/Dockerfile @@ -1,49 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest +ARG VERSION + +FROM ghcr.io/k8s-at-home/radarr:v${VERSION} + ARG TARGETPLATFORM -ARG VERSION USER root -# hadolint ignore=DL3008,DL3015 +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - libicu66 \ - libmediainfo0v5 \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - case "${TARGETPLATFORM}" in \ - 'linux/amd64') export ARCH='x64' ;; \ - esac \ - && \ - curl -fsSL -o /tmp/radarr.tar.gz \ - "https://radarr.servarr.com/v1/update/master/updatefile?version=${VERSION}&os=linux&runtime=netcore&arch=${ARCH}" \ - && tar ixzf /tmp/radarr.tar.gz -C /app --strip-components 1 \ - && \ - rm -rf \ - /app/Radarr.Update* \ - && \ - printf "UpdateMethod=docker\nBranch=master\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 7878 +EXPOSE 6767 -COPY ./.containers/apps/radarr/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/radarr" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/radarr/LICENSE b/.containers/apps/radarr/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/radarr/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/radarr/PLATFORM b/.containers/apps/radarr/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/radarr/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/radarr/latest-version.sh b/.containers/apps/radarr/latest-version.sh index 902d2fa864e..fb4b7ba324e 100755 --- a/.containers/apps/radarr/latest-version.sh +++ b/.containers/apps/radarr/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://radarr.servarr.com/v1/update/master/changes?os=linux" | jq --raw-output '.[0].version') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/radarr:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/radarr/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/readarr/BASE b/.containers/apps/readarr/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/readarr/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/readarr/Dockerfile b/.containers/apps/readarr/Dockerfile index 30e050637b8..8eee7668725 100644 --- a/.containers/apps/readarr/Dockerfile +++ b/.containers/apps/readarr/Dockerfile @@ -1,43 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - ARG VERSION +FROM ghcr.io/k8s-at-home/readarr:v${VERSION} + + +ARG TARGETPLATFORM + USER root +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - libicu66 \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - curl -fsSL -o /tmp/readarr.tar.gz \ - "https://readarr.servarr.com/v1/update/nightly/updatefile?version=${VERSION}&os=linux&runtime=netcore&arch=x64" \ - && tar ixzf /tmp/readarr.tar.gz -C /app --strip-components 1 \ - && \ - rm -rf \ - /app/readarr.Update* \ - && \ - printf "UpdateMethod=docker\nBranch=nightly\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 8787 +EXPOSE 6767 -COPY ./.containers/apps/readarr/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/readarr" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/readarr/PLATFORM b/.containers/apps/readarr/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/readarr/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/readarr/latest-version.sh b/.containers/apps/readarr/latest-version.sh index 3b743f0b8f6..4baa73ca619 100755 --- a/.containers/apps/readarr/latest-version.sh +++ b/.containers/apps/readarr/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -fsSL "https://readarr.servarr.com/v1/update/nightly/changes?os=linux&runtime=netcore" | jq --raw-output '.[0].version') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/readarr:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/readarr/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/sabnzbd/BASE b/.containers/apps/sabnzbd/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/sabnzbd/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/sabnzbd/Dockerfile b/.containers/apps/sabnzbd/Dockerfile index c696e9c22c4..60458a25ad7 100644 --- a/.containers/apps/sabnzbd/Dockerfile +++ b/.containers/apps/sabnzbd/Dockerfile @@ -1,56 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - ARG VERSION + +FROM ghcr.io/k8s-at-home/sabnzbd:v${VERSION} + + ARG TARGETPLATFORM USER root SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# hadolint ignore=DL3008,DL3013,DL3015,SC2086 +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - export EXTRA_INSTALL_ARG="build-essential libffi-dev libssl-dev python3-dev python3-pip"; \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - p7zip-full \ - par2 \ - python3 \ - python3-distutils \ - unrar \ - unzip \ - ${EXTRA_INSTALL_ARG} \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - ln -s /usr/bin/python3 /usr/bin/python \ - && \ - curl -fsSL "https://github.com/sabnzbd/sabnzbd/releases/download/${VERSION}/SABnzbd-${VERSION}-src.tar.gz" | tar xzf - -C /app --strip-components=1 \ - && \ - pip3 install --no-cache-dir -U -r /app/requirements.txt \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - pip3 install --no-cache-dir -U \ - apprise \ - && apt-get remove -y ${EXTRA_INSTALL_ARG} \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 8080 +EXPOSE 6767 -COPY ./.containers/apps/sabnzbd/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/sabnzbd" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/sabnzbd/LICENSE b/.containers/apps/sabnzbd/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/sabnzbd/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/sabnzbd/PLATFORM b/.containers/apps/sabnzbd/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/sabnzbd/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/sabnzbd/latest-version.sh b/.containers/apps/sabnzbd/latest-version.sh index 0e07bf85b83..f92ea6f1480 100755 --- a/.containers/apps/sabnzbd/latest-version.sh +++ b/.containers/apps/sabnzbd/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version="$(curl -sX GET "https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest" | jq --raw-output '.tag_name')" +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/sabnzbd:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/sabnzbd/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/sonarr/BASE b/.containers/apps/sonarr/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/sonarr/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/sonarr/Dockerfile b/.containers/apps/sonarr/Dockerfile index 7650b012209..bb47fb40d38 100644 --- a/.containers/apps/sonarr/Dockerfile +++ b/.containers/apps/sonarr/Dockerfile @@ -1,58 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest - ARG VERSION -USER root +FROM ghcr.io/k8s-at-home/sonarr:v${VERSION} -# https://download.mono-project.com/repo/ubuntu/dists/focal/snapshots/ -ENV MONO_VERSION=6.12.0.122 + +ARG TARGETPLATFORM + +USER root SHELL ["/bin/bash", "-o", "pipefail", "-c"] # hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ - && apt-get -qq install -y gnupg \ - && \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ - && echo "deb https://download.mono-project.com/repo/ubuntu focal/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official.list \ - && apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - mono-complete=${MONO_VERSION}\* \ - libmediainfo0v5 \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - curl -fsSL -o /tmp/sonarr.tar.gz \ - "https://download.sonarr.tv/v3/main/${VERSION}/Sonarr.main.${VERSION}.linux.tar.gz" \ - && tar ixzf /tmp/sonarr.tar.gz -C /app --strip-components 1 \ - && \ - rm -rf \ - /app/Sonarr.Update* \ - && \ - printf "UpdateMethod=docker\nBranch=main\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - gpgconf --kill all \ - && apt-get remove -y gnupg2 \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/cache/apt/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 8989 +EXPOSE 6767 -COPY ./.containers/apps/sonarr/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/sonarr" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/sonarr/LICENSE b/.containers/apps/sonarr/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/sonarr/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/sonarr/PLATFORM b/.containers/apps/sonarr/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/sonarr/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/sonarr/latest-version.sh b/.containers/apps/sonarr/latest-version.sh index 052b7f0c3d0..42ff464cb0e 100755 --- a/.containers/apps/sonarr/latest-version.sh +++ b/.containers/apps/sonarr/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://services.sonarr.tv/v1/download/main?version=3" | jq --raw-output '.version') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/sonarr:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/sonarr/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/tautulli/BASE b/.containers/apps/tautulli/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/tautulli/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/tautulli/Dockerfile b/.containers/apps/tautulli/Dockerfile index 26cf24900ff..5c5bdf9cafa 100644 --- a/.containers/apps/tautulli/Dockerfile +++ b/.containers/apps/tautulli/Dockerfile @@ -1,58 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest +ARG VERSION + +FROM ghcr.io/k8s-at-home/tautulli:v${VERSION} + ARG TARGETPLATFORM -ARG VERSION USER root -ENV TAUTULLI_DOCKER="True" - SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# hadolint ignore=DL3008,DL3013,DL3015,SC2086 +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - export EXTRA_INSTALL_ARG="build-essential libssl-dev libffi-dev python3-dev python3-pip"; \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get -qq install -y \ - python3 \ - python3-setuptools \ - ${EXTRA_INSTALL_ARG} \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - ln -s /usr/bin/python3 /usr/bin/python \ - && \ - curl -fsSL "https://github.com/Tautulli/Tautulli/archive/v${VERSION}.tar.gz" | tar xzf - -C /app --strip-components 1 \ - && \ - echo "${VERSION}" > /app/version.txt \ - && \ - echo "master" > /app/branch.txt \ - && \ - pip3 install --no-cache-dir -U \ - plexapi \ - pycryptodomex \ - && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get remove -y ${EXTRA_INSTALL_ARG} \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE 8181 +EXPOSE 6767 -COPY ./.containers/apps/tautulli/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/tautulli" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/tautulli/LICENSE b/.containers/apps/tautulli/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/apps/tautulli/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/apps/tautulli/PLATFORM b/.containers/apps/tautulli/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/tautulli/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/tautulli/latest-version.sh b/.containers/apps/tautulli/latest-version.sh index 1a88cd869b7..3e6499db3a9 100755 --- a/.containers/apps/tautulli/latest-version.sh +++ b/.containers/apps/tautulli/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/Tautulli/Tautulli/releases/latest" | jq --raw-output '. | .tag_name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/tautulli:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/tautulli/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/apps/transmission/BASE b/.containers/apps/transmission/BASE deleted file mode 100644 index 3d66b16fb18..00000000000 --- a/.containers/apps/transmission/BASE +++ /dev/null @@ -1 +0,0 @@ -focal-20210401 diff --git a/.containers/apps/transmission/Dockerfile b/.containers/apps/transmission/Dockerfile index fe604e65081..75cf5b090fc 100644 --- a/.containers/apps/transmission/Dockerfile +++ b/.containers/apps/transmission/Dockerfile @@ -1,94 +1,33 @@ # hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest as builder - -ARG TARGETPLATFORM ARG VERSION -# hadolint ignore=DL3002 -USER root +FROM ghcr.io/k8s-at-home/transmission:v${VERSION} -WORKDIR /tmp - -# Install system dependencies -# hadolint ignore=DL3008 -RUN \ - apt-get -qq update \ - && \ - apt-get -qq install -y --no-install-recommends \ - autoconf \ - automake \ - build-essential \ - cmake \ - git \ - intltool \ - libappindicator3-dev \ - libcurl4-openssl-dev \ - libevent-dev \ - libglib2.0-dev \ - libminiupnpc-dev \ - libssh-dev \ - libtool \ - pkg-config - -# Compile transmission -RUN \ - git clone --depth 1 -b ${VERSION} https://github.com/transmission/transmission.git . \ - && git submodule update --init \ - && ./autogen.sh --without-gtk \ - && make -s \ - && make install - -# hadolint ignore=DL3007 -FROM ghcr.io/truecharts/ubuntu:latest ARG TARGETPLATFORM -ARG VERSION - -# Proper way to set config directory -ENV HOME=/config \ - XDG_CONFIG_HOME=/config \ - XDG_DATA_HOME=/config \ - WEBUI_PORT=9091 \ - TRANSMISSION_WEB_HOME=/web USER root -COPY --from=builder /usr/local/bin/transmission-daemon /app/transmission-daemon -COPY --from=builder /usr/local/share/transmission/web /web +SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# hadolint ignore=DL3008,DL3015 +# hadolint ignore=DL3008,DL3015,SC2086 RUN \ - apt-get -qq update \ + usermod -l apps kah \ && \ - apt-get install -y \ - libevent-dev \ - libminiupnpc-dev \ - p7zip-full \ - python3 \ - rsync \ - unrar \ - unzip \ + groupmod -n apps kah \ + && chown -R apps:apps /config \ + && rm -rf /app/package_info \ && \ - printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \ - && \ - apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/ \ - && chmod -R u=rwX,go=rX /app \ - && chmod -R u=rwX,go=rX /web \ - && printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \ - && update-ca-certificates + printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info + USER apps -EXPOSE ${WEBUI_PORT} 51413 +EXPOSE 6767 -COPY ./.containers/apps/transmission/entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"] LABEL "maintainer"="TrueCharts " -LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps" +LABEL "authors"="TrueCharts " +LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps/tree/master/.containers/apps/transmission" +LABEL "org.opencontainers.image.documentation "="https://truecharts.org" diff --git a/.containers/apps/transmission/PLATFORM b/.containers/apps/transmission/PLATFORM deleted file mode 100644 index 303dc7a5a77..00000000000 --- a/.containers/apps/transmission/PLATFORM +++ /dev/null @@ -1 +0,0 @@ -linux/amd64 diff --git a/.containers/apps/transmission/latest-version.sh b/.containers/apps/transmission/latest-version.sh index 88602705082..266a4fa0e72 100755 --- a/.containers/apps/transmission/latest-version.sh +++ b/.containers/apps/transmission/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -sX GET "https://api.github.com/repos/transmission/transmission/tags" | jq --raw-output '.[0].name') +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/transmission:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/transmission/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/base/alpine/Dockerfile b/.containers/base/alpine/Dockerfile index 8b51ebcf841..d168b4cdeee 100644 --- a/.containers/base/alpine/Dockerfile +++ b/.containers/base/alpine/Dockerfile @@ -1,12 +1,6 @@ ARG VERSION -FROM alpine:${VERSION} - -# hadolint ignore=DL3018 -RUN \ - apk add --no-cache \ - tini \ - ca-certificates +FROM ghcr.io/k8s-at-home/alpine:v${VERSION} ENTRYPOINT ["/sbin/tini", "--"] CMD ["echo", "'No can haz support yet. Chek bak l8r!'", "exit", "1337" ] diff --git a/.containers/base/alpine/latest-version.sh b/.containers/base/alpine/latest-version.sh index 42e040452ce..1a8f76bd342 100644 --- a/.containers/base/alpine/latest-version.sh +++ b/.containers/base/alpine/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -s "https://registry.hub.docker.com/v1/repositories/library/alpine/tags" | jq --raw-output '.[] | select(.name | contains(".")) | .name' | sort -t "." -k1,1n -k2,2n -k3,3n | tail -n1) +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/alpine:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/alpine/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/base/ubuntu/Dockerfile b/.containers/base/ubuntu/Dockerfile index 7aa14f093cf..0ea5fe332e1 100644 --- a/.containers/base/ubuntu/Dockerfile +++ b/.containers/base/ubuntu/Dockerfile @@ -1,88 +1,25 @@ ARG VERSION -FROM ubuntu:${VERSION} +FROM ghcr.io/k8s-at-home/ubuntu:v${VERSION} ARG TARGETPLATFORM SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# DEBIAN_FRONTEND: https://askubuntu.com/questions/972516/debian-frontend-environment-variable -# APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE: http://stackoverflow.com/questions/48162574/ddg#49462622 -ENV \ - DEBCONF_NONINTERACTIVE_SEEN=true \ - DEBIAN_FRONTEND="noninteractive" \ - APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn \ - TINI_VERSION=0.19.0 \ - UMASK=0002 \ - LANG=en_US.UTF-8 \ - LANGUAGE=en_US:en \ - LC_ALL=en_US.UTF-8 \ - MICRO_CONFIG_HOME=/tmp +USER root RUN \ - adduser apps \ - --uid 568 \ - --group \ - --system \ - --disabled-password \ - --no-create-home \ + usermod -l apps kah \ && \ - mkdir -p /config \ + groupmod -n apps kah \ && chown -R apps:apps /config WORKDIR /app -# hadolint ignore=DL3008,DL3015 -RUN \ - set -eux \ - && echo 'APT::Install-Recommends "false";' >/etc/apt/apt.conf.d/00recommends \ - && echo 'APT::Install-Suggests "false";' >>/etc/apt/apt.conf.d/00recommends \ - && echo 'APT::Get::Install-Recommends "false";' >>/etc/apt/apt.conf.d/00recommends \ - && echo 'APT::Get::Install-Suggests "false";' >>/etc/apt/apt.conf.d/00recommends \ - && \ - apt-get -qq update \ - && \ - apt-get install -y \ - bash \ - ca-certificates \ - curl \ - jq \ - locales \ - tini \ - tzdata \ - && locale-gen en_US.UTF-8 \ - && update-locale \ - && dpkg-reconfigure -f noninteractive locales \ - && MICRO_VERSION=$(curl -s "https://api.github.com/repos/zyedidia/micro/releases" | jq --raw-output '.[0].tag_name') \ - && MICRO_VERSION="${MICRO_VERSION#?}" \ - && curl -fsSL "https://github.com/zyedidia/micro/releases/download/v${MICRO_VERSION}/micro-${MICRO_VERSION}-linux64.tar.gz" | tar xzf - -C /tmp --strip-components=1 \ - && mv /tmp/micro /usr/local/bin/micro \ - && ln -s /usr/local/bin/micro /usr/local/bin/vi \ - && ln -s /usr/local/bin/micro /usr/local/bin/vim \ - && ln -s /usr/local/bin/micro /usr/local/bin/nano \ - && ln -s /usr/local/bin/micro /usr/local/bin/emacs \ - && unset MICRO_ARCH \ - && unset MICRO_VERSION \ - && \ - printf "/bin/bash /shim/greeting.sh" >> /etc/bash.bashrc \ - && \ - apt-get remove -y jq \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && apt-get autoremove -y \ - && apt-get clean \ - && \ - rm -rf \ - /tini.asc \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/cache/apt/* \ - /var/tmp/* - USER apps VOLUME [ "/config" ] -COPY ./.containers/base/ubuntu/shim /shim ENTRYPOINT [ "/usr/bin/tini", "--" ] LABEL "maintainer"="TrueCharts " diff --git a/.containers/base/ubuntu/LICENSE b/.containers/base/ubuntu/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/base/ubuntu/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/base/ubuntu/latest-version.sh b/.containers/base/ubuntu/latest-version.sh index 7b0f61e232c..a45f86c972f 100755 --- a/.containers/base/ubuntu/latest-version.sh +++ b/.containers/base/ubuntu/latest-version.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -version=$(curl -s "https://registry.hub.docker.com/v1/repositories/library/ubuntu/tags" | jq --raw-output '.[] | select(.name | contains("focal")) | .name' | tail -n1) +TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/ubuntu:pull" | jq --raw-output '.[]') +version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/ubuntu/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1) version="${version#*v}" version="${version#*release-}" -printf "%s" "${version}" +echo "${version}" diff --git a/.containers/base/ubuntu/shim/LICENSE b/.containers/base/ubuntu/shim/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/.containers/base/ubuntu/shim/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.containers/base/ubuntu/shim/config.sh b/.containers/base/ubuntu/shim/config.sh deleted file mode 100755 index 8c065fee3bc..00000000000 --- a/.containers/base/ubuntu/shim/config.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -mkdir -p /config diff --git a/.containers/base/ubuntu/shim/greeting.sh b/.containers/base/ubuntu/shim/greeting.sh deleted file mode 100644 index 26971f2946f..00000000000 --- a/.containers/base/ubuntu/shim/greeting.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -echo " -Welcome to a TrueCharts App Container, - -* Repository: https://github.com/truecharts/apps -* Docs: https://truecharts.org -* This container uses the micro CLI text editor -* Bugs or feature requests should be opened in an GH issue -* Questions should be discussed on GH discussions -" diff --git a/.containers/base/ubuntu/shim/umask.sh b/.containers/base/ubuntu/shim/umask.sh deleted file mode 100755 index bea3cc3535e..00000000000 --- a/.containers/base/ubuntu/shim/umask.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -umask "${UMASK:-0002}" diff --git a/.containers/base/ubuntu/shim/vpn.sh b/.containers/base/ubuntu/shim/vpn.sh deleted file mode 100755 index 28434251b23..00000000000 --- a/.containers/base/ubuntu/shim/vpn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -WAIT_FOR_VPN=${WAIT_FOR_VPN:-"false"} - -if - [[ "${WAIT_FOR_VPN}" == "true" ]]; -then - echo "Waiting for VPN to be connected..." - while ! grep -s -q "connected" /shared/vpnstatus; - do - echo "VPN not connected" - sleep 2 - done - echo "VPN Connected, starting application..." -fi diff --git a/.github/workflows/containers.build.yaml b/.github/workflows/containers.build.yaml index 2ac26210d68..87fdce33a9c 100644 --- a/.github/workflows/containers.build.yaml +++ b/.github/workflows/containers.build.yaml @@ -52,7 +52,7 @@ jobs: - name: hadolint uses: reviewdog/action-hadolint@v1.17.1 with: - github_token: ${{ secrets.BOT_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} reporter: github-pr-review filter_mode: diff_context fail_on_error: true @@ -83,7 +83,7 @@ jobs: echo ::set-output name=category::${CATEGORY} VERSION=$(cat ./.containers/${CATEGORY}/${{ matrix.container }}/VERSION) echo ::set-output name=version::${VERSION} - PLATFORM=$(cat ./.containers/${CATEGORY}/${{ matrix.container }}/PLATFORM) + PLATFORM="linux/amd64" echo ::set-output name=platform::${PLATFORM} if test -f "./.containers/${CATEGORY}/${{ matrix.container }}/goss.yaml"; then echo ::set-output name=goss::true @@ -92,17 +92,22 @@ jobs: fi if [ "${{github.event_name}}" == "pull_request" ]; then echo ::set-output name=push::false + echo ::set-output name=cache_from::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache" + echo ::set-output name=cache_to::"" else echo ::set-output name=push::true + echo ::set-output name=cache_from::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache" + echo ::set-output name=cache_to::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache,mode=max" fi - name: Set up QEMU uses: docker/setup-qemu-action@v1 with: - platforms: all + platforms: amd64 - name: Login to GHCR uses: docker/login-action@v1 + if: github.event_name != 'pull_request' with: registry: ghcr.io username: ${{ secrets.GHCR_USERNAME }} @@ -135,8 +140,8 @@ jobs: load: true tags: | ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:test - cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache - cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache,mode=max + cache-from: ${{ steps.prep.outputs.cache_from }} + cache-to: ${{ steps.prep.outputs.cache_to }} # Run GOSS tests if included with the container - name: Run GOSS tests @@ -158,8 +163,8 @@ jobs: tags: | ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:latest ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:v${{ steps.prep.outputs.version }} - cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache - cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache,mode=max + cache-from: ${{ steps.prep.outputs.cache_from }} + cache-to: ${{ steps.prep.outputs.cache_to }} container-build-complete: needs: [build] diff --git a/.github/workflows/containers.update.yaml b/.github/workflows/containers.update.yaml index 2b917b7fae1..582507fe867 100644 --- a/.github/workflows/containers.update.yaml +++ b/.github/workflows/containers.update.yaml @@ -29,10 +29,14 @@ jobs: echo "App: ${app} using version: ${version}" fi fi - base=$(cat "./.containers/base/ubuntu/VERSION") - if [[ ! -z "${base}" || "${base}" != "null" ]]; then - echo "${base}" | tee ".containers/apps/${app}/BASE" > /dev/null - echo "App: ${app} using Base: ${base}" + if test -f "./.containers/apps/${app}/BASE"; then + if test -f "./.containers/apps/${app}/latest-base.sh"; then + base=$(bash "./.containers/apps/${app}/latest-base.sh") + if [[ ! -z "${base}" || "${base}" != "null" ]]; then + echo "${base}" | tee ".containers/apps/${app}/BASE" > /dev/null + echo "App: ${app} using Base: ${base}" + fi + fi fi done - name: Fetch new base versions