diff --git a/.github/workflows/epicmorg.ecosysctem.freegpt.images.yml.disabled b/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt similarity index 93% rename from .github/workflows/epicmorg.ecosysctem.freegpt.images.yml.disabled rename to .github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt index 53f6b035b..5bce347cd 100644 --- a/.github/workflows/epicmorg.ecosysctem.freegpt.images.yml.disabled +++ b/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt @@ -31,7 +31,10 @@ jobs: - name: Build and Deploy freegpt-webui 1.2 run: cd linux/ecosystem/freegpt-webui/1.2 && make build && make deploy - + + - name: Cleanup + run: make docker-clean + - name: Build and Deploy freegpt-webui 1.3 run: cd linux/ecosystem/freegpt-webui/1.3 && make build && make deploy @@ -40,7 +43,10 @@ jobs: - name: Build and Deploy freegpt-webui 1.3.2 run: cd linux/ecosystem/freegpt-webui/1.3.2 && make build && make deploy - + + - name: Cleanup + run: make docker-clean + - name: Build and Deploy freegpt-webui 1.4 run: cd linux/ecosystem/freegpt-webui/1.4 && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.nextcloud.images.yml b/.github/workflows/epicmorg.advanced.nextcloud.images.yml index d952a4abe..2088b29f9 100644 --- a/.github/workflows/epicmorg.advanced.nextcloud.images.yml +++ b/.github/workflows/epicmorg.advanced.nextcloud.images.yml @@ -35,6 +35,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 18 Stock Images:" run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Nextcloud 19 Stock Images:" run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy @@ -47,6 +50,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 22 Stock Images:" run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Nextcloud 23 Stock Images:" run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy @@ -68,6 +74,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud Latest Stock Images:" run: cd linux/advanced/nextcloud/pure/latest && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean ################################################################################## @@ -100,6 +109,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 19 Patched Images:" run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Nextcloud 20 Patched Images:" run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy @@ -115,6 +127,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 24 Patched Images:" run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Nextcloud 25 Patched Images:" run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.python.yml b/.github/workflows/epicmorg.advanced.python.yml index 2fd331b0c..bad5fa584 100644 --- a/.github/workflows/epicmorg.advanced.python.yml +++ b/.github/workflows/epicmorg.advanced.python.yml @@ -26,18 +26,27 @@ jobs: - name: "Build and Deploy Python 3.6 Main Image:" run: cd linux/advanced/python/main/3.6 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Python 3.7 Main Image:" run: cd linux/advanced/python/main/3.7 && pwd && make build && make deploy - name: "Build and Deploy Python 3.8 Main Image:" run: cd linux/advanced/python/main/3.8 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Python 3.9 Main Image:" run: cd linux/advanced/python/main/3.9 && pwd && make build && make deploy - name: "Build and Deploy Python 3.10 Main Image:" run: cd linux/advanced/python/main/3.10 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Python 3.11 Main Image:" run: cd linux/advanced/python/main/3.11 && pwd && make build && make deploy @@ -47,6 +56,9 @@ jobs: - name: "Build and Deploy Python 3.13 Main Image:" run: cd linux/advanced/python/main/3.13 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean ################################################################################## @@ -68,24 +80,38 @@ jobs: - name: "Build and Deploy Python 3.6 Develop Image:" run: cd linux/advanced/python/develop/3.6 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean + - name: "Build and Deploy Python 3.7 Develop Image:" run: cd linux/advanced/python/develop/3.7 && pwd && make build && make deploy - name: "Build and Deploy Python 3.8 Develop Image:" run: cd linux/advanced/python/develop/3.8 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Python 3.9 Develop Image:" run: cd linux/advanced/python/develop/3.9 && pwd && make build && make deploy - name: "Build and Deploy Python 3.10 Develop Image:" run: cd linux/advanced/python/develop/3.10 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean + - name: "Build and Deploy Python 3.11 Develop Image:" run: cd linux/advanced/python/develop/3.11 && pwd && make build && make deploy - name: "Build and Deploy Python 3.12 Develop Image:" run: cd linux/advanced/python/develop/3.12 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Python 3.13 Develop Image:" run: cd linux/advanced/python/develop/3.13 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.vscode.images.yml b/.github/workflows/epicmorg.advanced.vscode.images.yml index 13b408e67..64da795a5 100644 --- a/.github/workflows/epicmorg.advanced.vscode.images.yml +++ b/.github/workflows/epicmorg.advanced.vscode.images.yml @@ -34,6 +34,9 @@ jobs: - name: "Build and Deploy Advanced Vscode Server Android Images:" run: cd linux/advanced/vscode-server/android && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Vscode Server CPP Images:" run: cd linux/advanced/vscode-server/cpp && pwd && make build && make deploy @@ -43,6 +46,9 @@ jobs: - name: "Build and Deploy Advanced Vscode Server Docker Images:" run: cd linux/advanced/vscode-server/docker && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Advanced Vscode Server dotnet Images:" run: cd linux/advanced/vscode-server/dotnet && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.giltab.runners.yml b/.github/workflows/epicmorg.base.images.giltab.runners.yml index 9e0e8481e..55bb491d3 100644 --- a/.github/workflows/epicmorg.base.images.giltab.runners.yml +++ b/.github/workflows/epicmorg.base.images.giltab.runners.yml @@ -53,6 +53,9 @@ jobs: - name: "Build and Deploy Gitlab Runner Atlassian SDK Image:" run: cd linux/ecosystem/gitlab/runner/atlassian-sdk && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Gitlab Runner dotNet SDK Image:" run: cd linux/ecosystem/gitlab/runner/dotnet-sdk && pwd && make build && make deploy @@ -68,6 +71,9 @@ jobs: - name: "Build and Deploy Gitlab Runner node15 Image:" run: cd linux/ecosystem/gitlab/runner/node15 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Gitlab Runner node16 Image:" run: cd linux/ecosystem/gitlab/runner/node16 && pwd && make build && make deploy @@ -83,6 +89,9 @@ jobs: - name: "Build and Deploy Gitlab Runner node20 Image:" run: cd linux/ecosystem/gitlab/runner/node20 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Gitlab Runner php7.2 Image:" run: cd linux/ecosystem/gitlab/runner/php7.2 && pwd && make build && make deploy @@ -92,6 +101,9 @@ jobs: - name: "Build and Deploy Gitlab Runner php7.4 Image:" run: cd linux/ecosystem/gitlab/runner/php7.4 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy Gitlab Runner php8.0 Image:" run: cd linux/ecosystem/gitlab/runner/php8.0 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.legacy.yml b/.github/workflows/epicmorg.base.images.legacy.yml index 5821c899b..0df27095f 100644 --- a/.github/workflows/epicmorg.base.images.legacy.yml +++ b/.github/workflows/epicmorg.base.images.legacy.yml @@ -96,7 +96,10 @@ jobs: - name: "Build and Deploy Debian 8 jdk21 Image:" run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy - + + - name: Cleanup + run: make docker-clean + ################################################################################## build-09-images: diff --git a/.github/workflows/epicmorg.base.images.nodejs.yml b/.github/workflows/epicmorg.base.images.nodejs.yml index da1e0a496..a32bb6be2 100644 --- a/.github/workflows/epicmorg.base.images.nodejs.yml +++ b/.github/workflows/epicmorg.base.images.nodejs.yml @@ -28,47 +28,56 @@ jobs: run: cd linux/ecosystem/nodejs/current && pwd && make build && make deploy - name: "Build and Deploy NodeJS 4 Image:" - run: cd linux/ecosystem/nodejs/node4 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node4 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 6 Image:" - run: cd linux/ecosystem/nodejs/node6 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node6 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 8 Image:" - run: cd linux/ecosystem/nodejs/node8 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node8 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy NodeJS 10 Image:" - run: cd linux/ecosystem/nodejs/node10 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node10 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 11 Image:" - run: cd linux/ecosystem/nodejs/node11 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node11 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 12 Image:" - run: cd linux/ecosystem/nodejs/node12 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node12 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 13 Image:" - run: cd linux/ecosystem/nodejs/node13 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node13 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 14 Image:" - run: cd linux/ecosystem/nodejs/node14 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node14 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 15 Image:" - run: cd linux/ecosystem/nodejs/node15 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node15 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy NodeJS 16 Image:" - run: cd linux/ecosystem/nodejs/node16 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node16 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 17 Image:" - run: cd linux/ecosystem/nodejs/node17 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node17 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 18 Image:" - run: cd linux/ecosystem/nodejs/node18 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node18 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 19 Image:" - run: cd linux/ecosystem/nodejs/node19 && pwd && make build && make deploy + run: cd linux/ecosystem/nodejs/outdated/node19 && pwd && make build && make deploy - name: "Build and Deploy NodeJS 20 Image:" run: cd linux/ecosystem/nodejs/node20 && pwd && make build && make deploy + - name: "Build and Deploy NodeJS 21 Image:" + run: cd linux/ecosystem/nodejs/node21 && pwd && make build && make deploy + ################################################################################## - name: Cleanup diff --git a/.github/workflows/epicmorg.base.images.postgresql.yml b/.github/workflows/epicmorg.base.images.postgresql.yml index 626985b9d..f6730ce21 100644 --- a/.github/workflows/epicmorg.base.images.postgresql.yml +++ b/.github/workflows/epicmorg.base.images.postgresql.yml @@ -38,6 +38,9 @@ jobs: - name: "Build and Deploy PostgreSQL 9.2 Image:" run: cd linux/ecosystem/postgres/9.2 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy PostgreSQL 9.3 Image:" run: cd linux/ecosystem/postgres/9.3 && pwd && make build && make deploy @@ -53,6 +56,9 @@ jobs: - name: "Build and Deploy PostgreSQL 10 Image:" run: cd linux/ecosystem/postgres/10 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy PostgreSQL 11 Image:" run: cd linux/ecosystem/postgres/11 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.teamcity.agents.yml b/.github/workflows/epicmorg.base.images.teamcity.agents.yml index 7352797a1..55fd6f1b9 100644 --- a/.github/workflows/epicmorg.base.images.teamcity.agents.yml +++ b/.github/workflows/epicmorg.base.images.teamcity.agents.yml @@ -47,6 +47,9 @@ jobs: - name: "Build and Deploy TeamCity Agent Android SDK Image:" run: cd linux/ecosystem/teamcity/agent/android-sdk && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy TeamCity Agent Atlassian SDK Image:" run: cd linux/ecosystem/teamcity/agent/atlassian-sdk && pwd && make build && make deploy @@ -62,6 +65,9 @@ jobs: - name: "Build and Deploy TeamCity Agent node14 Image:" run: cd linux/ecosystem/teamcity/agent/node14 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy TeamCity Agent node15 Image:" run: cd linux/ecosystem/teamcity/agent/node15 && pwd && make build && make deploy @@ -74,6 +80,9 @@ jobs: - name: "Build and Deploy TeamCity Agent node18 Image:" run: cd linux/ecosystem/teamcity/agent/node18 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy TeamCity Agent node19 Image:" run: cd linux/ecosystem/teamcity/agent/node19 && pwd && make build && make deploy @@ -86,6 +95,9 @@ jobs: - name: "Build and Deploy TeamCity Agent php7.3 Image:" run: cd linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy + + - name: Cleanup + run: make docker-clean - name: "Build and Deploy TeamCity Agent php7.4 Image:" run: cd linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.ecosysctem.misc.images.yml b/.github/workflows/epicmorg.ecosysctem.misc.images.yml index 41f543d66..f1d992682 100644 --- a/.github/workflows/epicmorg.ecosysctem.misc.images.yml +++ b/.github/workflows/epicmorg.ecosysctem.misc.images.yml @@ -72,6 +72,48 @@ jobs: - name: Test Make run: make + - name: Build and Deploy qBittorrent 4.4.0 + run: cd linux/ecosystem/qbittorrent/4.4.0 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.4.1 + run: cd linux/ecosystem/qbittorrent/4.4.1 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.4.2 + run: cd linux/ecosystem/qbittorrent/4.4.2 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.4.3 + run: cd linux/ecosystem/qbittorrent/4.4.3 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.4.4 + run: cd linux/ecosystem/qbittorrent/4.4.4 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.4.5 + run: cd linux/ecosystem/qbittorrent/4.4.5 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.0 + run: cd linux/ecosystem/qbittorrent/4.5.0 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.1 + run: cd linux/ecosystem/qbittorrent/4.5.1 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.2 + run: cd linux/ecosystem/qbittorrent/4.5.2 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.3 + run: cd linux/ecosystem/qbittorrent/4.5.3 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.4 + run: cd linux/ecosystem/qbittorrent/4.5.4 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.5.5 + run: cd linux/ecosystem/qbittorrent/4.5.5 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.6.0 + run: cd linux/ecosystem/qbittorrent/4.6.0 && make build && make deploy + + - name: Build and Deploy qBittorrent 4.6.1 + run: cd linux/ecosystem/qbittorrent/4.6.1 && make build && make deploy + - name: Build and Deploy qBittorrent 4.6.2 run: cd linux/ecosystem/qbittorrent/4.6.2 && make build && make deploy diff --git a/CHANGELOG.md b/CHANGELOG.md index b0b990d6a..314f8a979 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ * updated `LazyGIT` to `0.40.2` * updated `p4` to `23.2` in base images * updated `perforce` iamges - `p4` and `p4p` to `r23.1` and `r23.2` + * updated `qbittorrent` iamges + * updated `nodejs` iamges * `jan` * new versions of images * CVE-2023-22527 - RCE (Remote Code Execution) Vulnerability In Confluence Data Center and Confluence Server diff --git a/Makefile b/Makefile index d49c1b7bd..35601d762 100644 --- a/Makefile +++ b/Makefile @@ -572,21 +572,22 @@ ecosystem-electron-release-server-images: ecosystem-nodejs-images: cd `pwd`/linux/ecosystem/nodejs/current && pwd && make build && make deploy cd `pwd`/linux/ecosystem/nodejs/lts && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node4 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node6 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node8 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node10 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node11 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node12 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node13 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node14 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node15 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node16 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node18 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nodejs/node19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/node20 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/nodejs/node21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/outdated/node19 && pwd && make build && make deploy ecosystem-ninjam-image: cd `pwd`/linux/ecosystem/ninjam/latest && pwd && make build && make deploy @@ -596,6 +597,19 @@ ecosystem-vk2discord-images: ecosystem-qbittorrent-images: cd `pwd`/linux/ecosystem/qbittorrent/4.4.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.4.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.4.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.4.3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.4.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.4.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.5.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.6.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/qbittorrent/4.6.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/qbittorrent/4.6.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/qbittorrent/4.6.3 && pwd && make build && make deploy diff --git a/linux/advanced/python/main/2.7/.env b/linux/advanced/python/main/2.7/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/2.7/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/2.7/Dockerfile b/linux/advanced/python/main/2.7/Dockerfile index 111f50cdd..657fdfb6b 100644 --- a/linux/advanced/python/main/2.7/Dockerfile +++ b/linux/advanced/python/main/2.7/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,8 +29,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen @@ -37,12 +40,6 @@ RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y -################################################################## -# Version -################################################################## -RUN python --version -RUN pip --version - ################################################################## # installing utils ################################################################## @@ -68,22 +65,20 @@ RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | x RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -217,41 +212,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -266,9 +270,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -277,21 +284,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" ################################################################## # Version ################################################################## -RUN python --version -RUN pip --version +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/2.7/docker-compose.yml b/linux/advanced/python/main/2.7/docker-compose.yml index 18d350e89..30237bf67 100644 --- a/linux/advanced/python/main/2.7/docker-compose.yml +++ b/linux/advanced/python/main/2.7/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:2.7" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list index 867534422..02d1f6d13 100644 --- a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ buster main -deb-src https://packagecloud.io/github/git-lfs/debian/ buster main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ buster main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ buster main diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list index c09e7e566..9607a575b 100644 --- a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu cosmic main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu cosmic main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu cosmic main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu cosmic main diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list index 78be262bb..4b07d9ea8 100644 --- a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu cosmic main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu cosmic main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu cosmic main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu cosmic main diff --git a/linux/advanced/python/main/2.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/2.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/2.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.10/.env b/linux/advanced/python/main/3.10/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.10/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.10/Dockerfile b/linux/advanced/python/main/3.10/Dockerfile index ed3fca1b9..074156244 100644 --- a/linux/advanced/python/main/3.10/Dockerfile +++ b/linux/advanced/python/main/3.10/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,8 +29,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen @@ -37,15 +40,6 @@ RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y - -################################################################## -# Version -################################################################## -RUN python3 --version -RUN pip3 --version -RUN python --version -RUN pip --version - ################################################################## # installing utils ################################################################## @@ -71,22 +65,20 @@ RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | x RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -219,41 +211,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -268,9 +269,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -279,22 +283,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" ################################################################## # Version ################################################################## -RUN python3 --version -RUN pip3 --version -RUN python --version -RUN pip --version +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.10/docker-compose.yml b/linux/advanced/python/main/3.10/docker-compose.yml index 5339cab30..c904df07e 100644 --- a/linux/advanced/python/main/3.10/docker-compose.yml +++ b/linux/advanced/python/main/3.10/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.10" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.10/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.10/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.10/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.11/.env b/linux/advanced/python/main/3.11/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.11/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.11/Dockerfile b/linux/advanced/python/main/3.11/Dockerfile index 79b356524..e0e549f42 100644 --- a/linux/advanced/python/main/3.11/Dockerfile +++ b/linux/advanced/python/main/3.11/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,15 +29,13 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 54404762BBB6E853 -RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys - RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y @@ -60,25 +59,26 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio software-properties-common \ sudo +RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys +RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -211,41 +211,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -260,9 +269,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -271,14 +283,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.11/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.11/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.11/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.12/.env b/linux/advanced/python/main/3.12/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.12/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.12/Dockerfile b/linux/advanced/python/main/3.12/Dockerfile index 03796bc74..e99ad634f 100644 --- a/linux/advanced/python/main/3.12/Dockerfile +++ b/linux/advanced/python/main/3.12/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,15 +29,13 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 -RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys - RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y @@ -60,25 +59,26 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio software-properties-common \ sudo +RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys +RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -182,7 +182,6 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio xz-utils \ zip - ################################################################## # installing fs-tools ################################################################## @@ -211,41 +210,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -260,9 +268,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -271,14 +282,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.12/docker-compose.yml b/linux/advanced/python/main/3.12/docker-compose.yml index 48c967214..6f7bc5d40 100644 --- a/linux/advanced/python/main/3.12/docker-compose.yml +++ b/linux/advanced/python/main/3.12/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.12" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.13/.env b/linux/advanced/python/main/3.13/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.13/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.13/Dockerfile b/linux/advanced/python/main/3.13/Dockerfile index 3e1b46605..2d12ff7cd 100644 --- a/linux/advanced/python/main/3.13/Dockerfile +++ b/linux/advanced/python/main/3.13/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,15 +29,13 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 -RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys - RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y @@ -60,25 +59,26 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio software-properties-common \ sudo +RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys +RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -210,41 +210,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -259,9 +268,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -270,14 +282,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.13/docker-compose.yml b/linux/advanced/python/main/3.13/docker-compose.yml index 989ba2936..0f6c8d8a0 100644 --- a/linux/advanced/python/main/3.13/docker-compose.yml +++ b/linux/advanced/python/main/3.13/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.13" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.6/.env b/linux/advanced/python/main/3.6/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.6/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.6/Dockerfile b/linux/advanced/python/main/3.6/Dockerfile index 117d30a3e..7294dac60 100644 --- a/linux/advanced/python/main/3.6/Dockerfile +++ b/linux/advanced/python/main/3.6/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,8 +29,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen @@ -62,22 +65,20 @@ RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | x RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -208,41 +209,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -257,9 +267,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -268,14 +281,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.6/docker-compose.yml b/linux/advanced/python/main/3.6/docker-compose.yml index ecc49ca61..69f712f64 100644 --- a/linux/advanced/python/main/3.6/docker-compose.yml +++ b/linux/advanced/python/main/3.6/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.6" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.6/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.7/.env b/linux/advanced/python/main/3.7/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.7/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.7/Dockerfile b/linux/advanced/python/main/3.7/Dockerfile index b357745cc..cd891db25 100644 --- a/linux/advanced/python/main/3.7/Dockerfile +++ b/linux/advanced/python/main/3.7/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,8 +29,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen @@ -62,22 +65,20 @@ RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | x RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -209,41 +210,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -258,9 +268,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -269,14 +282,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.7/docker-compose.yml b/linux/advanced/python/main/3.7/docker-compose.yml index c794c7399..be1772379 100644 --- a/linux/advanced/python/main/3.7/docker-compose.yml +++ b/linux/advanced/python/main/3.7/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.7" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.7/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.8/.env b/linux/advanced/python/main/3.8/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.8/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.8/Dockerfile b/linux/advanced/python/main/3.8/Dockerfile index 2c8291b62..b6330d97a 100644 --- a/linux/advanced/python/main/3.8/Dockerfile +++ b/linux/advanced/python/main/3.8/Dockerfile @@ -209,41 +209,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -258,9 +267,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -269,14 +281,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.8/docker-compose.yml b/linux/advanced/python/main/3.8/docker-compose.yml index 4c189bdd5..a1ac08117 100644 --- a/linux/advanced/python/main/3.8/docker-compose.yml +++ b/linux/advanced/python/main/3.8/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.8" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.8/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.9/.env b/linux/advanced/python/main/3.9/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/advanced/python/main/3.9/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/advanced/python/main/3.9/Dockerfile b/linux/advanced/python/main/3.9/Dockerfile index fdf2db9c6..2837272f6 100644 --- a/linux/advanced/python/main/3.9/Dockerfile +++ b/linux/advanced/python/main/3.9/Dockerfile @@ -21,6 +21,7 @@ LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4w # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -28,8 +29,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen @@ -62,22 +65,21 @@ RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | x RUN update-ca-certificates ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz ################################################################## # update lists @@ -181,7 +183,6 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio xz-utils \ zip - ################################################################## # installing fs-tools ################################################################## @@ -210,41 +211,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -259,9 +269,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -270,14 +283,46 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Version +################################################################## +RUN echo "=============================================" && \ + echo python3 $(python3 --version) && \ + echo pip3 $(pip3 --version) && \ + echo python $(python --version) && \ + echo pip $(pip --version) && \ + echo "=============================================" ################################################################## # Generate ssl key ################################################################## -#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # update locales diff --git a/linux/advanced/python/main/3.9/docker-compose.yml b/linux/advanced/python/main/3.9/docker-compose.yml index 38f550241..13b0da696 100644 --- a/linux/advanced/python/main/3.9/docker-compose.yml +++ b/linux/advanced/python/main/3.9/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/python:3.9" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..666e4e213 --- /dev/null +++ b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..9c02e2ac9 --- /dev/null +++ b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg deleted file mode 100644 index ce02b812e..000000000 Binary files a/linux/advanced/python/main/3.9/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg and /dev/null differ diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile index af4982bea..20d3346e1 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile @@ -3,22 +3,20 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -142,41 +140,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -191,9 +198,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -202,26 +212,31 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" ################################################################## # dumb init ################################################################## -ARG DUMB_INIT_VERSION=1.2.5 -RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 --random-wait -O /usr/bin/dumb-init && \ - chmod +x /usr/bin/dumb-init && \ - dumb-init --version +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" ################################################################## -# grab gosu for easy step-down from root +# gosu for easy step-down from root ################################################################## -ARG GOSU_VER=1.17 -RUN wget -q --no-check-certificate -c https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 --random-wait -O /usr/local/bin/gosu && \ - chmod +x /usr/local/bin/gosu && \ - gosu --version +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" ################################################################## # Generate ssl key diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/docker-compose.yml b/linux/ecosystem/epicmorg/debian/10-buster/main/docker-compose.yml index 314c3ae3b..f8b3ec98d 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/debian:buster" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/github_git-lfs.list b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/github_git-lfs.list index 867534422..02d1f6d13 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ buster main -deb-src https://packagecloud.io/github/git-lfs/debian/ buster main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ buster main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ buster main diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-mainline.list index fbd07f061..f4839dbfb 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu disco main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu disco main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu disco main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu disco main diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-stable.list index 38afb723c..4ab64019d 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu disco main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu disco main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu disco main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu disco main diff --git a/linux/ecosystem/epicmorg/debian/10-buster/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/slim/Dockerfile index d2984712a..62f3bf3ce 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/slim/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/slim/Dockerfile @@ -20,6 +20,7 @@ ARG DEBIAN_FRONTEND=noninteractive # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -27,7 +28,7 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg +COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp @@ -35,7 +36,6 @@ COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN mkdir -p /etc/apt/keyrings RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y diff --git a/linux/advanced/python/main/2.7/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg rename to linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg diff --git a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list.d/multimedia.sources.list b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list.d/multimedia.sources.list index d47de14ab..90621111e 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list.d/multimedia.sources.list +++ b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list.d/multimedia.sources.list @@ -1,5 +1,5 @@ ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ buster main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ buster main non-free -#deb http://httpredir.debian.org/debian-multimedia/ buster-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ buster-backports main +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ buster main non-free +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ buster main non-free +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ buster-backports main +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ buster-backports main diff --git a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/.env b/linux/ecosystem/epicmorg/debian/11-bullseye/main/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile index a72a6a35f..230314671 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile @@ -3,22 +3,20 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -141,41 +139,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -190,9 +197,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -201,25 +211,31 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" ################################################################## # dumb init ################################################################## -ARG DUMB_INIT_VERSION=1.2.5 -RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 --random-wait -O /usr/bin/dumb-init && \ - chmod +x /usr/bin/dumb-init && \ - dumb-init --version +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" ################################################################## -# grab gosu for easy step-down from root +# gosu for easy step-down from root ################################################################## -ARG GOSU_VER=1.17 -RUN wget -q --no-check-certificate -c https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 --random-wait -O /usr/local/bin/gosu && \ - chmod +x /usr/local/bin/gosu && \ - gosu --version +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" ################################################################## # Generate ssl key diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/main/docker-compose.yml index ed5822de9..fc4d7dc64 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/debian:bullseye" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/github_git-lfs.list b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/github_git-lfs.list index 8cf93d426..af7b51c2d 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bullseye main -deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-mainline.list index c48739d8d..3df778add 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,3 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu focal main diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-stable.list index 0f7803eaf..d2ef6c06d 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/Dockerfile index c4c93e17c..78221fe03 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/Dockerfile @@ -20,6 +20,7 @@ ARG DEBIAN_FRONTEND=noninteractive # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -27,7 +28,7 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg +COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp @@ -35,7 +36,6 @@ COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN mkdir -p /etc/apt/keyrings RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y diff --git a/linux/advanced/python/main/3.10/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg rename to linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list.d/multimedia.sources.list b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list.d/multimedia.sources.list index 9c8ffc88a..012ab4649 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list.d/multimedia.sources.list +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list.d/multimedia.sources.list @@ -1,5 +1,5 @@ ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullsyeye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullsyeye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullsyeye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullsyeye-backports main +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bullsyeye main non-free +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bullsyeye main non-free +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bullsyeye-backports main +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bullsyeye-backports main diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/.env b/linux/ecosystem/epicmorg/debian/12-bookworm/main/.env new file mode 100644 index 000000000..4cbad3915 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/.env @@ -0,0 +1,29 @@ +################################################################## +# perforce client binary +################################################################## +P4_VERSION=r23.2 +P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +################################################################## +# 7z official binary +################################################################## +SZ_VERSION=7z2400 +SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + +################################################################## +# LazyGit official binary +################################################################## +LZGIT_VERSION=0.40.2 +LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz + +################################################################## +# dumb init +################################################################## +DUMB_INIT_VERSION=1.2.5 +DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +################################################################## +# gosu +################################################################## +GOSU_VER=1.17 +GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile index d47ff978c..70a98bf46 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile @@ -3,22 +3,20 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ################################################################## -# perforce client binary +# ARGuments ################################################################## -ARG P4_VERSION=r23.2 -ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 -################################################################## -# 7z official binary -################################################################## -ARG SZ_VERSION=7z2400 -ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz - -################################################################## -# LazyGit official binary -################################################################## -ARG LZGIT_VERSION=0.40.2 -ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +#configured by dockerfile / .ENV +ARG P4_VERSION +ARG P4_DOWNLOAD_URL +ARG SZ_VERSION +ARG SZ_DOWNLOAD_URL +ARG LZGIT_VERSION +ARG LZGIT_DOWNLOAD_URL +ARG DUMB_INIT_VERSION +ARG DUMB_INIT_DOWNLOAD_URL +ARG GOSU_VER +ARG GOSU_DOWNLOAD_URL ################################################################## # update lists @@ -141,41 +139,50 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## # git fresh binary ################################################################## -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - git && \ - git --version + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" ################################################################## # git-lfs official binary ################################################################## -#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \ -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ rm -rfv /etc/apt/sources.list.d/github_git-lfs.list COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ git \ git-lfs && \ - git --version && \ - git-lfs install --skip-repo && \ - git-lfs --version + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" ################################################################## # gh official binary ################################################################## -RUN wget -c https://cli.github.com/packages/githubcli-archive-keyring.gpg -O /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - chmod go+r /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg && \ - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ - gh && \ - gh --version + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" ################################################################## # Install p4client @@ -190,9 +197,12 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/7z && \ tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ chmod +x /tmp/7z/7zz && \ - mv -fv /tmp/7z/7zz /usr/bin/ && \ - 7zz | head -4 && \ - 7z | head -4 + mv -fv /tmp/7z/7zz /usr/bin/ + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" ################################################################## # Install LazyGit official binary @@ -201,25 +211,31 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue mkdir -p /tmp/lazygit && \ tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \ chmod +x /tmp/lazygit/lazygit && \ - mv -fv /tmp/lazygit/lazygit /usr/bin/ && \ - echo "lazygit version:" && \ - lazygit --version + mv -fv /tmp/lazygit/lazygit /usr/bin/ + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" ################################################################## # dumb init ################################################################## -ARG DUMB_INIT_VERSION=1.2.5 -RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 --random-wait -O /usr/bin/dumb-init && \ - chmod +x /usr/bin/dumb-init && \ - dumb-init --version +RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \ + chmod +x /usr/bin/dumb-init + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" ################################################################## -# grab gosu for easy step-down from root +# gosu for easy step-down from root ################################################################## -ARG GOSU_VER=1.17 -RUN wget -q --no-check-certificate -c https://github.com/tianon/gosu/releases/download/${GOSU_VER}/gosu-amd64 --random-wait -O /usr/local/bin/gosu && \ - chmod +x /usr/local/bin/gosu && \ - gosu --version +RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \ + chmod +x /usr/local/bin/gosu + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" ################################################################## # Generate ssl key diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/main/docker-compose.yml index 3f434511d..cbeb80db1 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/docker-compose.yml @@ -4,3 +4,14 @@ services: image: "epicmorg/debian:bookworm" build: context: . + args: + P4_VERSION: ${P4_VERSION} + P4_DOWNLOAD_URL: ${P4_DOWNLOAD_URL} + SZ_VERSION: ${SZ_VERSION} + SZ_DOWNLOAD_URL: ${SZ_DOWNLOAD_URL} + LZGIT_VERSION: ${LZGIT_VERSION} + LZGIT_DOWNLOAD_URL: ${LZGIT_DOWNLOAD_URL} + DUMB_INIT_VERSION: ${DUMB_INIT_VERSION} + DUMB_INIT_DOWNLOAD_URL: ${DUMB_INIT_DOWNLOAD_URL} + GOSU_VER: ${GOSU_VER} + GOSU_DOWNLOAD_URL: ${GOSU_DOWNLOAD_URL} diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/github_git-lfs.list b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/github_git-lfs.list index bd13068d0..bf8b9bbaf 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/github_git-lfs.list +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/github_git-lfs.list @@ -1,2 +1,2 @@ -deb https://packagecloud.io/github/git-lfs/debian/ bookworm main -deb-src https://packagecloud.io/github/git-lfs/debian/ bookworm main +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bookworm main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ bookworm main diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-mainline.list index 43280b672..09dc5aa02 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-mainline.list +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -1,3 +1,5 @@ # mainline -deb https://ppa.launchpadcontent.net/git-core/candidate/ubuntu jammy main -deb-src https://ppa.launchpadcontent.net/git-core/candidate/ubuntu jammy main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu jammy main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu jammy main + + diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-stable.list index 08f372cbc..17a2907e4 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-stable.list +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/etc/apt/sources.list.d/launchpad_git-stable.list @@ -1,3 +1,3 @@ # stable -deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy main -deb-src https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy main +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy main diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile index f83930bd6..ef46bbd3c 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile @@ -20,6 +20,7 @@ ARG DEBIAN_FRONTEND=noninteractive # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings ################################################################## # sources list @@ -27,7 +28,7 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN rm -rfv /etc/apt/sources.list RUN rm -rfv /etc/locale.gen -COPY etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg +COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp @@ -35,7 +36,6 @@ COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen -RUN mkdir -p /etc/apt/keyrings RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y diff --git a/linux/advanced/python/main/3.11/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg rename to linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list.d/multimedia.sources.list b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list.d/multimedia.sources.list index 464b0f9b4..8213002b1 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list.d/multimedia.sources.list +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list.d/multimedia.sources.list @@ -1,5 +1,5 @@ ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bookworm main non-free non-free-firmware -#deb-src http://httpredir.debian.org/debian-multimedia/ bookworm main non-free non-free-firmware -#deb http://httpredir.debian.org/debian-multimedia/ bookworm-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bookworm-backports main +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bookworm main non-free non-free-firmware +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bookworm main non-free non-free-firmware +#deb [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bookworm-backports main +#deb-src [signed-by=/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg] http://httpredir.debian.org/debian-multimedia/ bookworm-backports main diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg deleted file mode 100644 index a4f2b1006..000000000 Binary files a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg and /dev/null differ diff --git a/linux/ecosystem/nodejs/current/Dockerfile b/linux/ecosystem/nodejs/current/Dockerfile index e0129e9ce..53a27232b 100644 --- a/linux/ecosystem/nodejs/current/Dockerfile +++ b/linux/ecosystem/nodejs/current/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -9,18 +9,21 @@ RUN groupadd node && \ useradd --gid node --shell /bin/bash --create-home node RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ - echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/yarnpkg.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/yarnpkg.gpg] https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm -# curl -L https://www.npmjs.com/install.sh | sh -# npm install -g npm +#RUN curl -L https://www.npmjs.com/install.sh | bash && \ +# npm install -g npm RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/lts/Dockerfile b/linux/ecosystem/nodejs/lts/Dockerfile index e83478479..fe431a679 100644 --- a/linux/ecosystem/nodejs/lts/Dockerfile +++ b/linux/ecosystem/nodejs/lts/Dockerfile @@ -9,18 +9,21 @@ RUN groupadd node && \ useradd --gid node --shell /bin/bash --create-home node RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ - echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/yarnpkg.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/yarnpkg.gpg] https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm -# curl -L https://www.npmjs.com/install.sh | sh -# npm install -g npm +#RUN curl -L https://www.npmjs.com/install.sh | bash && \ +# npm install -g npm RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## @@ -31,4 +34,4 @@ RUN apt clean -y && \ apt autoclean -y && \ rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/cache/apt/archives/*.deb && \ - rm -rfv /tmp/* \ No newline at end of file + rm -rfv /tmp/* diff --git a/linux/ecosystem/nodejs/node20/Dockerfile b/linux/ecosystem/nodejs/node20/Dockerfile index 9ee575833..f7294a1fc 100644 --- a/linux/ecosystem/nodejs/node20/Dockerfile +++ b/linux/ecosystem/nodejs/node20/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -8,16 +8,19 @@ ARG DEBIAN_FRONTEND=noninteractive RUN groupadd node && \ useradd --gid node --shell /bin/bash --create-home node -RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ - echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ +ENV NODE_MAJOR=20 + +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list && \ + curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/yarnpkg.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/yarnpkg.gpg] https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ apt-get install -y nodejs yarn && \ - npm install -g pnpm + npm install -g pnpm -# curl -L https://www.npmjs.com/install.sh | sh -# npm install -g npm +#RUN curl -L https://www.npmjs.com/install.sh | bash && \ +# npm install -g npm RUN echo "=============================================" && \ echo node $(node --version) && \ diff --git a/linux/ecosystem/nodejs/node21/Dockerfile b/linux/ecosystem/nodejs/node21/Dockerfile index 6b5f52e9a..dded4114a 100644 --- a/linux/ecosystem/nodejs/node21/Dockerfile +++ b/linux/ecosystem/nodejs/node21/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -8,16 +8,19 @@ ARG DEBIAN_FRONTEND=noninteractive RUN groupadd node && \ useradd --gid node --shell /bin/bash --create-home node -RUN curl -sL https://deb.nodesource.com/setup_21.x | bash - && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ - echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ +ENV NODE_MAJOR=21 + +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list && \ + curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/yarnpkg.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/yarnpkg.gpg] https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ apt-get install -y nodejs yarn && \ - npm install -g pnpm + npm install -g pnpm -# curl -L https://www.npmjs.com/install.sh | sh -# npm install -g npm +#RUN curl -L https://www.npmjs.com/install.sh | bash && \ +# npm install -g npm RUN echo "=============================================" && \ echo node $(node --version) && \ diff --git a/linux/ecosystem/nodejs/node10/Dockerfile b/linux/ecosystem/nodejs/outdated/node10/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node10/Dockerfile rename to linux/ecosystem/nodejs/outdated/node10/Dockerfile diff --git a/linux/ecosystem/nodejs/node10/Makefile b/linux/ecosystem/nodejs/outdated/node10/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node10/Makefile rename to linux/ecosystem/nodejs/outdated/node10/Makefile diff --git a/linux/ecosystem/nodejs/node10/README.md b/linux/ecosystem/nodejs/outdated/node10/README.md similarity index 100% rename from linux/ecosystem/nodejs/node10/README.md rename to linux/ecosystem/nodejs/outdated/node10/README.md diff --git a/linux/ecosystem/nodejs/node10/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node10/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node10/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node10/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node11/Dockerfile b/linux/ecosystem/nodejs/outdated/node11/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node11/Dockerfile rename to linux/ecosystem/nodejs/outdated/node11/Dockerfile diff --git a/linux/ecosystem/nodejs/node11/Makefile b/linux/ecosystem/nodejs/outdated/node11/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node11/Makefile rename to linux/ecosystem/nodejs/outdated/node11/Makefile diff --git a/linux/ecosystem/nodejs/node11/README.md b/linux/ecosystem/nodejs/outdated/node11/README.md similarity index 100% rename from linux/ecosystem/nodejs/node11/README.md rename to linux/ecosystem/nodejs/outdated/node11/README.md diff --git a/linux/ecosystem/nodejs/node11/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node11/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node11/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node11/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node12/Dockerfile b/linux/ecosystem/nodejs/outdated/node12/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node12/Dockerfile rename to linux/ecosystem/nodejs/outdated/node12/Dockerfile diff --git a/linux/ecosystem/nodejs/node12/Makefile b/linux/ecosystem/nodejs/outdated/node12/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node12/Makefile rename to linux/ecosystem/nodejs/outdated/node12/Makefile diff --git a/linux/ecosystem/nodejs/node12/README.md b/linux/ecosystem/nodejs/outdated/node12/README.md similarity index 100% rename from linux/ecosystem/nodejs/node12/README.md rename to linux/ecosystem/nodejs/outdated/node12/README.md diff --git a/linux/ecosystem/nodejs/node12/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node12/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node12/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node12/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node13/Dockerfile b/linux/ecosystem/nodejs/outdated/node13/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node13/Dockerfile rename to linux/ecosystem/nodejs/outdated/node13/Dockerfile diff --git a/linux/ecosystem/nodejs/node13/Makefile b/linux/ecosystem/nodejs/outdated/node13/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node13/Makefile rename to linux/ecosystem/nodejs/outdated/node13/Makefile diff --git a/linux/ecosystem/nodejs/node13/README.md b/linux/ecosystem/nodejs/outdated/node13/README.md similarity index 100% rename from linux/ecosystem/nodejs/node13/README.md rename to linux/ecosystem/nodejs/outdated/node13/README.md diff --git a/linux/ecosystem/nodejs/node13/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node13/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node13/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node13/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node14/Dockerfile b/linux/ecosystem/nodejs/outdated/node14/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node14/Dockerfile rename to linux/ecosystem/nodejs/outdated/node14/Dockerfile diff --git a/linux/ecosystem/nodejs/node14/Makefile b/linux/ecosystem/nodejs/outdated/node14/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node14/Makefile rename to linux/ecosystem/nodejs/outdated/node14/Makefile diff --git a/linux/ecosystem/nodejs/node14/README.md b/linux/ecosystem/nodejs/outdated/node14/README.md similarity index 100% rename from linux/ecosystem/nodejs/node14/README.md rename to linux/ecosystem/nodejs/outdated/node14/README.md diff --git a/linux/ecosystem/nodejs/node14/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node14/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node14/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node14/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node15/Dockerfile b/linux/ecosystem/nodejs/outdated/node15/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node15/Dockerfile rename to linux/ecosystem/nodejs/outdated/node15/Dockerfile diff --git a/linux/ecosystem/nodejs/node15/Makefile b/linux/ecosystem/nodejs/outdated/node15/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node15/Makefile rename to linux/ecosystem/nodejs/outdated/node15/Makefile diff --git a/linux/ecosystem/nodejs/node15/README.md b/linux/ecosystem/nodejs/outdated/node15/README.md similarity index 100% rename from linux/ecosystem/nodejs/node15/README.md rename to linux/ecosystem/nodejs/outdated/node15/README.md diff --git a/linux/ecosystem/nodejs/node15/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node15/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node15/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node15/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node16/Dockerfile b/linux/ecosystem/nodejs/outdated/node16/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node16/Dockerfile rename to linux/ecosystem/nodejs/outdated/node16/Dockerfile diff --git a/linux/ecosystem/nodejs/node16/Makefile b/linux/ecosystem/nodejs/outdated/node16/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node16/Makefile rename to linux/ecosystem/nodejs/outdated/node16/Makefile diff --git a/linux/ecosystem/nodejs/node16/README.md b/linux/ecosystem/nodejs/outdated/node16/README.md similarity index 100% rename from linux/ecosystem/nodejs/node16/README.md rename to linux/ecosystem/nodejs/outdated/node16/README.md diff --git a/linux/ecosystem/nodejs/node16/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node16/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node16/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node16/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node17/Dockerfile b/linux/ecosystem/nodejs/outdated/node17/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node17/Dockerfile rename to linux/ecosystem/nodejs/outdated/node17/Dockerfile diff --git a/linux/ecosystem/nodejs/node17/Makefile b/linux/ecosystem/nodejs/outdated/node17/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node17/Makefile rename to linux/ecosystem/nodejs/outdated/node17/Makefile diff --git a/linux/ecosystem/nodejs/node17/README.md b/linux/ecosystem/nodejs/outdated/node17/README.md similarity index 100% rename from linux/ecosystem/nodejs/node17/README.md rename to linux/ecosystem/nodejs/outdated/node17/README.md diff --git a/linux/ecosystem/nodejs/node17/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node17/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node17/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node17/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node18/Dockerfile b/linux/ecosystem/nodejs/outdated/node18/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node18/Dockerfile rename to linux/ecosystem/nodejs/outdated/node18/Dockerfile diff --git a/linux/ecosystem/nodejs/node18/Makefile b/linux/ecosystem/nodejs/outdated/node18/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node18/Makefile rename to linux/ecosystem/nodejs/outdated/node18/Makefile diff --git a/linux/ecosystem/nodejs/node18/README.md b/linux/ecosystem/nodejs/outdated/node18/README.md similarity index 100% rename from linux/ecosystem/nodejs/node18/README.md rename to linux/ecosystem/nodejs/outdated/node18/README.md diff --git a/linux/ecosystem/nodejs/node18/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node18/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node18/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node18/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node19/Dockerfile b/linux/ecosystem/nodejs/outdated/node19/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node19/Dockerfile rename to linux/ecosystem/nodejs/outdated/node19/Dockerfile diff --git a/linux/ecosystem/nodejs/node19/Makefile b/linux/ecosystem/nodejs/outdated/node19/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node19/Makefile rename to linux/ecosystem/nodejs/outdated/node19/Makefile diff --git a/linux/ecosystem/nodejs/node19/README.md b/linux/ecosystem/nodejs/outdated/node19/README.md similarity index 100% rename from linux/ecosystem/nodejs/node19/README.md rename to linux/ecosystem/nodejs/outdated/node19/README.md diff --git a/linux/ecosystem/nodejs/node19/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node19/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node19/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node19/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node4/Dockerfile b/linux/ecosystem/nodejs/outdated/node4/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node4/Dockerfile rename to linux/ecosystem/nodejs/outdated/node4/Dockerfile diff --git a/linux/ecosystem/nodejs/node4/Makefile b/linux/ecosystem/nodejs/outdated/node4/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node4/Makefile rename to linux/ecosystem/nodejs/outdated/node4/Makefile diff --git a/linux/ecosystem/nodejs/node4/README.md b/linux/ecosystem/nodejs/outdated/node4/README.md similarity index 100% rename from linux/ecosystem/nodejs/node4/README.md rename to linux/ecosystem/nodejs/outdated/node4/README.md diff --git a/linux/ecosystem/nodejs/node4/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node4/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node4/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node4/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node6/Dockerfile b/linux/ecosystem/nodejs/outdated/node6/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node6/Dockerfile rename to linux/ecosystem/nodejs/outdated/node6/Dockerfile diff --git a/linux/ecosystem/nodejs/node6/Makefile b/linux/ecosystem/nodejs/outdated/node6/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node6/Makefile rename to linux/ecosystem/nodejs/outdated/node6/Makefile diff --git a/linux/ecosystem/nodejs/node6/README.md b/linux/ecosystem/nodejs/outdated/node6/README.md similarity index 100% rename from linux/ecosystem/nodejs/node6/README.md rename to linux/ecosystem/nodejs/outdated/node6/README.md diff --git a/linux/ecosystem/nodejs/node6/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node6/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node6/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node6/docker-compose.yml diff --git a/linux/ecosystem/nodejs/node8/Dockerfile b/linux/ecosystem/nodejs/outdated/node8/Dockerfile similarity index 100% rename from linux/ecosystem/nodejs/node8/Dockerfile rename to linux/ecosystem/nodejs/outdated/node8/Dockerfile diff --git a/linux/ecosystem/nodejs/node8/Makefile b/linux/ecosystem/nodejs/outdated/node8/Makefile similarity index 100% rename from linux/ecosystem/nodejs/node8/Makefile rename to linux/ecosystem/nodejs/outdated/node8/Makefile diff --git a/linux/ecosystem/nodejs/node8/README.md b/linux/ecosystem/nodejs/outdated/node8/README.md similarity index 100% rename from linux/ecosystem/nodejs/node8/README.md rename to linux/ecosystem/nodejs/outdated/node8/README.md diff --git a/linux/ecosystem/nodejs/node8/docker-compose.yml b/linux/ecosystem/nodejs/outdated/node8/docker-compose.yml similarity index 100% rename from linux/ecosystem/nodejs/node8/docker-compose.yml rename to linux/ecosystem/nodejs/outdated/node8/docker-compose.yml diff --git a/linux/ecosystem/perforce/base/r16.2/Dockerfile b/linux/ecosystem/perforce/base/r16.2/Dockerfile index 8994e1cbf..24db7b3a2 100644 --- a/linux/ecosystem/perforce/base/r16.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r16.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r17.1/Dockerfile b/linux/ecosystem/perforce/base/r17.1/Dockerfile index e9d87a870..4265122ed 100644 --- a/linux/ecosystem/perforce/base/r17.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r17.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r17.2/Dockerfile b/linux/ecosystem/perforce/base/r17.2/Dockerfile index c30da8165..7788ee327 100644 --- a/linux/ecosystem/perforce/base/r17.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r17.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r18.1/Dockerfile b/linux/ecosystem/perforce/base/r18.1/Dockerfile index d9f4643f8..1fd379240 100644 --- a/linux/ecosystem/perforce/base/r18.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r18.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r18.2/Dockerfile b/linux/ecosystem/perforce/base/r18.2/Dockerfile index ce7f36395..ddaca6bcb 100644 --- a/linux/ecosystem/perforce/base/r18.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r18.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r19.1/Dockerfile b/linux/ecosystem/perforce/base/r19.1/Dockerfile index 50cac64ea..fa19c21db 100644 --- a/linux/ecosystem/perforce/base/r19.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r19.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r19.2/Dockerfile b/linux/ecosystem/perforce/base/r19.2/Dockerfile index 5d1397eeb..7dff116d4 100644 --- a/linux/ecosystem/perforce/base/r19.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r19.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r20.1/Dockerfile b/linux/ecosystem/perforce/base/r20.1/Dockerfile index ab7b82420..a526926d7 100644 --- a/linux/ecosystem/perforce/base/r20.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r20.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r20.2/Dockerfile b/linux/ecosystem/perforce/base/r20.2/Dockerfile index 913fc0c9f..25e9cdd05 100644 --- a/linux/ecosystem/perforce/base/r20.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r20.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r21.1/Dockerfile b/linux/ecosystem/perforce/base/r21.1/Dockerfile index 1c916c5b9..d934d422d 100644 --- a/linux/ecosystem/perforce/base/r21.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r21.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r21.2/Dockerfile b/linux/ecosystem/perforce/base/r21.2/Dockerfile index a06ae1954..781d9e88a 100644 --- a/linux/ecosystem/perforce/base/r21.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r21.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r22.1/Dockerfile b/linux/ecosystem/perforce/base/r22.1/Dockerfile index 5bb2748ee..fc7c0728a 100644 --- a/linux/ecosystem/perforce/base/r22.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r22.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r23.1/Dockerfile b/linux/ecosystem/perforce/base/r23.1/Dockerfile index 975231221..ff8ed12f2 100644 --- a/linux/ecosystem/perforce/base/r23.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r23.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/perforce/base/r23.2/Dockerfile b/linux/ecosystem/perforce/base/r23.2/Dockerfile index 5bb2748ee..fc7c0728a 100644 --- a/linux/ecosystem/perforce/base/r23.2/Dockerfile +++ b/linux/ecosystem/perforce/base/r23.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bullseye +FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/qbittorrent/4.4.0/.env b/linux/ecosystem/qbittorrent/4.4.0/.env new file mode 100644 index 000000000..600b1728c --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.0 +LT1_RELEASE=1.2.15 +LT2_RELEASE=2.0.5 diff --git a/linux/ecosystem/qbittorrent/4.4.0/Dockerfile b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile index 19f8f2662..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.4.0/Dockerfile +++ b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.4.0 -ENV QBT_LIBTORRENT_VERSION=2.0.5 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.4.0/Makefile b/linux/ecosystem/qbittorrent/4.4.0/Makefile index b414ac9d6..89eb81b08 100644 --- a/linux/ecosystem/qbittorrent/4.4.0/Makefile +++ b/linux/ecosystem/qbittorrent/4.4.0/Makefile @@ -7,6 +7,7 @@ app: build: make qbt-libtorrent2 + make qbt make qbt-libtorrent1 deploy: @@ -19,6 +20,10 @@ clean: docker volume prune -f docker system prune -af +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + qbt-libtorrent2: docker-compose build --compress --parallel --progress plain qbt-libtorrent2 docker-compose push qbt-libtorrent2 diff --git a/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml index 68555e194..240616170 100644 --- a/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml +++ b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml @@ -1,15 +1,24 @@ version: '3' services: qbt: - image: "epicmorg/qbittorrent:4.4.0" + image: "epicmorg/qbittorrent:${QBT_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent2: - image: "epicmorg/qbittorrent:4.4.0-libtorrent2.0.5" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent1: - image: "epicmorg/qbittorrent:4.4.0-libtorrent1.2.15" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" build: context: . - dockerfile: Dockerfile.lt1 + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.1/.env b/linux/ecosystem/qbittorrent/4.4.1/.env new file mode 100644 index 000000000..3883e4ae9 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.1 +LT1_RELEASE=1.2.15 +LT2_RELEASE=2.0.5 diff --git a/linux/ecosystem/qbittorrent/4.4.0/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.4.1/Dockerfile similarity index 94% rename from linux/ecosystem/qbittorrent/4.4.0/Dockerfile.lt1 rename to linux/ecosystem/qbittorrent/4.4.1/Dockerfile index a78532ae5..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.4.0/Dockerfile.lt1 +++ b/linux/ecosystem/qbittorrent/4.4.1/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.4.0 -ENV QBT_LIBTORRENT_VERSION=1.2.15 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.4.1/Makefile b/linux/ecosystem/qbittorrent/4.4.1/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.4.1/README.md b/linux/ecosystem/qbittorrent/4.4.1/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.4.1/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.1/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.4.1/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.1/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.1/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.1/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.1/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.4.1/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.1/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.1/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.4.2/.env b/linux/ecosystem/qbittorrent/4.4.2/.env new file mode 100644 index 000000000..8d7a732e7 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.2 +LT1_RELEASE=1.2.16 +LT2_RELEASE=2.0.6 diff --git a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.4.2/Dockerfile similarity index 94% rename from linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 rename to linux/ecosystem/qbittorrent/4.4.2/Dockerfile index 8c4a22690..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 +++ b/linux/ecosystem/qbittorrent/4.4.2/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.6.2 -ENV QBT_LIBTORRENT_VERSION=1.2.19 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.4.2/Makefile b/linux/ecosystem/qbittorrent/4.4.2/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.4.2/README.md b/linux/ecosystem/qbittorrent/4.4.2/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.4.2/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.2/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.4.2/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.2/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.2/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.2/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.2/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.4.2/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.2/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.2/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/.env b/linux/ecosystem/qbittorrent/4.4.3.1/.env new file mode 100644 index 000000000..5037204d0 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.3.1 +LT1_RELEASE=1.2.17 +LT2_RELEASE=2.0.7 diff --git a/linux/ecosystem/qbittorrent/4.6.3/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.4.3.1/Dockerfile similarity index 94% rename from linux/ecosystem/qbittorrent/4.6.3/Dockerfile.lt1 rename to linux/ecosystem/qbittorrent/4.4.3.1/Dockerfile index 7f8eeac5d..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.6.3/Dockerfile.lt1 +++ b/linux/ecosystem/qbittorrent/4.4.3.1/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.6.3 -ENV QBT_LIBTORRENT_VERSION=1.2.19 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/Makefile b/linux/ecosystem/qbittorrent/4.4.3.1/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/README.md b/linux/ecosystem/qbittorrent/4.4.3.1/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.3.1/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.3.1/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.4.3.1/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.3.1/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.3.1/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.4.4/.env b/linux/ecosystem/qbittorrent/4.4.4/.env new file mode 100644 index 000000000..259a42a9f --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.4 +LT1_RELEASE=1.2.17 +LT2_RELEASE=2.0.7 diff --git a/linux/ecosystem/qbittorrent/4.4.4/Dockerfile b/linux/ecosystem/qbittorrent/4.4.4/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.4.4/Makefile b/linux/ecosystem/qbittorrent/4.4.4/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.4.4/README.md b/linux/ecosystem/qbittorrent/4.4.4/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.4.4/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.4/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.4.4/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.4/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.4/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.4/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.4/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.4.4/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.4/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.4/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.4.5/.env b/linux/ecosystem/qbittorrent/4.4.5/.env new file mode 100644 index 000000000..76c0fda09 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.4.5 +LT1_RELEASE=1.2.18 +LT2_RELEASE=2.0.8 diff --git a/linux/ecosystem/qbittorrent/4.4.5/Dockerfile b/linux/ecosystem/qbittorrent/4.4.5/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.4.5/Makefile b/linux/ecosystem/qbittorrent/4.4.5/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.4.5/README.md b/linux/ecosystem/qbittorrent/4.4.5/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.4.5/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.5/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.4.5/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.5/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.4.5/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.5/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.5/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.4.5/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.5/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.5/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.0/.env b/linux/ecosystem/qbittorrent/4.5.0/.env new file mode 100644 index 000000000..9b591163b --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.0 +LT1_RELEASE=1.2.18 +LT2_RELEASE=2.0.8 diff --git a/linux/ecosystem/qbittorrent/4.5.0/Dockerfile b/linux/ecosystem/qbittorrent/4.5.0/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.0/Makefile b/linux/ecosystem/qbittorrent/4.5.0/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.0/README.md b/linux/ecosystem/qbittorrent/4.5.0/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.0/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.0/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.0/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.0/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.0/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.0/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.0/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.0/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.0/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.0/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.1/.env b/linux/ecosystem/qbittorrent/4.5.1/.env new file mode 100644 index 000000000..0d26ac087 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.1 +LT1_RELEASE=1.2.18 +LT2_RELEASE=2.0.8 diff --git a/linux/ecosystem/qbittorrent/4.5.1/Dockerfile b/linux/ecosystem/qbittorrent/4.5.1/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.1/Makefile b/linux/ecosystem/qbittorrent/4.5.1/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.1/README.md b/linux/ecosystem/qbittorrent/4.5.1/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.1/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.1/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.1/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.1/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.1/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.1/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.1/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.1/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.1/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.1/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.2/.env b/linux/ecosystem/qbittorrent/4.5.2/.env new file mode 100644 index 000000000..39dc731e6 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.2 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.5.2/Dockerfile b/linux/ecosystem/qbittorrent/4.5.2/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.2/Makefile b/linux/ecosystem/qbittorrent/4.5.2/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.2/README.md b/linux/ecosystem/qbittorrent/4.5.2/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.2/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.2/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.2/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.2/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.2/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.2/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.2/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.2/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.2/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.2/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.3/.env b/linux/ecosystem/qbittorrent/4.5.3/.env new file mode 100644 index 000000000..1c922766c --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.3 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.5.3/Dockerfile b/linux/ecosystem/qbittorrent/4.5.3/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.3/Makefile b/linux/ecosystem/qbittorrent/4.5.3/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.3/README.md b/linux/ecosystem/qbittorrent/4.5.3/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.3/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.3/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.3/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.3/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.3/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.3/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.3/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.3/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.3/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.3/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.4/.env b/linux/ecosystem/qbittorrent/4.5.4/.env new file mode 100644 index 000000000..b3b82f54c --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.4 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.5.4/Dockerfile b/linux/ecosystem/qbittorrent/4.5.4/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.4/Makefile b/linux/ecosystem/qbittorrent/4.5.4/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.4/README.md b/linux/ecosystem/qbittorrent/4.5.4/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.4/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.4/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.4/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.4/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.4/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.4/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.4/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.4/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.4/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.4/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.5.5/.env b/linux/ecosystem/qbittorrent/4.5.5/.env new file mode 100644 index 000000000..ccddcde94 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.5.5 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.5.5/Dockerfile b/linux/ecosystem/qbittorrent/4.5.5/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.5.5/Makefile b/linux/ecosystem/qbittorrent/4.5.5/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.5.5/README.md b/linux/ecosystem/qbittorrent/4.5.5/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.5.5/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.5.5/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.5.5/docker-compose.yml b/linux/ecosystem/qbittorrent/4.5.5/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.5.5/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.5.5/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.5.5/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.5.5/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.5.5/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.5.5/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.6.0/.env b/linux/ecosystem/qbittorrent/4.6.0/.env new file mode 100644 index 000000000..934450baa --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.6.0 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.6.0/Dockerfile b/linux/ecosystem/qbittorrent/4.6.0/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.6.0/Makefile b/linux/ecosystem/qbittorrent/4.6.0/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.6.0/README.md b/linux/ecosystem/qbittorrent/4.6.0/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.6.0/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.6.0/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.6.0/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.0/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.6.0/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.6.0/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.0/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.6.0/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.6.0/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.6.0/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.6.1/.env b/linux/ecosystem/qbittorrent/4.6.1/.env new file mode 100644 index 000000000..67d2d14b2 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.6.1 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.6.1/Dockerfile b/linux/ecosystem/qbittorrent/4.6.1/Dockerfile new file mode 100644 index 000000000..465a73391 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/Dockerfile @@ -0,0 +1,62 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/cache/apt/archives/*.deb && \ + rm -rf /builds/* && \ + rm -rf /valve/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/4.6.1/Makefile b/linux/ecosystem/qbittorrent/4.6.1/Makefile new file mode 100644 index 000000000..89eb81b08 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/Makefile @@ -0,0 +1,33 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + make qbt + make qbt-libtorrent1 + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + +qbt-libtorrent2: + docker-compose build --compress --parallel --progress plain qbt-libtorrent2 + docker-compose push qbt-libtorrent2 + +qbt-libtorrent1: + docker-compose build --compress --parallel --progress plain qbt-libtorrent1 + docker-compose push qbt-libtorrent1 diff --git a/linux/ecosystem/qbittorrent/4.6.1/README.md b/linux/ecosystem/qbittorrent/4.6.1/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/README.md @@ -0,0 +1,80 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yaml +version: '3.9' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/4.6.1/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.6.1/docker-compose.example.yml new file mode 100644 index 000000000..087b81725 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3' +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/4.6.1/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.1/docker-compose.yml new file mode 100644 index 000000000..240616170 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + qbt: + image: "epicmorg/qbittorrent:${QBT_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent2: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} + qbt-libtorrent1: + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" + build: + context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.6.1/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.6.1/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.1/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/4.6.1/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.6.1/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.6.1/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.6.2/.env b/linux/ecosystem/qbittorrent/4.6.2/.env new file mode 100644 index 000000000..4e076ccdc --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.2/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.6.2 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile index 849454937..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile +++ b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.6.2 -ENV QBT_LIBTORRENT_VERSION=2.0.9 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.6.2/Makefile b/linux/ecosystem/qbittorrent/4.6.2/Makefile index b414ac9d6..89eb81b08 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/Makefile +++ b/linux/ecosystem/qbittorrent/4.6.2/Makefile @@ -7,6 +7,7 @@ app: build: make qbt-libtorrent2 + make qbt make qbt-libtorrent1 deploy: @@ -19,6 +20,10 @@ clean: docker volume prune -f docker system prune -af +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + qbt-libtorrent2: docker-compose build --compress --parallel --progress plain qbt-libtorrent2 docker-compose push qbt-libtorrent2 diff --git a/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml index fd11a2358..240616170 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml +++ b/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml @@ -1,15 +1,24 @@ version: '3' services: qbt: - image: "epicmorg/qbittorrent:4.6.2" + image: "epicmorg/qbittorrent:${QBT_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent2: - image: "epicmorg/qbittorrent:4.6.2-libtorrent2.0.9" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent1: - image: "epicmorg/qbittorrent:4.6.2-libtorrent1.2.19" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" build: context: . - dockerfile: Dockerfile.lt1 + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE} + diff --git a/linux/ecosystem/qbittorrent/4.6.3/.env b/linux/ecosystem/qbittorrent/4.6.3/.env new file mode 100644 index 000000000..fa3c21d80 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/.env @@ -0,0 +1,3 @@ +QBT_RELEASE=4.6.3 +LT1_RELEASE=1.2.19 +LT2_RELEASE=2.0.9 diff --git a/linux/ecosystem/qbittorrent/4.6.3/Dockerfile b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile index bbf7e0c9c..465a73391 100644 --- a/linux/ecosystem/qbittorrent/4.6.3/Dockerfile +++ b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile @@ -5,14 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## + +#configured by dockerfile / .ENV +ARG QBT_RELEASE +ARG LT_RELEASE +ENV QBT_VERSION=${QBT_RELEASE} +ENV QBT_LIBTORRENT_VERSION=${LT_RELEASE} +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + ENV QBT_DIR=/opt/qbittorrent ENV QBT_PORT_WEBUI=8282 ENV QBT_PORT_TRACKER=9000 ENV QBT_PORT_NAT=1337 -ENV QBT_VERSION=4.6.3 -ENV QBT_LIBTORRENT_VERSION=2.0.9 ENV QBT_PROTOCOL=http -ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox ################################################################## # Files and folders diff --git a/linux/ecosystem/qbittorrent/4.6.3/Makefile b/linux/ecosystem/qbittorrent/4.6.3/Makefile index b414ac9d6..89eb81b08 100644 --- a/linux/ecosystem/qbittorrent/4.6.3/Makefile +++ b/linux/ecosystem/qbittorrent/4.6.3/Makefile @@ -7,6 +7,7 @@ app: build: make qbt-libtorrent2 + make qbt make qbt-libtorrent1 deploy: @@ -19,6 +20,10 @@ clean: docker volume prune -f docker system prune -af +qbt: + docker-compose build --compress --parallel --progress plain qbt + docker-compose push qbt + qbt-libtorrent2: docker-compose build --compress --parallel --progress plain qbt-libtorrent2 docker-compose push qbt-libtorrent2 diff --git a/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml index 9ce0bba7d..648bdd79f 100644 --- a/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml +++ b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml @@ -1,16 +1,23 @@ version: '3' -services: services: qbt: - image: "epicmorg/qbittorrent:4.6.3" + image: "epicmorg/qbittorrent:${QBT_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent2: - image: "epicmorg/qbittorrent:4.6.3-libtorrent2.0.9" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT2_RELEASE}" build: context: . + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT2_RELEASE} qbt-libtorrent1: - image: "epicmorg/qbittorrent:4.6.3-libtorrent1.2.19" + image: "epicmorg/qbittorrent:${QBT_RELEASE}-libtorrent${LT1_RELEASE}" build: context: . - dockerfile: Dockerfile.lt1 + args: + QBT_RELEASE: ${QBT_RELEASE} + LT_RELEASE: ${LT1_RELEASE}