diff --git a/.github/workflows/epicmorg.advanced.nextcloud.images.yml b/.github/workflows/epicmorg.advanced.nextcloud.images.yml index faec78287..d952a4abe 100644 --- a/.github/workflows/epicmorg.advanced.nextcloud.images.yml +++ b/.github/workflows/epicmorg.advanced.nextcloud.images.yml @@ -63,6 +63,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 27 Stock Images:" run: cd linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy + - name: "Build and Deploy Advanced Nextcloud 28 Stock Images:" + run: cd linux/advanced/nextcloud/pure/28 && pwd && make build && make deploy + - name: "Build and Deploy Advanced Nextcloud Latest Stock Images:" run: cd linux/advanced/nextcloud/pure/latest && pwd && make build && make deploy @@ -122,6 +125,9 @@ jobs: - name: "Build and Deploy Advanced Nextcloud 27 Patched Images:" run: cd linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy + - name: "Build and Deploy Advanced Nextcloud 28 Patched Images:" + run: cd linux/advanced/nextcloud/patched/28 && pwd && make build && make deploy + - name: "Build and Deploy Advanced Nextcloud Latest Patched Images:" run: cd linux/advanced/nextcloud/patched/latest && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.python.yml b/.github/workflows/epicmorg.advanced.python.yml similarity index 87% rename from .github/workflows/epicmorg.base.images.python.yml rename to .github/workflows/epicmorg.advanced.python.yml index 0472b44e2..2fd331b0c 100644 --- a/.github/workflows/epicmorg.base.images.python.yml +++ b/.github/workflows/epicmorg.advanced.python.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian Python Images +name: EpicMorg Advanced Debian Python Images on: # push: @@ -10,7 +10,7 @@ on: jobs: build-python-base-images: - name: Build EpicMorg Debian Python Base Images + name: Build EpicMorg Advanced Debian Python Base Images runs-on: ubuntu-22.04 steps: @@ -45,10 +45,13 @@ jobs: - name: "Build and Deploy Python 3.12 Main Image:" run: cd linux/advanced/python/main/3.12 && pwd && make build && make deploy + - name: "Build and Deploy Python 3.13 Main Image:" + run: cd linux/advanced/python/main/3.13 && pwd && make build && make deploy + ################################################################################## build-python-develop-images: - name: Build EpicMorg Debian Python Develop Images + name: Build EpicMorg Advanced Debian Python Develop Images runs-on: ubuntu-22.04 needs: build-python-base-images @@ -84,6 +87,9 @@ jobs: - name: "Build and Deploy Python 3.12 Develop Image:" run: cd linux/advanced/python/develop/3.12 && pwd && make build && make deploy + - name: "Build and Deploy Python 3.13 Develop Image:" + run: cd linux/advanced/python/develop/3.13 && pwd && make build && make deploy + ################################################################################## - name: Cleanup diff --git a/.github/workflows/epicmorg.base.images.current.debian12.yml b/.github/workflows/epicmorg.base.images.current.debian12.yml index 6f86fa2ef..f68b65f6a 100644 --- a/.github/workflows/epicmorg.base.images.current.debian12.yml +++ b/.github/workflows/epicmorg.base.images.current.debian12.yml @@ -44,12 +44,6 @@ jobs: - name: "Build and Deploy Debian 12 jdk17 Image:" run: cd linux/ecosystem/epicmorg/debian/12-bookworm/jdk17 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/jdk19 && pwd && make build && make deploy - name: "Build and Deploy Debian 12 jdk20 Image:" run: cd linux/ecosystem/epicmorg/debian/12-bookworm/jdk20 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.legacy.yml b/.github/workflows/epicmorg.base.images.legacy.yml index acd424f31..5821c899b 100644 --- a/.github/workflows/epicmorg.base.images.legacy.yml +++ b/.github/workflows/epicmorg.base.images.legacy.yml @@ -87,31 +87,16 @@ jobs: - name: "Build and Deploy Debian 8 jdk11 Image:" run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk11 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk12 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk12 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk13 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk13 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk14 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk14 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk15 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk15 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk16 && pwd && make build && make deploy - + - name: "Build and Deploy Debian 8 jdk17 Image:" run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk17 && pwd && make build && make deploy - - name: "Build and Deploy Debian 8 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk18 && pwd && make build && make deploy + - name: "Build and Deploy Debian 8 jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk20 && pwd && make build && make deploy -# - name: "Build and Deploy Debian 8 jdk19 Image:" -# run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk19 && pwd && make build && make deploy - + - name: "Build and Deploy Debian 8 jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy + ################################################################################## build-09-images: @@ -146,30 +131,9 @@ jobs: - name: "Build and Deploy Debian 9 jdk11 Image:" run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk11 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk12 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk12 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk13 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk13 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk14 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk14 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk15 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk15 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk16 && pwd && make build && make deploy - + - name: "Build and Deploy Debian 9 jdk17 Image:" run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk17 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk19 && pwd && make build && make deploy ################################################################################## diff --git a/.github/workflows/epicmorg.base.images.perforce.yml b/.github/workflows/epicmorg.base.images.perforce.yml index cff3a9e0a..b16c5643f 100644 --- a/.github/workflows/epicmorg.base.images.perforce.yml +++ b/.github/workflows/epicmorg.base.images.perforce.yml @@ -57,6 +57,12 @@ jobs: - name: "Build and Deploy Perfocre r22.1 Image:" run: cd linux/ecosystem/perforce/base/r22.1 && pwd && make build && make deploy + - name: "Build and Deploy Perfocre r23.1 Image:" + run: cd linux/ecosystem/perforce/base/r23.1 && pwd && make build && make deploy + + - name: "Build and Deploy Perfocre r23.2 Image:" + run: cd linux/ecosystem/perforce/base/r23.2 && pwd && make build && make deploy + ################################################################################## build-p4p-images: @@ -108,6 +114,12 @@ jobs: - name: "Build and Deploy Perfocre Proxy r22.1 Image:" run: cd linux/ecosystem/perforce/p4p/r22.1 && pwd && make build && make deploy + - name: "Build and Deploy Perfocre Proxy r23.1 Image:" + run: cd linux/ecosystem/perforce/p4p/r23.1 && pwd && make build && make deploy + + - name: "Build and Deploy Perfocre Proxy r23.2 Image:" + run: cd linux/ecosystem/perforce/p4p/r23.2 && pwd && make build && make deploy + ################################################################################## - name: Cleanup diff --git a/.github/workflows/epicmorg.ecosysctem.misc.images.yml b/.github/workflows/epicmorg.ecosysctem.misc.images.yml index 150c103a4..41f543d66 100644 --- a/.github/workflows/epicmorg.ecosysctem.misc.images.yml +++ b/.github/workflows/epicmorg.ecosysctem.misc.images.yml @@ -75,6 +75,9 @@ jobs: - name: Build and Deploy qBittorrent 4.6.2 run: cd linux/ecosystem/qbittorrent/4.6.2 && make build && make deploy + - name: Build and Deploy qBittorrent 4.6.3 + run: cd linux/ecosystem/qbittorrent/4.6.3 && make build && make deploy + ################################################################################## build-opentracker-image: diff --git a/.gitignore b/.gitignore index 0feaa560b..10a9b8b90 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ Makefile.temp # debug ansible file output.log +output.*.log diff --git a/CHANGELOG.md b/CHANGELOG.md index 4469964b2..b0b990d6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog ## 2024 +* `feb` + * updated images: fixes of sources.list, java install logic, updated `python 3.12` iamges + * added `bitbucket`, `nodejs21`,`nextcloud 28`, `python 3.13` images + * added `pnpm` to `nodejs 12-21` images + * fixed `java` images, + * added `maven`, `gradle`, `kotlin` to compatible `java 8+` images. + * updated `GOSU` to `1.17` + * updated `7z` to `7z2400` + * 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` * `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 861cb6bbf..d49c1b7bd 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = "2023.06.08" +VERSION = "2024.02.06" AUTHOR = "EpicMorg" MODIFIED = "STAM" DOCKER_SCAN_SUGGEST = false @@ -25,6 +25,18 @@ help: @echo "make ecosystem-images - build ecosystem images." @echo "make images - build all images." +ansible.gen.jira: + cd `pwd`/bin/ansible && ansible-playbook ./generate.jira.yml + +ansible.gen.confluence: + cd `pwd`/bin/ansible && ansible-playbook ./generate.confluence.yml + +ansible.gen.bitbucket: + cd `pwd`/bin/ansible && ansible-playbook ./generate.bitbucket.yml + +ansible.gen.testrail: + cd `pwd`/bin/ansible && ansible-playbook ./generate.testrail.yml + git: git add . git commit -am "make - autocommit" @@ -68,6 +80,11 @@ advanced-images: advanced-mattermost-images: cd `pwd`/linux/advanced/mattermost && pwd && make build && make deploy +advanced-nextcloud-all-images: + make advanced-nextcloud-images + make advanced-nextcloud-patched-images + make advanced-nextcloud-latest-images + advanced-nextcloud-latest-images: cd `pwd`/linux/advanced/nextcloud/pure/latest && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/latest && pwd && make build && make deploy @@ -196,6 +213,7 @@ advanced-nextcloud-images: cd `pwd`/linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy + cd `pwd`/linux/advanced/nextcloud/pure/28 && pwd && make build && make deploy advanced-nextcloud-patched-images: cd `pwd`/linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy @@ -212,6 +230,7 @@ advanced-nextcloud-patched-images: cd `pwd`/linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy + cd `pwd`/linux/advanced/nextcloud/patched/28 && pwd && make build && make deploy ecosystem-images: make bundle-base-images @@ -242,6 +261,7 @@ advanced-pyhton-images-main: cd `pwd`/linux/advanced/python/main/3.10 && pwd && make build && make deploy cd `pwd`/linux/advanced/python/main/3.11 && pwd && make build && make deploy cd `pwd`/linux/advanced/python/main/3.12 && pwd && make build && make deploy + cd `pwd`/linux/advanced/python/main/3.13 && pwd && make build && make deploy advanced-pyhton-images-develop: cd `pwd`/linux/advanced/python/develop/2.7 && pwd && make build && make deploy @@ -252,6 +272,7 @@ advanced-pyhton-images-develop: cd `pwd`/linux/advanced/python/develop/3.10 && pwd && make build && make deploy cd `pwd`/linux/advanced/python/develop/3.11 && pwd && make build && make deploy cd `pwd`/linux/advanced/python/develop/3.12 && pwd && make build && make deploy + cd `pwd`/linux/advanced/python/develop/3.13 && pwd && make build && make deploy ecosystem-debian-images: make ecosystem-debian-squeeze-images @@ -281,7 +302,8 @@ ecosystem-debian-jessie-images: cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk11 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy ecosystem-debian-stretch-images: cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/slim && pwd && make build && make deploy @@ -292,7 +314,6 @@ ecosystem-debian-stretch-images: cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk11 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk18 && pwd && make build && make deploy ecosystem-debian-buster-images: cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/slim && pwd && make build && make deploy @@ -319,6 +340,7 @@ ecosystem-debian-bullseye-images: cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21 && pwd && make build && make deploy ecosystem-debian-bookworm-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/slim && pwd && make build && make deploy @@ -329,9 +351,8 @@ ecosystem-debian-bookworm-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21 && pwd && make build && make deploy ecosystem-php-images: cd `pwd`/linux/ecosystem/php/php7.0 && pwd && make build && make deploy @@ -565,6 +586,7 @@ ecosystem-nodejs-images: 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 ecosystem-ninjam-image: cd `pwd`/linux/ecosystem/ninjam/latest && pwd && make build && make deploy @@ -573,7 +595,9 @@ ecosystem-vk2discord-images: cd `pwd`/linux/ecosystem/vk2discord && pwd && make build && make deploy ecosystem-qbittorrent-images: + cd `pwd`/linux/ecosystem/qbittorrent/4.4.0 && 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 ecosystem-retracker-images: cd `pwd`/linux/ecosystem/retracker && pwd && make build && make deploy @@ -627,6 +651,7 @@ ecosystem-teamcity-agent-images: cd `pwd`/linux/ecosystem/teamcity/agent/node18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/teamcity/agent/node21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy @@ -651,6 +676,7 @@ ecosystem-gitlab-runner-images: cd `pwd`/linux/ecosystem/gitlab/runner/node18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/node19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/gitlab/runner/node21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.4 && pwd && make build && make deploy @@ -687,6 +713,8 @@ ecosystem-perforce-base-images: cd `pwd`/linuxecosystem/perforce/base/r21.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/base/r21.2 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/base/r22.1 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/base/r23.1 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/base/r23.2 && pwd && make build && make deploy ecosystem-perforce-proxy-images: cd `pwd`/linuxecosystem/perforce/p4p/r16.2 && pwd && make build && make deploy @@ -701,6 +729,171 @@ ecosystem-perforce-proxy-images: cd `pwd`/linuxecosystem/perforce/p4p/r21.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/p4p/r21.2 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/p4p/r22.1 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/p4p/r23.1 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/p4p/r23.2 && pwd && make build && make deploy + + +ecosystem-bitbucket-1-images: + cd `pwd`/linux/ecosystem/atlassian/bitbucket/1/1.0.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/1/1.1.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/1/1.2.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/1/1.2.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/1/1.3.1 && pwd && make build && make deploy + + +ecosystem-bitbucket-2-images: + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.0.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.1.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.2.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.4.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.5.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.6.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.7.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.8.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.8.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.9.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.9.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.9.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.9.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.9.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.10.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.11.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/2/2.12.6 && pwd && make build && make deploy + +ecosystem-bitbucket-3-images: + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.0.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.1.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.2.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.2.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.2.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.2.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.2.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.3.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.4.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.4.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.4.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.4.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.5.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.5.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.6.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.6.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.7.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.7.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.7.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.7.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.7.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.8.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.8.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.9.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.9.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.10.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.10.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.10.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.10.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/3/3.11.6 && pwd && make build && make deploy + +ecosystem-bitbucket-4-images: + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.0.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.1.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.1.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.1.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.1.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.2.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.2.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.2.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.2.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.4.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.4.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.4.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.4.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.5.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.5.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.5.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.6.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.6.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.6.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.6.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.6.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.7.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.7.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.8.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.9.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.9.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.10.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.10.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.10.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.11.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.11.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.12.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.12.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.13.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.13.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/bitbucket/4/4.14.12 && pwd && make build && make deploy ecosystem-jira-4-images: cd `pwd`/linux/ecosystem/atlassian/jira/4/4.1.1 && pwd && make build && make deploy @@ -869,19 +1062,6 @@ ecosystem-jira-7-images: cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.3 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.4 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.6 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.7 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.8 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.9 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.10 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.11 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.12 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.13 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.14 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.15 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.16 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.17 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.7.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.7.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.7.2 && pwd && make build && make deploy @@ -901,6 +1081,21 @@ ecosystem-jira-7-images: cd `pwd`/linux/ecosystem/atlassian/jira/7/7.12.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.12.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.12.3 && pwd && make build && make deploy + +ecosystem-jira-7-lts-images: + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/7/7.6.17 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.13.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.13.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/7/7.13.2 && pwd && make build && make deploy @@ -980,6 +1175,29 @@ ecosystem-jira-8-images: cd `pwd`/linux/ecosystem/atlassian/jira/8/8.12.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.12.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.12.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.14.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.14.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.15.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.15.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.17.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.17.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.18.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.18.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.19.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.19.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.21.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.21.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.6 && pwd && make build && make deploy + +ecosystem-jira-8-lts-images: cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.2 && pwd && make build && make deploy @@ -1007,19 +1225,6 @@ ecosystem-jira-8-images: cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.25 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.26 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.13.27 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.14.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.14.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.15.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.15.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.16.2 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.17.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.17.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.18.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.18.2 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.19.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.19.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.2 && pwd && make build && make deploy @@ -1044,14 +1249,13 @@ ecosystem-jira-8-images: cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.22 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.23 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.24 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.21.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.21.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.2 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.3 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.4 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/8/8.22.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.25 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.26 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.27 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.28 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.29 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/8/8.20.30 && pwd && make build && make deploy + ecosystem-jira-9-images: cd `pwd`/linux/ecosystem/atlassian/jira/9/9.0.0 && pwd && make build && make deploy @@ -1062,16 +1266,6 @@ ecosystem-jira-9-images: cd `pwd`/linux/ecosystem/atlassian/jira/9/9.3.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.3.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.3.2 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.3.3 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.0 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.1 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.2 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.3 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.4 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.5 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.6 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.7 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.5.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.5.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.6.0 && pwd && make build && make deploy @@ -1082,6 +1276,34 @@ ecosystem-jira-9-images: cd `pwd`/linux/ecosystem/atlassian/jira/9/9.9.0 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.9.1 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/atlassian/jira/9/9.10.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.10.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.10.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.11.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.11.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.11.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.11.3 && pwd && make build && make deploy + +ecosystem-jira-9-lts-images: + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.12.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.12.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/atlassian/jira/9/9.12.2 && pwd && make build && make deploy bundle-base-images: @echo "=======================================" diff --git a/README.md b/README.md index 84c3f6fa3..267c1aeb5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker-scripts?label=commits&style=flat-square)](https://github.com/EpicMorg/docker-scripts/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker-scripts?label=size&style=flat-square)](https://github.com/EpicMorg/docker-scripts/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker-scripts?style=flat-square)](https://github.com/EpicMorg/docker-scripts/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker-scripts.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) +# [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker-scripts?label=commits&style=flat-square)](https://github.com/EpicMorg/docker/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker-scripts?label=size&style=flat-square)](https://github.com/EpicMorg/docker/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker-scripts?style=flat-square)](https://github.com/EpicMorg/docker/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker-scripts.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) ## Description @@ -7,27 +7,25 @@ A collection of docker images for production use. This repo contains 2 types of * `linux/advanced` folder contains improved images like `nextcloud` or `teamcity server`, `zabbix collection`, etc. These images just forked from original developers and patched a bit. * `linux/ecosystem` folder contains images developed by our team like full `Atlassian Stack`, compilled `nginx`, `php`, `testrail` and othres. -![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/logo.png) +![](https://raw.githubusercontent.com/EpicMorg/docker/master/.github/logo.png) # CI Status | `Advanced` | `EcoSystem - Debian Based` | |:-------------|:-------------| -| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Images?label=EpicMorg%20Advanced%20Images&logo=EpicMorg%20Advanced%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/blob/master/.github/workflows/epicmorg.advanced.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2010%20Images?label=Debian%2010%20Images&logo=Debian%2010%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian10.yml) -| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Nextcloud%20Images?label=Nextcloud%20Images&logo=Nextcloud%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.advanced.nextcloud.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2011%20Images?label=Debian%2011%20Images&logo=Debian%2011%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian11.yml) -| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Vscode%20Server%20Images?label=Vscode%20Server%20Images&logo=Vscode%20Server%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.advanced.vscode.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2012%20Images?label=Debian%2012%20Images&logo=Debian%2012%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian12.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%20Legacy%20Images?label=Debian%20Legacy%20Images&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.legacy.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%20Python%20Images?label=Debian%20Python%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.python.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Misc%20Images?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.ecosysctem.misc.images.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Atlassian%20Main%20Images?label=Atlassian%20Images&logo=Atlassian%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.atlassian.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20NodeJS%20Images?label=NodeJS%20Images&logo=NodeJS%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.nodejs.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Perfocre%20Images?label=Perfocre%20Images&logo=Perfocre%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.perforce.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20PostgreSQL%20Images?label=PostgreSQL%20Images&logo=PostgreSQL%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.postgresql.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20TeamCity%20Agents%20Images?label=TeamCity%20Agents%20Images&logo=TeamCity%20Agents%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.teamcity.agents.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Testrail%20Images?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.testrail.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Web%20Images?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.web.yml) -| `-` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Gitlab%20Runner%20Images?label=Gitlab%20Runner%20Images&logo=Gitlab%20Runner%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.giltab.runners.yml) - +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.vscode.images.yml?label=EpicMorg%20Advanced%20Images&logo=EpicMorg%20Advanced%20Images&style=flat-square)](https://github.com/EpicMorg/docker/blob/master/.github/workflows/epicmorg.advanced.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.debian10.yml?label=Debian%2010%20Images&logo=Debian%2010%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.debian10.yml) +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.nextcloud.images.yml?label=Nextcloud%20Images&logo=Nextcloud%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.nextcloud.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.debian11.yml?label=Debian%2011%20Images&logo=Debian%2011%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.debian11.yml) +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.python.yml?label=Debian%20Python%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.python.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.debian12.yml?label=Debian%2012%20Images&logo=Debian%2012%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.debian12.yml) +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.vscode.images.yml?label=Vscode%20Server%20Images&logo=Vscode%20Server%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.vscode.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.legacy.yml?label=Debian%20Legacy%20Images&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.legacy.yml) +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.zabbix.images.yml?label=Debian%20Zabbix%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.zabbix.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.ecosysctem.misc.images.yml?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.ecosysctem.misc.images.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.atlassian.yml?label=Atlassian%20Images&logo=Atlassian%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.atlassian.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.nodejs.yml?label=NodeJS%20Images&logo=NodeJS%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.nodejs.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.perforce.yml?label=Perfocre%20Images&logo=Perfocre%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.perforce.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.postgresql.yml?label=PostgreSQL%20Images&logo=PostgreSQL%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.postgresql.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.teamcity.agents.yml?label=TeamCity%20Agents%20Images&logo=TeamCity%20Agents%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.teamcity.agents.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.testrail.yml?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.testrail.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.web.yml?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.web.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.giltab.runners.yml?label=Gitlab%20Runner%20Images&logo=Gitlab%20Runner%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.giltab.runners.yml) # Few popular products [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B81CUI4) @@ -48,11 +46,9 @@ A collection of docker images for production use. This repo contains 2 types of | [![qbittorrent](https://img.shields.io/badge/qBittorrent--brightgreen.svg?style=popout-square)](https://github.com/qbittorrent/qBittorrent) | [![](https://img.shields.io/docker/pulls/epicmorg/qbittorrent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/qbittorrent/ ) | Custom build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -# Stargazers -[![Stargazers repo roster for @EpicMorg/docker-scripts](https://reporoster.com/stars/dark/EpicMorg/docker-scripts)](https://github.com/EpicMorg/docker-scripts/stargazers) +# [Stargazers](https://github.com/EpicMorg/docker/stargazers) -# Forkers -[![Forkers repo roster for @EpicMorg/docker-scripts](https://reporoster.com/forks/dark/EpicMorg/docker-scripts)](https://github.com/EpicMorg/docker-scripts/network/members) +# [Forkers](https://github.com/EpicMorg/docker/network/members) # ↳ Special Thanks: diff --git a/bin/ansible/generate.bitbucket.yml b/bin/ansible/generate.bitbucket.yml new file mode 100644 index 000000000..f04d6b382 --- /dev/null +++ b/bin/ansible/generate.bitbucket.yml @@ -0,0 +1,21 @@ +- name: Clear log file before write new stdout to it at this session + hosts: localhost + connection: local + tasks: + - name: echo -n > output.log + shell: echo -n > output.log + +- name: Lets Go! + hosts: localhost + connection: local + tasks: + - name: Create directory for ansible custom facts + debug: + msg: "[ Python: {{ ansible_facts['python_version'] }}, OS: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} ({{ansible_architecture }}), Ansible: {{ ansible_version.full }}]" + +- name: Generate Bitbucket images + hosts: localhost + connection: local + gather_facts: false + roles: + - atlassian.bitbucket \ No newline at end of file diff --git a/bin/ansible/generate.confluence.yml b/bin/ansible/generate.confluence.yml new file mode 100644 index 000000000..4f94abd68 --- /dev/null +++ b/bin/ansible/generate.confluence.yml @@ -0,0 +1,21 @@ +- name: Clear log file before write new stdout to it at this session + hosts: localhost + connection: local + tasks: + - name: echo -n > output.log + shell: echo -n > output.log + +- name: Lets Go! + hosts: localhost + connection: local + tasks: + - name: Create directory for ansible custom facts + debug: + msg: "[ Python: {{ ansible_facts['python_version'] }}, OS: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} ({{ansible_architecture }}), Ansible: {{ ansible_version.full }}]" + +- name: Generate Confluence images + hosts: localhost + connection: local + gather_facts: false + roles: + - atlassian.confluence diff --git a/bin/ansible/playbook.yml b/bin/ansible/generate.jira.yml similarity index 93% rename from bin/ansible/playbook.yml rename to bin/ansible/generate.jira.yml index 1dd2a3837..77afbbe52 100644 --- a/bin/ansible/playbook.yml +++ b/bin/ansible/generate.jira.yml @@ -18,5 +18,4 @@ connection: local gather_facts: false roles: -# - atlassian.jira - - gurock.testrail \ No newline at end of file + - atlassian.jira \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk11 b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk11 new file mode 100644 index 000000000..2c7f1ec91 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk11 @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ + sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk17 b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk17 new file mode 100644 index 000000000..ae08b7797 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk17 @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ + sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk8 b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk8 new file mode 100644 index 000000000..d9a3ac512 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.jdk8 @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ + sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk7 b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk7 new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk7 @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk8 b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk8 new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/Dockerfile.legacy.jdk8 @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Makefile b/bin/ansible/roles/atlassian.bitbucket/files/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Makefile rename to bin/ansible/roles/atlassian.bitbucket/files/Makefile diff --git a/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk7.yml b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk7.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk7.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11-17.yml b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11-17.yml new file mode 100644 index 000000000..68f832858 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11-17.yml @@ -0,0 +1,32 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/bitbucket:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/bitbucket:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11.yml b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11.yml new file mode 100644 index 000000000..31d35dc0a --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8-11.yml @@ -0,0 +1,24 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/bitbucket:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8.yml b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/docker-compose.jdk8.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.sh b/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.stash.sh b/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.stash.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/files/entrypoint.stash.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.1.jdk7.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.1.jdk7.yml new file mode 100644 index 000000000..ea54c0c75 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.1.jdk7.yml @@ -0,0 +1,51 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/bitbucket/1.jdk7.txt" + register: version_output + +- name: Set version variable + set_fact: + bitbucket_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Bitbucket versions + file: + path: "{{ target_directory_bitbucket_1 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.stash.1.env.j2" + dest: "{{ target_directory_bitbucket_1 }}/{{ item }}/.env" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.jdk7.yml" + dest: "{{ target_directory_bitbucket_1 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.legacy.jdk7" + dest: "{{ target_directory_bitbucket_1 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.stash.sh" + dest: "{{ target_directory_bitbucket_1 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_bitbucket_1 }}/{{ item }}/Makefile" + force: true + with_items: "{{ bitbucket_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.2.jdk7.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.2.jdk7.yml new file mode 100644 index 000000000..c78dd92d9 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.2.jdk7.yml @@ -0,0 +1,51 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/bitbucket/2.jdk7.txt" + register: version_output + +- name: Set version variable + set_fact: + bitbucket_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Bitbucket versions + file: + path: "{{ target_directory_bitbucket_2 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.stash.2.env.j2" + dest: "{{ target_directory_bitbucket_2 }}/{{ item }}/.env" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.jdk7.yml" + dest: "{{ target_directory_bitbucket_2 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.legacy.jdk7" + dest: "{{ target_directory_bitbucket_2 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.stash.sh" + dest: "{{ target_directory_bitbucket_2 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_bitbucket_2 }}/{{ item }}/Makefile" + force: true + with_items: "{{ bitbucket_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.3.jdk8.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.3.jdk8.yml new file mode 100644 index 000000000..5cb8be32e --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.3.jdk8.yml @@ -0,0 +1,51 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/bitbucket/3.jdk8.txt" + register: version_output + +- name: Set version variable + set_fact: + bitbucket_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Bitbucket versions + file: + path: "{{ target_directory_bitbucket_3 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.stash.3.env.j2" + dest: "{{ target_directory_bitbucket_3 }}/{{ item }}/.env" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.jdk8.yml" + dest: "{{ target_directory_bitbucket_3 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.legacy.jdk8" + dest: "{{ target_directory_bitbucket_3 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.stash.sh" + dest: "{{ target_directory_bitbucket_3 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_bitbucket_3 }}/{{ item }}/Makefile" + force: true + with_items: "{{ bitbucket_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.4.jdk8.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.4.jdk8.yml new file mode 100644 index 000000000..4f89cc41a --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.bitbucket.4.jdk8.yml @@ -0,0 +1,51 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/bitbucket/4.jdk8.txt" + register: version_output + +- name: Set version variable + set_fact: + bitbucket_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Bitbucket versions + file: + path: "{{ target_directory_bitbucket_4 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.bitbucket.4.env.j2" + dest: "{{ target_directory_bitbucket_4 }}/{{ item }}/.env" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.jdk8.yml" + dest: "{{ target_directory_bitbucket_4 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.legacy.jdk8" + dest: "{{ target_directory_bitbucket_4 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.sh" + dest: "{{ target_directory_bitbucket_4 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ bitbucket_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_bitbucket_4 }}/{{ item }}/Makefile" + force: true + with_items: "{{ bitbucket_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8-11.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8-11.yml new file mode 100644 index 000000000..058078e7a --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8-11.yml @@ -0,0 +1,58 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/jira/8.jdk8-11.txt" + register: version_output + +- name: Set version variable + set_fact: + jira_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Jira versions + file: + path: "{{ target_directory_jira_8 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ jira_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.env.j2" + dest: "{{ target_directory_jira_8 }}/{{ item }}/.env" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.yml" + dest: "{{ target_directory_jira_8 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk8" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile.jdk11 from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk11" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile.jdk11" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.sh" + dest: "{{ target_directory_jira_8 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Makefile" + force: true + with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8.yml new file mode 100644 index 000000000..4fc5f2bd4 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.8.jdk8.yml @@ -0,0 +1,51 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/jira/8.jdk8.txt" + register: version_output + +- name: Set version variable + set_fact: + jira_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Jira versions + file: + path: "{{ target_directory_jira_8 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ jira_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.env.j2" + dest: "{{ target_directory_jira_8 }}/{{ item }}/.env" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.yml" + dest: "{{ target_directory_jira_8 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk8" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.sh" + dest: "{{ target_directory_jira_8 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Makefile" + force: true + with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.9.jdk8-11-17.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.9.jdk8-11-17.yml new file mode 100644 index 000000000..c6f6e4c48 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/atlassian.jira.9.jdk8-11-17.yml @@ -0,0 +1,65 @@ +- name: Read versions from file + slurp: + src: "roles/common/files/versions/jira/9.jdk8-11-17.txt" + register: version_output + +- name: Set version variable + set_fact: + jira_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}" + +- name: Create directories for Jira versions + file: + path: "{{ target_directory_jira_9 }}/{{ item }}" + state: directory + mode: '0755' + force: true + with_items: "{{ jira_versions }}" + +- name: Copy template with link to each version directory + template: + src: "template.env.j2" + dest: "{{ target_directory_jira_9 }}/{{ item }}/.env" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy docker-compose.yml from 'files' directory to each version directory + copy: + src: "docker-compose.jdk8-11-17.yml" + dest: "{{ target_directory_jira_9 }}/{{ item }}/docker-compose.yml" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk8" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile.jdk11 from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk11" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile.jdk11" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Dockerfile.jdk17 from 'files' directory to each version directory + copy: + src: "Dockerfile.jdk17" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile.jdk17" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy entrypoint.sh from 'files' directory to each version directory + copy: + src: "entrypoint.sh" + dest: "{{ target_directory_jira_9 }}/{{ item }}/entrypoint.sh" + force: true + with_items: "{{ jira_versions }}" + +- name: Copy Makefile from 'files' directory to each version directory + copy: + src: "Makefile" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Makefile" + force: true + with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml new file mode 100644 index 000000000..9e1235fd9 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml @@ -0,0 +1,11 @@ +#- name: "Generate images for Stash (Bitbucket) 1 (jdk7)" +# import_tasks: atlassian.bitbucket.1.jdk7.yml + +#- name: "Generate images for Stash (Bitbucket) 2 (jdk7)" +# import_tasks: atlassian.bitbucket.2.jdk7.yml + +#- name: "Generate images for Stash (Bitbucket) 3 (jdk8)" +# import_tasks: atlassian.bitbucket.3.jdk8.yml + +- name: "Generate images for Bitbucket 4 (jdk8)" + import_tasks: atlassian.bitbucket.4.jdk8.yml diff --git a/bin/ansible/roles/atlassian.bitbucket/templates/template.bitbucket.4.env.j2 b/bin/ansible/roles/atlassian.bitbucket/templates/template.bitbucket.4.env.j2 new file mode 100644 index 000000000..320f49a16 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/templates/template.bitbucket.4.env.j2 @@ -0,0 +1,2 @@ +RELEASE={{ item }} +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.1.env.j2 b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.1.env.j2 new file mode 100644 index 000000000..29bd4caa3 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.1.env.j2 @@ -0,0 +1,2 @@ +RELEASE={{ item }} +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.2.env.j2 b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.2.env.j2 new file mode 100644 index 000000000..29bd4caa3 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.2.env.j2 @@ -0,0 +1,2 @@ +RELEASE={{ item }} +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.3.env.j2 b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.3.env.j2 new file mode 100644 index 000000000..29bd4caa3 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/templates/template.stash.3.env.j2 @@ -0,0 +1,2 @@ +RELEASE={{ item }} +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/bin/ansible/roles/atlassian.bitbucket/vars/main.yml b/bin/ansible/roles/atlassian.bitbucket/vars/main.yml new file mode 100644 index 000000000..757374685 --- /dev/null +++ b/bin/ansible/roles/atlassian.bitbucket/vars/main.yml @@ -0,0 +1,9 @@ +# Defaults +target_directory_bitbucket_1: "/opt/tmp/bitbucket/1" +target_directory_bitbucket_2: "/opt/tmp/bitbucket/2" +target_directory_bitbucket_3: "/opt/tmp/bitbucket/3" +target_directory_bitbucket_4: "/opt/tmp/bitbucket/4" +target_directory_bitbucket_5: "/opt/tmp/bitbucket/5" +target_directory_bitbucket_6: "/opt/tmp/bitbucket/6" +target_directory_bitbucket_7: "/opt/tmp/bitbucket/7" +target_directory_bitbucket_8: "/opt/tmp/bitbucket/8" diff --git a/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17 b/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17 +++ b/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.4.jdk6.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.4.jdk6.yml index bb59a057d..eeb43064f 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.4.jdk6.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.4.jdk6.yml @@ -11,37 +11,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_4 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" #- name: Copy template with link to each version directory # template: # src: "template.env.j2" -# dest: "{{ target_directory }}/{{ item }}/.env" +# dest: "{{ target_directory_jira_4 }}/{{ item }}/.env" +# force: true # with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_4 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk6" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_4 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_4 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_4 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6-7.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6-7.yml index 9d9c41f0d..722aaa207 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6-7.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6-7.yml @@ -9,43 +9,50 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_5 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.legacy.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_5 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.jdk6-7.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_5 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk6" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_5 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk7" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk7" + dest: "{{ target_directory_jira_5 }}/{{ item }}/Dockerfile.jdk7" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_5 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_5 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6.yml index af74130f5..4a28a2c4e 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.5.jdk6.yml @@ -9,37 +9,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_5 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.legacy.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_5 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_5 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk6" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_5 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_5 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_5 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7-8.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7-8.yml index f9cd35bf4..e9dc9f93a 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7-8.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7-8.yml @@ -9,43 +9,50 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_6 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.legacy.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_6 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.jdk7-8.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_6 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk7" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_6 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk7-8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk8" + dest: "{{ target_directory_jira_6 }}/{{ item }}/Dockerfile.jdk8" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_6 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_6 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7.yml index d0c8bb4a5..ac061ec9a 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.6.jdk7.yml @@ -9,37 +9,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_6 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.legacy.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_6 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_6 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk7" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_6 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_6 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_6 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p1.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p1.yml index 42d16b5e0..3f46da7ff 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p1.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p1.yml @@ -9,37 +9,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_7 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.legacy2software.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_7 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_7 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_7 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_7 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_7 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p2.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p2.yml index 7bb9bef0d..5f4c8e7ef 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p2.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.7.jdk8p2.yml @@ -9,37 +9,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_7 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_7 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_7 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_7 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_7 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_7 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8-11.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8-11.yml index fbdbc1953..058078e7a 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8-11.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8-11.yml @@ -9,43 +9,50 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_8 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_8 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_8 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile.jdk11 from 'files' directory to each version directory copy: src: "Dockerfile.jdk11" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk11" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile.jdk11" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_8 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8.yml index b5ef81d96..4fc5f2bd4 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.8.jdk8.yml @@ -9,37 +9,43 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_8 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_8 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_8 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_8 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_8 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11-17.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11-17.yml index 1889b854c..c6f6e4c48 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11-17.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11-17.yml @@ -9,49 +9,57 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_9 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_9 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.jdk8-11-17.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_9 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile.jdk11 from 'files' directory to each version directory copy: src: "Dockerfile.jdk11" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk11" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile.jdk11" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile.jdk17 from 'files' directory to each version directory copy: src: "Dockerfile.jdk17" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk17" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile.jdk17" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_9 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11.yml index f085776df..c622d4360 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.jdk8-11.yml @@ -9,43 +9,50 @@ - name: Create directories for Jira versions file: - path: "{{ target_directory }}/{{ item }}" + path: "{{ target_directory_jira_9 }}/{{ item }}" state: directory mode: '0755' + force: true with_items: "{{ jira_versions }}" - name: Copy template with link to each version directory template: src: "template.env.j2" - dest: "{{ target_directory }}/{{ item }}/.env" + dest: "{{ target_directory_jira_9 }}/{{ item }}/.env" + force: true with_items: "{{ jira_versions }}" - name: Copy docker-compose.yml from 'files' directory to each version directory copy: src: "docker-compose.jdk8-11.yml" - dest: "{{ target_directory }}/{{ item }}/docker-compose.yml" + dest: "{{ target_directory_jira_9 }}/{{ item }}/docker-compose.yml" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile from 'files' directory to each version directory copy: src: "Dockerfile.jdk8" - dest: "{{ target_directory }}/{{ item }}/Dockerfile" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile" + force: true with_items: "{{ jira_versions }}" - name: Copy Dockerfile.jdk11 from 'files' directory to each version directory copy: src: "Dockerfile.jdk11" - dest: "{{ target_directory }}/{{ item }}/Dockerfile.jdk11" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Dockerfile.jdk11" + force: true with_items: "{{ jira_versions }}" - name: Copy entrypoint.sh from 'files' directory to each version directory copy: src: "entrypoint.sh" - dest: "{{ target_directory }}/{{ item }}/entrypoint.sh" + dest: "{{ target_directory_jira_9 }}/{{ item }}/entrypoint.sh" + force: true with_items: "{{ jira_versions }}" - name: Copy Makefile from 'files' directory to each version directory copy: src: "Makefile" - dest: "{{ target_directory }}/{{ item }}/Makefile" + dest: "{{ target_directory_jira_9 }}/{{ item }}/Makefile" + force: true with_items: "{{ jira_versions }}" diff --git a/bin/ansible/roles/atlassian.jira/vars/main.yml b/bin/ansible/roles/atlassian.jira/vars/main.yml index 8a0fd4e7a..cd14b3e53 100644 --- a/bin/ansible/roles/atlassian.jira/vars/main.yml +++ b/bin/ansible/roles/atlassian.jira/vars/main.yml @@ -1,2 +1,7 @@ # Defaults -target_directory: "/opt/tmp/jira/" +target_directory_jira_4: "/opt/tmp/jira/4" +target_directory_jira_5: "/opt/tmp/jira/5" +target_directory_jira_6: "/opt/tmp/jira/6" +target_directory_jira_7: "/opt/tmp/jira/7" +target_directory_jira_8: "/opt/tmp/jira/8" +target_directory_jira_9: "/opt/tmp/jira/9" diff --git a/bin/ansible/roles/common/files/versions/bitbucket/1.jdk7.txt b/bin/ansible/roles/common/files/versions/bitbucket/1.jdk7.txt new file mode 100644 index 000000000..702c48929 --- /dev/null +++ b/bin/ansible/roles/common/files/versions/bitbucket/1.jdk7.txt @@ -0,0 +1,5 @@ +1.0.3 +1.1.2 +1.2.1 +1.2.4 +1.3.1 \ No newline at end of file diff --git a/bin/ansible/roles/common/files/versions/bitbucket/2.jdk7.txt b/bin/ansible/roles/common/files/versions/bitbucket/2.jdk7.txt new file mode 100644 index 000000000..9db09a47f --- /dev/null +++ b/bin/ansible/roles/common/files/versions/bitbucket/2.jdk7.txt @@ -0,0 +1,35 @@ +2.0.3 +2.1.2 +2.2.0 +2.3.1 +2.4.2 +2.5.4 +2.6.5 +2.7.6 +2.8.4 +2.8.5 +2.9.1 +2.9.2 +2.9.3 +2.9.4 +2.9.5 +2.10.0 +2.10.1 +2.10.2 +2.10.3 +2.10.4 +2.10.5 +2.11.3 +2.11.4 +2.11.5 +2.11.6 +2.11.7 +2.11.8 +2.11.9 +2.12.0 +2.12.1 +2.12.2 +2.12.3 +2.12.4 +2.12.5 +2.12.6 \ No newline at end of file diff --git a/bin/ansible/roles/common/files/versions/bitbucket/3.jdk8.txt b/bin/ansible/roles/common/files/versions/bitbucket/3.jdk8.txt new file mode 100644 index 000000000..62945c78d --- /dev/null +++ b/bin/ansible/roles/common/files/versions/bitbucket/3.jdk8.txt @@ -0,0 +1,49 @@ +3.0.1 +3.0.4 +3.0.5 +3.0.6 +3.0.7 +3.0.8 +3.1.0 +3.1.1 +3.1.3 +3.1.4 +3.1.5 +3.1.7 +3.2.0 +3.2.2 +3.2.4 +3.2.5 +3.2.7 +3.3.0 +3.3.1 +3.3.2 +3.3.3 +3.3.5 +3.4.0 +3.4.1 +3.4.3 +3.4.5 +3.5.0 +3.5.1 +3.6.0 +3.6.1 +3.7.0 +3.7.1 +3.7.2 +3.7.3 +3.7.4 +3.8.0 +3.8.1 +3.9.1 +3.9.2 +3.10.0 +3.10.2 +3.10.3 +3.10.4 +3.11.0 +3.11.1 +3.11.2 +3.11.3 +3.11.4 +3.11.6 \ No newline at end of file diff --git a/bin/ansible/roles/common/files/versions/bitbucket/4.jdk8.txt b/bin/ansible/roles/common/files/versions/bitbucket/4.jdk8.txt new file mode 100644 index 000000000..06877c0b5 --- /dev/null +++ b/bin/ansible/roles/common/files/versions/bitbucket/4.jdk8.txt @@ -0,0 +1,64 @@ +4.0.1 +4.0.2 +4.0.3 +4.0.4 +4.0.6 +4.0.7 +4.0.8 +4.1.0 +4.1.3 +4.1.4 +4.1.6 +4.2.0 +4.2.1 +4.2.2 +4.2.3 +4.3.0 +4.3.1 +4.3.2 +4.3.3 +4.4.0 +4.4.1 +4.4.2 +4.4.4 +4.5.1 +4.5.2 +4.5.3 +4.6.0 +4.6.1 +4.6.2 +4.6.3 +4.6.4 +4.7.1 +4.7.2 +4.8.0 +4.8.1 +4.8.2 +4.8.3 +4.8.4 +4.8.5 +4.8.6 +4.9.0 +4.9.1 +4.10.0 +4.10.1 +4.10.2 +4.11.1 +4.11.2 +4.12.0 +4.12.1 +4.13.0 +4.13.1 +4.14.0 +4.14.1 +4.14.2 +4.14.3 +4.14.4 +4.14.5 +4.14.6 +4.14.7 +4.14.8 +4.14.9 +4.14.10 +4.14.11 +4.14.12 \ No newline at end of file diff --git a/bin/ansible/roles/common/files/versions/jira/8.jdk8-11.txt b/bin/ansible/roles/common/files/versions/jira/8.jdk8-11.txt index 0befa8ab6..e0764d4a3 100644 --- a/bin/ansible/roles/common/files/versions/jira/8.jdk8-11.txt +++ b/bin/ansible/roles/common/files/versions/jira/8.jdk8-11.txt @@ -115,6 +115,12 @@ 8.20.22 8.20.23 8.20.24 +8.20.25 +8.20.26 +8.20.27 +8.20.28 +8.20.29 +8.20.30 8.21.0 8.21.1 8.22.0 diff --git a/bin/ansible/roles/common/files/versions/jira/9.jdk8-11-17.txt b/bin/ansible/roles/common/files/versions/jira/9.jdk8-11-17.txt index eef0f446f..33ee91eaa 100644 --- a/bin/ansible/roles/common/files/versions/jira/9.jdk8-11-17.txt +++ b/bin/ansible/roles/common/files/versions/jira/9.jdk8-11-17.txt @@ -3,13 +3,20 @@ 9.6.0 9.7.0 9.7.1 +9.7.2 9.8.0 9.8.1 +9.8.2 9.9.0 9.9.1 +9.9.2 9.10.0 9.10.1 9.10.2 9.11.0 9.11.1 9.11.2 +9.11.3 +9.12.0 +9.12.1 +9.12.2 diff --git a/bin/ansible/roles/common/files/versions/jira/9.jdk8-11.txt b/bin/ansible/roles/common/files/versions/jira/9.jdk8-11.txt index ec778897e..1aa88ca64 100644 --- a/bin/ansible/roles/common/files/versions/jira/9.jdk8-11.txt +++ b/bin/ansible/roles/common/files/versions/jira/9.jdk8-11.txt @@ -16,3 +16,10 @@ 9.4.6 9.4.7 9.4.8 +9.4.9 +9.4.10 +9.4.11 +9.4.12 +9.4.14 +9.4.15 +9.4.15 diff --git a/linux/advanced/nextcloud/patched/27/Dockerfile b/linux/advanced/nextcloud/patched/27/Dockerfile new file mode 100644 index 000000000..4f0396c5d --- /dev/null +++ b/linux/advanced/nextcloud/patched/27/Dockerfile @@ -0,0 +1,8 @@ +FROM epicmorg/nextcloud:27 + +################################################################## +# thank u, mac users. rolling back normal ZipStreammer +################################################################## +RUN rm -frv /usr/src/nextcloud/lib/private/Streamer.php +ADD Streamer.php /usr/src/nextcloud/lib/private/ +RUN chown nobody:nogroup /usr/src/nextcloud/lib/private/Streamer.php diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Makefile b/linux/advanced/nextcloud/patched/27/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Makefile rename to linux/advanced/nextcloud/patched/27/Makefile diff --git a/linux/advanced/nextcloud/patched/27/README.md b/linux/advanced/nextcloud/patched/27/README.md new file mode 100644 index 000000000..b6df71808 --- /dev/null +++ b/linux/advanced/nextcloud/patched/27/README.md @@ -0,0 +1,527 @@ +# What is Nextcloud? + +[![GitHub CI build status badge](https://github.com/nextcloud/docker/workflows/Images/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3AImages) +[![update.sh build status badge](https://github.com/nextcloud/docker/workflows/update.sh/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3Aupdate.sh) +[![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud) +[![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud) +[![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud) +[![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud) +[![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud) +[![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud) +[![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud) +[![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud) +[![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud) + +A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. + +![logo](https://cdn.rawgit.com/nextcloud/docker/80dd587d847b184ba95d7187a2a7a56ae4cbbb7b/logo.svg) + +# How to use this image +This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from. + +The `apache` tag contains a full Nextcloud installation including an apache web server. It is designed to be easy to use and gets you running pretty fast. This is also the default for the `latest` tag and version tags that are not further specified. + +The second option is a `fpm` container. It is based on the [php-fpm](https://hub.docker.com/_/php/) image and runs a fastCGI-Process that serves your Nextcloud page. To use this image it must be combined with any webserver that can proxy the http requests to the FastCGI-port of the container. + +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/nextcloud/docker/8db861d67f257a3e9ac1790ea06d4e2a7a193a6c/stack.yml) + +## Using the apache image +The apache image contains a webserver and exposes port 80. To start the container type: + +```console +$ docker run -d -p 8080:80 nextcloud +``` + +Now you can access Nextcloud at http://localhost:8080/ from your host system. + + +## Using the fpm image +To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. +If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). +In both cases you don't want to map the fpm port to your host. + +```console +$ docker run -d nextcloud:fpm +``` + +As the fastCGI-Process is not capable of serving static files (style sheets, images, ...), the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the [docker-compose section](#running-this-image-with-docker-compose). + +## Using an external database +By default, this container uses SQLite for data storage but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. + +## Persistent data +The Nextcloud installation and all data beyond what lives in the database (file uploads, etc) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. + +A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and one for Nextcloud. + +Nextcloud: +- `/var/www/html/` folder where all nextcloud data lives +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +nextcloud +``` + +Database: +- `/var/lib/mysql` MySQL / MariaDB Data +- `/var/lib/postgresql/data` PostgreSQL Data +```console +$ docker run -d \ +-v db:/var/lib/mysql \ +mariadb +``` + +If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. +The `data`, `config` files are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. + +Overview of the folders that can be mounted as volumes: + +- `/var/www/html` Main folder, needed for updating +- `/var/www/html/custom_apps` installed / modified apps +- `/var/www/html/config` local configuration +- `/var/www/html/data` the actual data of your Nextcloud +- `/var/www/html/themes/` theming/branding + +If you want to use named volumes for all of these, it would look like this: +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +-v apps:/var/www/html/custom_apps \ +-v config:/var/www/html/config \ +-v data:/var/www/html/data \ +-v theme:/var/www/html/themes/ \ +nextcloud +``` + +## Using the Nextcloud command-line interface +To use the [Nextcloud command-line interface](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html) (aka. `occ` command): +```console +$ docker exec --user www-data CONTAINER_ID php occ +``` +or for docker-compose: +```console +$ docker-compose exec --user www-data app php occ +``` + +## Auto configuration via environment variables +The nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! + +__SQLite__: +- `SQLITE_DATABASE` Name of the database using sqlite + +__MYSQL/MariaDB__: +- `MYSQL_DATABASE` Name of the database using mysql / mariadb. +- `MYSQL_USER` Username for the database using mysql / mariadb. +- `MYSQL_PASSWORD` Password for the database user using mysql / mariadb. +- `MYSQL_HOST` Hostname of the database server using mysql / mariadb. + +__PostgreSQL__: +- `POSTGRES_DB` Name of the database using postgres. +- `POSTGRES_USER` Username for the database using postgres. +- `POSTGRES_PASSWORD` Password for the database user using postgres. +- `POSTGRES_HOST` Hostname of the database server using postgres. + +If you set any values, they will not be asked in the install page on first run. With a complete configuration by using all variables for your database type, you can additionally configure your Nextcloud instance by setting admin user and password (only works if you set both): + +- `NEXTCLOUD_ADMIN_USER` Name of the Nextcloud admin user. +- `NEXTCLOUD_ADMIN_PASSWORD` Password for the Nextcloud admin user. + +If you want, you can set the data directory, otherwise default value will be used. + +- `NEXTCLOUD_DATA_DIR` (default: _/var/www/html/data_) Configures the data directory where nextcloud stores all files from the users. + +One or more trusted domains can be set through environment variable, too. They will be added to the configuration after install. + +- `NEXTCLOUD_TRUSTED_DOMAINS` (not set by default) Optional space-separated list of domains + +The install and update script is only triggered when a default command is used (`apache-foreground` or `php-fpm`). If you use a custom command you have to enable the install / update with + +- `NEXTCLOUD_UPDATE` (default: _0_) + +If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container, pass in the following parameters: + +- `REDIS_HOST` (not set by default) Name of Redis container +- `REDIS_HOST_PORT` (default: _6379_) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PASSWORD` (not set by default) Redis password + +The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. + +To use an external SMTP server, you have to provide the connection details. To configure Nextcloud to use SMTP add: + +- `SMTP_HOST` (not set by default): The hostname of the SMTP server. +- `SMTP_SECURE` (empty by default): Set to `ssl` to use SSL, or `tls` to use STARTTLS. +- `SMTP_PORT` (default: `465` for SSL and `25` for non-secure connections): Optional port for the SMTP connection. Use `587` for an alternative port for STARTTLS. +- `SMTP_AUTHTYPE` (default: `LOGIN`): The method used for authentication. Use `PLAIN` if no authentication is required. +- `SMTP_NAME` (empty by default): The username for the authentication. +- `SMTP_PASSWORD` (empty by default): The password for the authentication. +- `MAIL_FROM_ADDRESS` (not set by default): Use this address for the 'from' field in the emails sent by Nextcloud. +- `MAIL_DOMAIN` (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed. + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. + +To use an external S3 compatible object store as primary storage, set the following variables: +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + +To use an external OpenStack Swift object store as primary storage, set the following variables: +- `OBJECTSTORE_SWIFT_URL`: The Swift identity (Keystone) endpoint +- `OBJECTSTORE_SWIFT_AUTOCREATE` (default: `false`): Whether or not Nextcloud should automatically create the Swift container +- `OBJECTSTORE_SWIFT_USER_NAME`: Swift username +- `OBJECTSTORE_SWIFT_USER_PASSWORD`: Swift user password +- `OBJECTSTORE_SWIFT_USER_DOMAIN` (default: `Default`): Swift user domain +- `OBJECTSTORE_SWIFT_PROJECT_NAME`: OpenStack project name +- `OBJECTSTORE_SWIFT_PROJECT_DOMAIN` (default: `Default`): OpenStack project domain +- `OBJECTSTORE_SWIFT_SERVICE_NAME` (default: `swift`): Swift service name +- `OBJECTSTORE_SWIFT_SERVICE_REGION`: Swift endpoint region +- `OBJECTSTORE_SWIFT_CONTAINER_NAME`: Swift container (bucket) that Nextcloud should store the data in + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#openstack-swift) for more information. + + +## Using the apache image behind a reverse proxy and auto configure server host and protocol + +The apache image will replace the remote addr (ip address visible to Nextcloud) with the ip address from `X-Real-IP` if the request is coming from a proxy in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16 by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client ip (`HTTP_X_FORWARDED_FOR`) from a trusted proxy disable rewrite ip and the reverse proxies ip address to `TRUSTED_PROXIES`. + +- `APACHE_DISABLE_REWRITE_IP` (not set by default): Set to 1 to disable rewrite ip. + +- `TRUSTED_PROXIES` (empty by default): A space-separated list of trusted proxies. CIDR notation is supported for IPv4. + +If the `TRUSTED_PROXIES` approach does not work for you, try using fixed values for overwrite parameters. + +- `OVERWRITEHOST` (empty by default): Set the hostname of the proxy. Can also specify a port. +- `OVERWRITEPROTOCOL` (empty by default): Set the protocol of the proxy, http or https. +- `OVERWRITEWEBROOT` (empty by default): Set the absolute path of the proxy. +- `OVERWRITECONDADDR` (empty by default): Regex to overwrite the values dependent on the remote address. + +Check the [Nexcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html) for more details. + +Keep in mind that once set, removing these environment variables won't remove these values from the configuration file, due to how Nextcloud merges configuration files together. + +# Running this image with docker-compose +The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. + +At first, make sure you have chosen the right base image (fpm or apache) and added features you wanted (see below). In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information. + +## Base version - apache +This version will use the apache image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud + ports: + - 8080:80 + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +## Base version - FPM +When using the FPM image, you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also needs access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). + +As this setup does **not include encryption**, it should be run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud:fpm + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + + web: + image: nginx + ports: + - 8080:80 + links: + - app + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + volumes_from: + - app + restart: always +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +# Docker Secrets +As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: +```yaml +version: '3.2' + +services: + db: + image: postgres + restart: always + volumes: + - db:/var/lib/postgresql/data + environment: + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + secrets: + - postgres_db + - postgres_password + - postgres_user + + app: + image: nextcloud + restart: always + ports: + - 8080:80 + volumes: + - nextcloud:/var/www/html + environment: + - POSTGRES_HOST=db + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + - NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password + - NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user + depends_on: + - db + secrets: + - nextcloud_admin_password + - nextcloud_admin_user + - postgres_db + - postgres_password + - postgres_user + +volumes: + db: + nextcloud: + +secrets: + nextcloud_admin_password: + file: ./nextcloud_admin_password.txt # put admin password to this file + nextcloud_admin_user: + file: ./nextcloud_admin_user.txt # put admin username to this file + postgres_db: + file: ./postgres_db.txt # put postgresql db name to this file + postgres_password: + file: ./postgres_password.txt # put postgresql password to this file + postgres_user: + file: ./postgres_user.txt # put postgresql username to this file +``` + +Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`. + +# Make your Nextcloud available from the internet +Until here, your Nextcloud is just available from you docker host. If you want your Nextcloud available from the internet adding SSL encryption is mandatory. + +## HTTPS - SSL encryption +There are many different possibilities to introduce encryption depending on your setup. + +We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution which generates and renews the certificates for you. + +In our [examples](https://github.com/nextcloud/docker/tree/master/.examples) section we have an example for a fully automated setup using a reverse proxy, a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling, database and Nextcloud. It uses the popular [nginx-proxy](https://github.com/jwilder/nginx-proxy) and [docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers. Please check the according documentations before using this setup. + +# First use +When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account username, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. + +# Update to a newer version +Updating the Nextcloud container is done by pulling the new image, throwing away the old container and starting the new one. + +**It is only possible to upgrade one major version at a time. For example, if you want to upgrade from version 14 to 16, you will have to upgrade from version 14 to 15, then from 15 to 16.** + +Since all data is stored in volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process. Don't forget to add all the volumes to your new container, so it works as expected. + +```console +$ docker pull nextcloud +$ docker stop +$ docker rm +$ docker run -d nextcloud +``` +Beware that you have to run the same command with the options that you used to initially start your Nextcloud. That includes volumes, port mapping. + +When using docker-compose your compose file takes care of your configuration, so you just have to run: + +```console +$ docker-compose pull +$ docker-compose up -d +``` + + +# Adding Features +A lot of people want to use additional functionality inside their Nextcloud installation. If the image does not include the packages you need, you can easily build your own image on top of it. +Start your derived image with the `FROM` statement and add whatever you like. + +```yaml +FROM nextcloud:apache + +RUN ... + +``` +The [examples folder](https://github.com/nextcloud/docker/blob/master/.examples) gives a few examples on how to add certain functionalities, like including the cron job, smb-support or imap-authentication. + +If you use your own Dockerfile, you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) + +```yaml + app: + build: . + links: + - db + volumes: + - data:/var/www/html/data + - config:/var/www/html/config + - apps:/var/www/html/apps + restart: always +``` + +If you intend to use another command to run the image, make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. + +```yaml +FROM nextcloud:apache + +... + +ENV NEXTCLOUD_UPDATE=1 + +CMD ["/usr/bin/supervisord"] +``` + + +**Updating** your own derived image is also very simple. When a new version of the Nextcloud image is available run: + +```console +docker build -t your-name --pull . +docker run -d your-name +``` + +or for docker-compose: +```console +docker-compose build --pull +docker-compose up -d +``` + +The `--pull` option tells docker to look for new versions of the base image. Then the build instructions inside your `Dockerfile` are run on top of the new image. + +# Migrating an existing installation +You're already using Nextcloud and want to switch to docker? Great! Here are some things to look out for: + +1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. +2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) + - To import from a MySQL dump use the following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` + - To import from a PostgreSQL dump use to following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` +3. Edit your config.php + 1. Set database connection + - In case of MySQL database + ```php + 'dbhost' => 'db:3306', + ``` + - In case of PostgreSQL database + ```php + 'dbhost' => 'db:5432', + ``` + 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these + ```diff + - "apps_paths" => array ( + - 0 => array ( + - "path" => OC::$SERVERROOT."/apps", + - "url" => "/apps", + - "writable" => true, + - ), + ``` + 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable + ```php + 'apps_paths' => array ( + 0 => array ( + 'path' => '/var/www/html/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => array ( + 'path' => '/var/www/html/custom_apps', + 'url' => '/custom_apps', + 'writable' => true, + ), + ), + ``` + 4. Make sure your data directory is set to /var/www/html/data + ```php + 'datadirectory' => '/var/www/html/data', + ``` + + +4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): +```console +docker cp ./data/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/data +docker cp ./theming/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/theming +docker cp ./config/config.php nextcloud_app_1:/var/www/html/config +docker-compose exec app chown -R www-data:www-data /var/www/html/config +``` +5. Copy only the custom apps you use (or simply redownload them from the web interface): +```console +docker cp ./custom_apps/ nextcloud_data:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps +``` + +# Questions / Issues +If you got any questions or problems using the image, please visit our [Github Repository](https://github.com/nextcloud/docker) and write an issue. diff --git a/linux/advanced/nextcloud/patched/27/Streamer.php b/linux/advanced/nextcloud/patched/27/Streamer.php new file mode 100644 index 000000000..02a7719e4 --- /dev/null +++ b/linux/advanced/nextcloud/patched/27/Streamer.php @@ -0,0 +1,190 @@ + + * @author Daniel Calviño Sánchez + * @author Joas Schilling + * @author Roeland Jago Douma + * @author Thomas Müller + * @author Victor Dubiniuk + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OC; + +use OC\Files\Filesystem; +use OCP\Files\File; +use OCP\Files\Folder; +use OCP\Files\InvalidPathException; +use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; +use OCP\IRequest; +use ownCloud\TarStreamer\TarStreamer; +use ZipStreamer\ZipStreamer; + +class Streamer { + // array of regexp. Matching user agents will get tar instead of zip + private $preferTarFor = [ '/macintosh|mac os x/i' ]; + + // streamer instance + private $streamerInstance; + + /** + * Streamer constructor. + * + * @param IRequest $request + * @param int $size The size of the files in bytes + * @param int $numberOfFiles The number of files (and directories) that will + * be included in the streamed file + */ + public function __construct(IRequest $request, $size, int $numberOfFiles){ + + /** + * zip32 constraints for a basic (without compression, volumes nor + * encryption) zip file according to the Zip specification: + * - No file size is larger than 4 bytes (file size < 4294967296); see + * 4.4.9 uncompressed size + * - The size of all files plus their local headers is not larger than + * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 + * offset of start of central directory with respect to the starting + * disk number + * - The total number of entries (files and directories) in the zip file + * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 + * total number of entries in the central dir + * - The size of the central directory is not larger than 4 bytes; see + * 4.4.23 size of the central directory + * + * Due to all that, zip32 is used if the size is below 4GB and there are + * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 + * should give enough room for the extra zip metadata. Technically, it + * would still be possible to create an invalid zip32 file (for example, + * a zip file from files smaller than 4GB with a central directory + * larger than 4GiB), but it should not happen in the real world. + */ + if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { + $this->streamerInstance = new ZipStreamer(['zip64' => true]); + } else if ($request->isUserAgent($this->preferTarFor)) { + $this->streamerInstance = new TarStreamer(); + } else { + $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); + } + } + + /** + * Send HTTP headers + * @param string $name + */ + public function sendHeaders($name){ + $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; + $fullName = $name . $extension; + $this->streamerInstance->sendHeaders($fullName); + } + + /** + * Stream directory recursively + * + * @throws NotFoundException + * @throws NotPermittedException + * @throws InvalidPathException + */ + public function addDirRecursive(string $dir, string $internalDir = ''): void { + $dirname = basename($dir); + $rootDir = $internalDir . $dirname; + if (!empty($rootDir)) { + $this->streamerInstance->addEmptyDir($rootDir); + } + $internalDir .= $dirname . '/'; + // prevent absolute dirs + $internalDir = ltrim($internalDir, '/'); + + $userFolder = \OC::$server->getRootFolder()->get(Filesystem::getRoot()); + /** @var Folder $dirNode */ + $dirNode = $userFolder->get($dir); + $files = $dirNode->getDirectoryListing(); + + foreach($files as $file) { + if($file instanceof File) { + try { + $fh = $file->fopen('r'); + } catch (NotPermittedException $e) { + continue; + } + $this->addFileFromStream( + $fh, + $internalDir . $file->getName(), + $file->getSize(), + $file->getMTime() + ); + fclose($fh); + } elseif ($file instanceof Folder) { + if($file->isReadable()) { + $this->addDirRecursive($dir . '/' . $file->getName(), $internalDir); + } + } + } + } + + /** + * Add a file to the archive at the specified location and file name. + * + * @param string $stream Stream to read data from + * @param string $internalName Filepath and name to be used in the archive. + * @param int $size Filesize + * @param int|bool $time File mtime as int, or false + * @return bool $success + */ + public function addFileFromStream($stream, $internalName, $size, $time) { + $options = []; + if ($time) { + $options = [ + 'timestamp' => $time + ]; + } + + if ($this->streamerInstance instanceof ZipStreamer) { + return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); + } else { + return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); + } + } + + /** + * Add an empty directory entry to the archive. + * + * @param string $dirName Directory Path and name to be added to the archive. + * @return bool $success + */ + public function addEmptyDir($dirName){ + return $this->streamerInstance->addEmptyDir($dirName); + } + + /** + * Close the archive. + * A closed archive can no longer have new files added to it. After + * closing, the file is completely written to the output stream. + * @return bool $success + */ + public function finalize(){ + return $this->streamerInstance->finalize(); + } +} diff --git a/linux/advanced/nextcloud/patched/27/docker-compose.yml b/linux/advanced/nextcloud/patched/27/docker-compose.yml new file mode 100644 index 000000000..d1df64a05 --- /dev/null +++ b/linux/advanced/nextcloud/patched/27/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/nextcloud:27-patched" + build: + context: . diff --git a/linux/advanced/nextcloud/patched/28/Dockerfile b/linux/advanced/nextcloud/patched/28/Dockerfile new file mode 100644 index 000000000..adf9f9bad --- /dev/null +++ b/linux/advanced/nextcloud/patched/28/Dockerfile @@ -0,0 +1,8 @@ +FROM epicmorg/nextcloud:28 + +################################################################## +# thank u, mac users. rolling back normal ZipStreammer +################################################################## +RUN rm -frv /usr/src/nextcloud/lib/private/Streamer.php +ADD Streamer.php /usr/src/nextcloud/lib/private/ +RUN chown nobody:nogroup /usr/src/nextcloud/lib/private/Streamer.php diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Makefile b/linux/advanced/nextcloud/patched/28/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Makefile rename to linux/advanced/nextcloud/patched/28/Makefile diff --git a/linux/advanced/nextcloud/patched/28/README.md b/linux/advanced/nextcloud/patched/28/README.md new file mode 100644 index 000000000..b6df71808 --- /dev/null +++ b/linux/advanced/nextcloud/patched/28/README.md @@ -0,0 +1,527 @@ +# What is Nextcloud? + +[![GitHub CI build status badge](https://github.com/nextcloud/docker/workflows/Images/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3AImages) +[![update.sh build status badge](https://github.com/nextcloud/docker/workflows/update.sh/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3Aupdate.sh) +[![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud) +[![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud) +[![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud) +[![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud) +[![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud) +[![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud) +[![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud) +[![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud) +[![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud) + +A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. + +![logo](https://cdn.rawgit.com/nextcloud/docker/80dd587d847b184ba95d7187a2a7a56ae4cbbb7b/logo.svg) + +# How to use this image +This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from. + +The `apache` tag contains a full Nextcloud installation including an apache web server. It is designed to be easy to use and gets you running pretty fast. This is also the default for the `latest` tag and version tags that are not further specified. + +The second option is a `fpm` container. It is based on the [php-fpm](https://hub.docker.com/_/php/) image and runs a fastCGI-Process that serves your Nextcloud page. To use this image it must be combined with any webserver that can proxy the http requests to the FastCGI-port of the container. + +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/nextcloud/docker/8db861d67f257a3e9ac1790ea06d4e2a7a193a6c/stack.yml) + +## Using the apache image +The apache image contains a webserver and exposes port 80. To start the container type: + +```console +$ docker run -d -p 8080:80 nextcloud +``` + +Now you can access Nextcloud at http://localhost:8080/ from your host system. + + +## Using the fpm image +To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. +If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). +In both cases you don't want to map the fpm port to your host. + +```console +$ docker run -d nextcloud:fpm +``` + +As the fastCGI-Process is not capable of serving static files (style sheets, images, ...), the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the [docker-compose section](#running-this-image-with-docker-compose). + +## Using an external database +By default, this container uses SQLite for data storage but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. + +## Persistent data +The Nextcloud installation and all data beyond what lives in the database (file uploads, etc) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. + +A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and one for Nextcloud. + +Nextcloud: +- `/var/www/html/` folder where all nextcloud data lives +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +nextcloud +``` + +Database: +- `/var/lib/mysql` MySQL / MariaDB Data +- `/var/lib/postgresql/data` PostgreSQL Data +```console +$ docker run -d \ +-v db:/var/lib/mysql \ +mariadb +``` + +If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. +The `data`, `config` files are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. + +Overview of the folders that can be mounted as volumes: + +- `/var/www/html` Main folder, needed for updating +- `/var/www/html/custom_apps` installed / modified apps +- `/var/www/html/config` local configuration +- `/var/www/html/data` the actual data of your Nextcloud +- `/var/www/html/themes/` theming/branding + +If you want to use named volumes for all of these, it would look like this: +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +-v apps:/var/www/html/custom_apps \ +-v config:/var/www/html/config \ +-v data:/var/www/html/data \ +-v theme:/var/www/html/themes/ \ +nextcloud +``` + +## Using the Nextcloud command-line interface +To use the [Nextcloud command-line interface](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html) (aka. `occ` command): +```console +$ docker exec --user www-data CONTAINER_ID php occ +``` +or for docker-compose: +```console +$ docker-compose exec --user www-data app php occ +``` + +## Auto configuration via environment variables +The nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! + +__SQLite__: +- `SQLITE_DATABASE` Name of the database using sqlite + +__MYSQL/MariaDB__: +- `MYSQL_DATABASE` Name of the database using mysql / mariadb. +- `MYSQL_USER` Username for the database using mysql / mariadb. +- `MYSQL_PASSWORD` Password for the database user using mysql / mariadb. +- `MYSQL_HOST` Hostname of the database server using mysql / mariadb. + +__PostgreSQL__: +- `POSTGRES_DB` Name of the database using postgres. +- `POSTGRES_USER` Username for the database using postgres. +- `POSTGRES_PASSWORD` Password for the database user using postgres. +- `POSTGRES_HOST` Hostname of the database server using postgres. + +If you set any values, they will not be asked in the install page on first run. With a complete configuration by using all variables for your database type, you can additionally configure your Nextcloud instance by setting admin user and password (only works if you set both): + +- `NEXTCLOUD_ADMIN_USER` Name of the Nextcloud admin user. +- `NEXTCLOUD_ADMIN_PASSWORD` Password for the Nextcloud admin user. + +If you want, you can set the data directory, otherwise default value will be used. + +- `NEXTCLOUD_DATA_DIR` (default: _/var/www/html/data_) Configures the data directory where nextcloud stores all files from the users. + +One or more trusted domains can be set through environment variable, too. They will be added to the configuration after install. + +- `NEXTCLOUD_TRUSTED_DOMAINS` (not set by default) Optional space-separated list of domains + +The install and update script is only triggered when a default command is used (`apache-foreground` or `php-fpm`). If you use a custom command you have to enable the install / update with + +- `NEXTCLOUD_UPDATE` (default: _0_) + +If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container, pass in the following parameters: + +- `REDIS_HOST` (not set by default) Name of Redis container +- `REDIS_HOST_PORT` (default: _6379_) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PASSWORD` (not set by default) Redis password + +The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. + +To use an external SMTP server, you have to provide the connection details. To configure Nextcloud to use SMTP add: + +- `SMTP_HOST` (not set by default): The hostname of the SMTP server. +- `SMTP_SECURE` (empty by default): Set to `ssl` to use SSL, or `tls` to use STARTTLS. +- `SMTP_PORT` (default: `465` for SSL and `25` for non-secure connections): Optional port for the SMTP connection. Use `587` for an alternative port for STARTTLS. +- `SMTP_AUTHTYPE` (default: `LOGIN`): The method used for authentication. Use `PLAIN` if no authentication is required. +- `SMTP_NAME` (empty by default): The username for the authentication. +- `SMTP_PASSWORD` (empty by default): The password for the authentication. +- `MAIL_FROM_ADDRESS` (not set by default): Use this address for the 'from' field in the emails sent by Nextcloud. +- `MAIL_DOMAIN` (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed. + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. + +To use an external S3 compatible object store as primary storage, set the following variables: +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + +To use an external OpenStack Swift object store as primary storage, set the following variables: +- `OBJECTSTORE_SWIFT_URL`: The Swift identity (Keystone) endpoint +- `OBJECTSTORE_SWIFT_AUTOCREATE` (default: `false`): Whether or not Nextcloud should automatically create the Swift container +- `OBJECTSTORE_SWIFT_USER_NAME`: Swift username +- `OBJECTSTORE_SWIFT_USER_PASSWORD`: Swift user password +- `OBJECTSTORE_SWIFT_USER_DOMAIN` (default: `Default`): Swift user domain +- `OBJECTSTORE_SWIFT_PROJECT_NAME`: OpenStack project name +- `OBJECTSTORE_SWIFT_PROJECT_DOMAIN` (default: `Default`): OpenStack project domain +- `OBJECTSTORE_SWIFT_SERVICE_NAME` (default: `swift`): Swift service name +- `OBJECTSTORE_SWIFT_SERVICE_REGION`: Swift endpoint region +- `OBJECTSTORE_SWIFT_CONTAINER_NAME`: Swift container (bucket) that Nextcloud should store the data in + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#openstack-swift) for more information. + + +## Using the apache image behind a reverse proxy and auto configure server host and protocol + +The apache image will replace the remote addr (ip address visible to Nextcloud) with the ip address from `X-Real-IP` if the request is coming from a proxy in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16 by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client ip (`HTTP_X_FORWARDED_FOR`) from a trusted proxy disable rewrite ip and the reverse proxies ip address to `TRUSTED_PROXIES`. + +- `APACHE_DISABLE_REWRITE_IP` (not set by default): Set to 1 to disable rewrite ip. + +- `TRUSTED_PROXIES` (empty by default): A space-separated list of trusted proxies. CIDR notation is supported for IPv4. + +If the `TRUSTED_PROXIES` approach does not work for you, try using fixed values for overwrite parameters. + +- `OVERWRITEHOST` (empty by default): Set the hostname of the proxy. Can also specify a port. +- `OVERWRITEPROTOCOL` (empty by default): Set the protocol of the proxy, http or https. +- `OVERWRITEWEBROOT` (empty by default): Set the absolute path of the proxy. +- `OVERWRITECONDADDR` (empty by default): Regex to overwrite the values dependent on the remote address. + +Check the [Nexcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html) for more details. + +Keep in mind that once set, removing these environment variables won't remove these values from the configuration file, due to how Nextcloud merges configuration files together. + +# Running this image with docker-compose +The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. + +At first, make sure you have chosen the right base image (fpm or apache) and added features you wanted (see below). In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information. + +## Base version - apache +This version will use the apache image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud + ports: + - 8080:80 + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +## Base version - FPM +When using the FPM image, you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also needs access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). + +As this setup does **not include encryption**, it should be run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud:fpm + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + + web: + image: nginx + ports: + - 8080:80 + links: + - app + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + volumes_from: + - app + restart: always +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +# Docker Secrets +As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: +```yaml +version: '3.2' + +services: + db: + image: postgres + restart: always + volumes: + - db:/var/lib/postgresql/data + environment: + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + secrets: + - postgres_db + - postgres_password + - postgres_user + + app: + image: nextcloud + restart: always + ports: + - 8080:80 + volumes: + - nextcloud:/var/www/html + environment: + - POSTGRES_HOST=db + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + - NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password + - NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user + depends_on: + - db + secrets: + - nextcloud_admin_password + - nextcloud_admin_user + - postgres_db + - postgres_password + - postgres_user + +volumes: + db: + nextcloud: + +secrets: + nextcloud_admin_password: + file: ./nextcloud_admin_password.txt # put admin password to this file + nextcloud_admin_user: + file: ./nextcloud_admin_user.txt # put admin username to this file + postgres_db: + file: ./postgres_db.txt # put postgresql db name to this file + postgres_password: + file: ./postgres_password.txt # put postgresql password to this file + postgres_user: + file: ./postgres_user.txt # put postgresql username to this file +``` + +Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`. + +# Make your Nextcloud available from the internet +Until here, your Nextcloud is just available from you docker host. If you want your Nextcloud available from the internet adding SSL encryption is mandatory. + +## HTTPS - SSL encryption +There are many different possibilities to introduce encryption depending on your setup. + +We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution which generates and renews the certificates for you. + +In our [examples](https://github.com/nextcloud/docker/tree/master/.examples) section we have an example for a fully automated setup using a reverse proxy, a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling, database and Nextcloud. It uses the popular [nginx-proxy](https://github.com/jwilder/nginx-proxy) and [docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers. Please check the according documentations before using this setup. + +# First use +When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account username, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. + +# Update to a newer version +Updating the Nextcloud container is done by pulling the new image, throwing away the old container and starting the new one. + +**It is only possible to upgrade one major version at a time. For example, if you want to upgrade from version 14 to 16, you will have to upgrade from version 14 to 15, then from 15 to 16.** + +Since all data is stored in volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process. Don't forget to add all the volumes to your new container, so it works as expected. + +```console +$ docker pull nextcloud +$ docker stop +$ docker rm +$ docker run -d nextcloud +``` +Beware that you have to run the same command with the options that you used to initially start your Nextcloud. That includes volumes, port mapping. + +When using docker-compose your compose file takes care of your configuration, so you just have to run: + +```console +$ docker-compose pull +$ docker-compose up -d +``` + + +# Adding Features +A lot of people want to use additional functionality inside their Nextcloud installation. If the image does not include the packages you need, you can easily build your own image on top of it. +Start your derived image with the `FROM` statement and add whatever you like. + +```yaml +FROM nextcloud:apache + +RUN ... + +``` +The [examples folder](https://github.com/nextcloud/docker/blob/master/.examples) gives a few examples on how to add certain functionalities, like including the cron job, smb-support or imap-authentication. + +If you use your own Dockerfile, you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) + +```yaml + app: + build: . + links: + - db + volumes: + - data:/var/www/html/data + - config:/var/www/html/config + - apps:/var/www/html/apps + restart: always +``` + +If you intend to use another command to run the image, make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. + +```yaml +FROM nextcloud:apache + +... + +ENV NEXTCLOUD_UPDATE=1 + +CMD ["/usr/bin/supervisord"] +``` + + +**Updating** your own derived image is also very simple. When a new version of the Nextcloud image is available run: + +```console +docker build -t your-name --pull . +docker run -d your-name +``` + +or for docker-compose: +```console +docker-compose build --pull +docker-compose up -d +``` + +The `--pull` option tells docker to look for new versions of the base image. Then the build instructions inside your `Dockerfile` are run on top of the new image. + +# Migrating an existing installation +You're already using Nextcloud and want to switch to docker? Great! Here are some things to look out for: + +1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. +2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) + - To import from a MySQL dump use the following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` + - To import from a PostgreSQL dump use to following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` +3. Edit your config.php + 1. Set database connection + - In case of MySQL database + ```php + 'dbhost' => 'db:3306', + ``` + - In case of PostgreSQL database + ```php + 'dbhost' => 'db:5432', + ``` + 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these + ```diff + - "apps_paths" => array ( + - 0 => array ( + - "path" => OC::$SERVERROOT."/apps", + - "url" => "/apps", + - "writable" => true, + - ), + ``` + 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable + ```php + 'apps_paths' => array ( + 0 => array ( + 'path' => '/var/www/html/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => array ( + 'path' => '/var/www/html/custom_apps', + 'url' => '/custom_apps', + 'writable' => true, + ), + ), + ``` + 4. Make sure your data directory is set to /var/www/html/data + ```php + 'datadirectory' => '/var/www/html/data', + ``` + + +4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): +```console +docker cp ./data/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/data +docker cp ./theming/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/theming +docker cp ./config/config.php nextcloud_app_1:/var/www/html/config +docker-compose exec app chown -R www-data:www-data /var/www/html/config +``` +5. Copy only the custom apps you use (or simply redownload them from the web interface): +```console +docker cp ./custom_apps/ nextcloud_data:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps +``` + +# Questions / Issues +If you got any questions or problems using the image, please visit our [Github Repository](https://github.com/nextcloud/docker) and write an issue. diff --git a/linux/advanced/nextcloud/patched/28/Streamer.php b/linux/advanced/nextcloud/patched/28/Streamer.php new file mode 100644 index 000000000..02a7719e4 --- /dev/null +++ b/linux/advanced/nextcloud/patched/28/Streamer.php @@ -0,0 +1,190 @@ + + * @author Daniel Calviño Sánchez + * @author Joas Schilling + * @author Roeland Jago Douma + * @author Thomas Müller + * @author Victor Dubiniuk + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OC; + +use OC\Files\Filesystem; +use OCP\Files\File; +use OCP\Files\Folder; +use OCP\Files\InvalidPathException; +use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; +use OCP\IRequest; +use ownCloud\TarStreamer\TarStreamer; +use ZipStreamer\ZipStreamer; + +class Streamer { + // array of regexp. Matching user agents will get tar instead of zip + private $preferTarFor = [ '/macintosh|mac os x/i' ]; + + // streamer instance + private $streamerInstance; + + /** + * Streamer constructor. + * + * @param IRequest $request + * @param int $size The size of the files in bytes + * @param int $numberOfFiles The number of files (and directories) that will + * be included in the streamed file + */ + public function __construct(IRequest $request, $size, int $numberOfFiles){ + + /** + * zip32 constraints for a basic (without compression, volumes nor + * encryption) zip file according to the Zip specification: + * - No file size is larger than 4 bytes (file size < 4294967296); see + * 4.4.9 uncompressed size + * - The size of all files plus their local headers is not larger than + * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 + * offset of start of central directory with respect to the starting + * disk number + * - The total number of entries (files and directories) in the zip file + * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 + * total number of entries in the central dir + * - The size of the central directory is not larger than 4 bytes; see + * 4.4.23 size of the central directory + * + * Due to all that, zip32 is used if the size is below 4GB and there are + * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 + * should give enough room for the extra zip metadata. Technically, it + * would still be possible to create an invalid zip32 file (for example, + * a zip file from files smaller than 4GB with a central directory + * larger than 4GiB), but it should not happen in the real world. + */ + if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { + $this->streamerInstance = new ZipStreamer(['zip64' => true]); + } else if ($request->isUserAgent($this->preferTarFor)) { + $this->streamerInstance = new TarStreamer(); + } else { + $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); + } + } + + /** + * Send HTTP headers + * @param string $name + */ + public function sendHeaders($name){ + $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; + $fullName = $name . $extension; + $this->streamerInstance->sendHeaders($fullName); + } + + /** + * Stream directory recursively + * + * @throws NotFoundException + * @throws NotPermittedException + * @throws InvalidPathException + */ + public function addDirRecursive(string $dir, string $internalDir = ''): void { + $dirname = basename($dir); + $rootDir = $internalDir . $dirname; + if (!empty($rootDir)) { + $this->streamerInstance->addEmptyDir($rootDir); + } + $internalDir .= $dirname . '/'; + // prevent absolute dirs + $internalDir = ltrim($internalDir, '/'); + + $userFolder = \OC::$server->getRootFolder()->get(Filesystem::getRoot()); + /** @var Folder $dirNode */ + $dirNode = $userFolder->get($dir); + $files = $dirNode->getDirectoryListing(); + + foreach($files as $file) { + if($file instanceof File) { + try { + $fh = $file->fopen('r'); + } catch (NotPermittedException $e) { + continue; + } + $this->addFileFromStream( + $fh, + $internalDir . $file->getName(), + $file->getSize(), + $file->getMTime() + ); + fclose($fh); + } elseif ($file instanceof Folder) { + if($file->isReadable()) { + $this->addDirRecursive($dir . '/' . $file->getName(), $internalDir); + } + } + } + } + + /** + * Add a file to the archive at the specified location and file name. + * + * @param string $stream Stream to read data from + * @param string $internalName Filepath and name to be used in the archive. + * @param int $size Filesize + * @param int|bool $time File mtime as int, or false + * @return bool $success + */ + public function addFileFromStream($stream, $internalName, $size, $time) { + $options = []; + if ($time) { + $options = [ + 'timestamp' => $time + ]; + } + + if ($this->streamerInstance instanceof ZipStreamer) { + return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); + } else { + return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); + } + } + + /** + * Add an empty directory entry to the archive. + * + * @param string $dirName Directory Path and name to be added to the archive. + * @return bool $success + */ + public function addEmptyDir($dirName){ + return $this->streamerInstance->addEmptyDir($dirName); + } + + /** + * Close the archive. + * A closed archive can no longer have new files added to it. After + * closing, the file is completely written to the output stream. + * @return bool $success + */ + public function finalize(){ + return $this->streamerInstance->finalize(); + } +} diff --git a/linux/advanced/nextcloud/patched/28/docker-compose.yml b/linux/advanced/nextcloud/patched/28/docker-compose.yml new file mode 100644 index 000000000..1d215c632 --- /dev/null +++ b/linux/advanced/nextcloud/patched/28/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/nextcloud:28-patched" + build: + context: . diff --git a/linux/advanced/nextcloud/pure/14/sources.list b/linux/advanced/nextcloud/pure/14/sources.list index 508f1b71c..fdfe8b726 100644 --- a/linux/advanced/nextcloud/pure/14/sources.list +++ b/linux/advanced/nextcloud/pure/14/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/15/sources.list b/linux/advanced/nextcloud/pure/15/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/15/sources.list +++ b/linux/advanced/nextcloud/pure/15/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/16/sources.list b/linux/advanced/nextcloud/pure/16/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/16/sources.list +++ b/linux/advanced/nextcloud/pure/16/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/17/sources.list b/linux/advanced/nextcloud/pure/17/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/17/sources.list +++ b/linux/advanced/nextcloud/pure/17/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/18/sources.list b/linux/advanced/nextcloud/pure/18/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/18/sources.list +++ b/linux/advanced/nextcloud/pure/18/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/19/sources.list b/linux/advanced/nextcloud/pure/19/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/19/sources.list +++ b/linux/advanced/nextcloud/pure/19/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/20/sources.list b/linux/advanced/nextcloud/pure/20/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/20/sources.list +++ b/linux/advanced/nextcloud/pure/20/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/21/sources.list b/linux/advanced/nextcloud/pure/21/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/21/sources.list +++ b/linux/advanced/nextcloud/pure/21/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/22/sources.list b/linux/advanced/nextcloud/pure/22/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/22/sources.list +++ b/linux/advanced/nextcloud/pure/22/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/23/sources.list b/linux/advanced/nextcloud/pure/23/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/23/sources.list +++ b/linux/advanced/nextcloud/pure/23/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/24/sources.list b/linux/advanced/nextcloud/pure/24/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/24/sources.list +++ b/linux/advanced/nextcloud/pure/24/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/25/sources.list b/linux/advanced/nextcloud/pure/25/sources.list index 508f1b71c..63bfb5d70 100644 --- a/linux/advanced/nextcloud/pure/25/sources.list +++ b/linux/advanced/nextcloud/pure/25/sources.list @@ -1,28 +1,28 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free ##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free -#deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye main non-free +#deb [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main +#deb-src [trusted=yes] http://httpredir.debian.org/debian-multimedia/ bullseye-backports main diff --git a/linux/advanced/nextcloud/pure/26/sources.list b/linux/advanced/nextcloud/pure/26/sources.list index 615338867..74d6b3662 100644 --- a/linux/advanced/nextcloud/pure/26/sources.list +++ b/linux/advanced/nextcloud/pure/26/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -#deb http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -#deb-src http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/nextcloud/pure/27/sources.list b/linux/advanced/nextcloud/pure/27/sources.list index 615338867..74d6b3662 100644 --- a/linux/advanced/nextcloud/pure/27/sources.list +++ b/linux/advanced/nextcloud/pure/27/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -#deb http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -#deb-src http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/nextcloud/pure/28/Dockerfile b/linux/advanced/nextcloud/pure/28/Dockerfile new file mode 100644 index 000000000..6f4fd628c --- /dev/null +++ b/linux/advanced/nextcloud/pure/28/Dockerfile @@ -0,0 +1,82 @@ +FROM nextcloud:28 +ENV DEBIAN_FRONTEND noninteractive +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z" +LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker" +LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker" +LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg" +LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec" +LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2" +LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg" +LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6" +LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6" +LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB" +LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3" +LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE" +LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1" +################################################################## +# adding normal sources list +################################################################## +RUN rm -rfv /etc/apt/sources.list +COPY sources.list /etc/apt/sources.list + +################################################################## +# adding some utils +################################################################## +RUN apt update -y && \ + apt dist-upgrade -y && \ + apt install -y --allow-unauthenticated \ + apt-transport-https \ + curl \ + ca-certificates \ + ghostscript \ + nload \ + htop \ + mc \ + nano \ + sudo \ + imagemagick \ + imagemagick-common \ + sqlite3 \ + smbclient \ + libsmbclient \ + wget \ + net-tools \ + iputils-ping + + +################################################################## +# installing php repo + smbclient +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg +RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' +RUN apt update -y && \ + apt install -y --allow-unauthenticated \ + libsmbclient-dev \ + libmagickwand-dev \ + libmagickcore-dev \ + libc-client-dev \ + libkrb5-dev \ + libsqlite3-dev \ + libssl-dev + +RUN pecl install inotify && \ + docker-php-ext-enable inotify + +RUN pecl install smbclient && \ + docker-php-ext-enable smbclient + +RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ + docker-php-ext-install imap && \ + docker-php-ext-enable imap + +RUN docker-php-ext-install fileinfo bz2 intl ftp pdo_sqlite && \ + docker-php-ext-enable fileinfo bz2 intl ftp pdo_sqlite + +################################################################## +# smb fix +################################################################## +RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf +ADD smb.conf /etc/samba/ +ADD smb.conf /usr/share/samba/ diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Makefile b/linux/advanced/nextcloud/pure/28/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Makefile rename to linux/advanced/nextcloud/pure/28/Makefile diff --git a/linux/advanced/nextcloud/pure/28/README.md b/linux/advanced/nextcloud/pure/28/README.md new file mode 100644 index 000000000..b6df71808 --- /dev/null +++ b/linux/advanced/nextcloud/pure/28/README.md @@ -0,0 +1,527 @@ +# What is Nextcloud? + +[![GitHub CI build status badge](https://github.com/nextcloud/docker/workflows/Images/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3AImages) +[![update.sh build status badge](https://github.com/nextcloud/docker/workflows/update.sh/badge.svg)](https://github.com/nextcloud/docker/actions?query=workflow%3Aupdate.sh) +[![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/nextcloud) +[![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/nextcloud) +[![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/nextcloud) +[![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/nextcloud) +[![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/nextcloud) +[![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/nextcloud) +[![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/nextcloud) +[![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/nextcloud) +[![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/nextcloud) + +A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. + +![logo](https://cdn.rawgit.com/nextcloud/docker/80dd587d847b184ba95d7187a2a7a56ae4cbbb7b/logo.svg) + +# How to use this image +This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from. + +The `apache` tag contains a full Nextcloud installation including an apache web server. It is designed to be easy to use and gets you running pretty fast. This is also the default for the `latest` tag and version tags that are not further specified. + +The second option is a `fpm` container. It is based on the [php-fpm](https://hub.docker.com/_/php/) image and runs a fastCGI-Process that serves your Nextcloud page. To use this image it must be combined with any webserver that can proxy the http requests to the FastCGI-port of the container. + +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/nextcloud/docker/8db861d67f257a3e9ac1790ea06d4e2a7a193a6c/stack.yml) + +## Using the apache image +The apache image contains a webserver and exposes port 80. To start the container type: + +```console +$ docker run -d -p 8080:80 nextcloud +``` + +Now you can access Nextcloud at http://localhost:8080/ from your host system. + + +## Using the fpm image +To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. +If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). +In both cases you don't want to map the fpm port to your host. + +```console +$ docker run -d nextcloud:fpm +``` + +As the fastCGI-Process is not capable of serving static files (style sheets, images, ...), the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the [docker-compose section](#running-this-image-with-docker-compose). + +## Using an external database +By default, this container uses SQLite for data storage but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. + +## Persistent data +The Nextcloud installation and all data beyond what lives in the database (file uploads, etc) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. + +A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and one for Nextcloud. + +Nextcloud: +- `/var/www/html/` folder where all nextcloud data lives +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +nextcloud +``` + +Database: +- `/var/lib/mysql` MySQL / MariaDB Data +- `/var/lib/postgresql/data` PostgreSQL Data +```console +$ docker run -d \ +-v db:/var/lib/mysql \ +mariadb +``` + +If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. +The `data`, `config` files are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. + +Overview of the folders that can be mounted as volumes: + +- `/var/www/html` Main folder, needed for updating +- `/var/www/html/custom_apps` installed / modified apps +- `/var/www/html/config` local configuration +- `/var/www/html/data` the actual data of your Nextcloud +- `/var/www/html/themes/` theming/branding + +If you want to use named volumes for all of these, it would look like this: +```console +$ docker run -d \ +-v nextcloud:/var/www/html \ +-v apps:/var/www/html/custom_apps \ +-v config:/var/www/html/config \ +-v data:/var/www/html/data \ +-v theme:/var/www/html/themes/ \ +nextcloud +``` + +## Using the Nextcloud command-line interface +To use the [Nextcloud command-line interface](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html) (aka. `occ` command): +```console +$ docker exec --user www-data CONTAINER_ID php occ +``` +or for docker-compose: +```console +$ docker-compose exec --user www-data app php occ +``` + +## Auto configuration via environment variables +The nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! + +__SQLite__: +- `SQLITE_DATABASE` Name of the database using sqlite + +__MYSQL/MariaDB__: +- `MYSQL_DATABASE` Name of the database using mysql / mariadb. +- `MYSQL_USER` Username for the database using mysql / mariadb. +- `MYSQL_PASSWORD` Password for the database user using mysql / mariadb. +- `MYSQL_HOST` Hostname of the database server using mysql / mariadb. + +__PostgreSQL__: +- `POSTGRES_DB` Name of the database using postgres. +- `POSTGRES_USER` Username for the database using postgres. +- `POSTGRES_PASSWORD` Password for the database user using postgres. +- `POSTGRES_HOST` Hostname of the database server using postgres. + +If you set any values, they will not be asked in the install page on first run. With a complete configuration by using all variables for your database type, you can additionally configure your Nextcloud instance by setting admin user and password (only works if you set both): + +- `NEXTCLOUD_ADMIN_USER` Name of the Nextcloud admin user. +- `NEXTCLOUD_ADMIN_PASSWORD` Password for the Nextcloud admin user. + +If you want, you can set the data directory, otherwise default value will be used. + +- `NEXTCLOUD_DATA_DIR` (default: _/var/www/html/data_) Configures the data directory where nextcloud stores all files from the users. + +One or more trusted domains can be set through environment variable, too. They will be added to the configuration after install. + +- `NEXTCLOUD_TRUSTED_DOMAINS` (not set by default) Optional space-separated list of domains + +The install and update script is only triggered when a default command is used (`apache-foreground` or `php-fpm`). If you use a custom command you have to enable the install / update with + +- `NEXTCLOUD_UPDATE` (default: _0_) + +If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container, pass in the following parameters: + +- `REDIS_HOST` (not set by default) Name of Redis container +- `REDIS_HOST_PORT` (default: _6379_) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PASSWORD` (not set by default) Redis password + +The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. + +To use an external SMTP server, you have to provide the connection details. To configure Nextcloud to use SMTP add: + +- `SMTP_HOST` (not set by default): The hostname of the SMTP server. +- `SMTP_SECURE` (empty by default): Set to `ssl` to use SSL, or `tls` to use STARTTLS. +- `SMTP_PORT` (default: `465` for SSL and `25` for non-secure connections): Optional port for the SMTP connection. Use `587` for an alternative port for STARTTLS. +- `SMTP_AUTHTYPE` (default: `LOGIN`): The method used for authentication. Use `PLAIN` if no authentication is required. +- `SMTP_NAME` (empty by default): The username for the authentication. +- `SMTP_PASSWORD` (empty by default): The password for the authentication. +- `MAIL_FROM_ADDRESS` (not set by default): Use this address for the 'from' field in the emails sent by Nextcloud. +- `MAIL_DOMAIN` (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed. + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. + +To use an external S3 compatible object store as primary storage, set the following variables: +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + +To use an external OpenStack Swift object store as primary storage, set the following variables: +- `OBJECTSTORE_SWIFT_URL`: The Swift identity (Keystone) endpoint +- `OBJECTSTORE_SWIFT_AUTOCREATE` (default: `false`): Whether or not Nextcloud should automatically create the Swift container +- `OBJECTSTORE_SWIFT_USER_NAME`: Swift username +- `OBJECTSTORE_SWIFT_USER_PASSWORD`: Swift user password +- `OBJECTSTORE_SWIFT_USER_DOMAIN` (default: `Default`): Swift user domain +- `OBJECTSTORE_SWIFT_PROJECT_NAME`: OpenStack project name +- `OBJECTSTORE_SWIFT_PROJECT_DOMAIN` (default: `Default`): OpenStack project domain +- `OBJECTSTORE_SWIFT_SERVICE_NAME` (default: `swift`): Swift service name +- `OBJECTSTORE_SWIFT_SERVICE_REGION`: Swift endpoint region +- `OBJECTSTORE_SWIFT_CONTAINER_NAME`: Swift container (bucket) that Nextcloud should store the data in + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#openstack-swift) for more information. + + +## Using the apache image behind a reverse proxy and auto configure server host and protocol + +The apache image will replace the remote addr (ip address visible to Nextcloud) with the ip address from `X-Real-IP` if the request is coming from a proxy in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16 by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client ip (`HTTP_X_FORWARDED_FOR`) from a trusted proxy disable rewrite ip and the reverse proxies ip address to `TRUSTED_PROXIES`. + +- `APACHE_DISABLE_REWRITE_IP` (not set by default): Set to 1 to disable rewrite ip. + +- `TRUSTED_PROXIES` (empty by default): A space-separated list of trusted proxies. CIDR notation is supported for IPv4. + +If the `TRUSTED_PROXIES` approach does not work for you, try using fixed values for overwrite parameters. + +- `OVERWRITEHOST` (empty by default): Set the hostname of the proxy. Can also specify a port. +- `OVERWRITEPROTOCOL` (empty by default): Set the protocol of the proxy, http or https. +- `OVERWRITEWEBROOT` (empty by default): Set the absolute path of the proxy. +- `OVERWRITECONDADDR` (empty by default): Regex to overwrite the values dependent on the remote address. + +Check the [Nexcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html) for more details. + +Keep in mind that once set, removing these environment variables won't remove these values from the configuration file, due to how Nextcloud merges configuration files together. + +# Running this image with docker-compose +The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. + +At first, make sure you have chosen the right base image (fpm or apache) and added features you wanted (see below). In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information. + +## Base version - apache +This version will use the apache image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud + ports: + - 8080:80 + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +## Base version - FPM +When using the FPM image, you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also needs access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). + +As this setup does **not include encryption**, it should be run behind a proxy. + +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. + +```yaml +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud:fpm + links: + - db + volumes: + - nextcloud:/var/www/html + restart: always + + web: + image: nginx + ports: + - 8080:80 + links: + - app + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + volumes_from: + - app + restart: always +``` + +Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. + +# Docker Secrets +As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: +```yaml +version: '3.2' + +services: + db: + image: postgres + restart: always + volumes: + - db:/var/lib/postgresql/data + environment: + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + secrets: + - postgres_db + - postgres_password + - postgres_user + + app: + image: nextcloud + restart: always + ports: + - 8080:80 + volumes: + - nextcloud:/var/www/html + environment: + - POSTGRES_HOST=db + - POSTGRES_DB_FILE=/run/secrets/postgres_db + - POSTGRES_USER_FILE=/run/secrets/postgres_user + - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password + - NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password + - NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user + depends_on: + - db + secrets: + - nextcloud_admin_password + - nextcloud_admin_user + - postgres_db + - postgres_password + - postgres_user + +volumes: + db: + nextcloud: + +secrets: + nextcloud_admin_password: + file: ./nextcloud_admin_password.txt # put admin password to this file + nextcloud_admin_user: + file: ./nextcloud_admin_user.txt # put admin username to this file + postgres_db: + file: ./postgres_db.txt # put postgresql db name to this file + postgres_password: + file: ./postgres_password.txt # put postgresql password to this file + postgres_user: + file: ./postgres_user.txt # put postgresql username to this file +``` + +Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`. + +# Make your Nextcloud available from the internet +Until here, your Nextcloud is just available from you docker host. If you want your Nextcloud available from the internet adding SSL encryption is mandatory. + +## HTTPS - SSL encryption +There are many different possibilities to introduce encryption depending on your setup. + +We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution which generates and renews the certificates for you. + +In our [examples](https://github.com/nextcloud/docker/tree/master/.examples) section we have an example for a fully automated setup using a reverse proxy, a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling, database and Nextcloud. It uses the popular [nginx-proxy](https://github.com/jwilder/nginx-proxy) and [docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers. Please check the according documentations before using this setup. + +# First use +When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account username, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. + +# Update to a newer version +Updating the Nextcloud container is done by pulling the new image, throwing away the old container and starting the new one. + +**It is only possible to upgrade one major version at a time. For example, if you want to upgrade from version 14 to 16, you will have to upgrade from version 14 to 15, then from 15 to 16.** + +Since all data is stored in volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process. Don't forget to add all the volumes to your new container, so it works as expected. + +```console +$ docker pull nextcloud +$ docker stop +$ docker rm +$ docker run -d nextcloud +``` +Beware that you have to run the same command with the options that you used to initially start your Nextcloud. That includes volumes, port mapping. + +When using docker-compose your compose file takes care of your configuration, so you just have to run: + +```console +$ docker-compose pull +$ docker-compose up -d +``` + + +# Adding Features +A lot of people want to use additional functionality inside their Nextcloud installation. If the image does not include the packages you need, you can easily build your own image on top of it. +Start your derived image with the `FROM` statement and add whatever you like. + +```yaml +FROM nextcloud:apache + +RUN ... + +``` +The [examples folder](https://github.com/nextcloud/docker/blob/master/.examples) gives a few examples on how to add certain functionalities, like including the cron job, smb-support or imap-authentication. + +If you use your own Dockerfile, you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) + +```yaml + app: + build: . + links: + - db + volumes: + - data:/var/www/html/data + - config:/var/www/html/config + - apps:/var/www/html/apps + restart: always +``` + +If you intend to use another command to run the image, make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. + +```yaml +FROM nextcloud:apache + +... + +ENV NEXTCLOUD_UPDATE=1 + +CMD ["/usr/bin/supervisord"] +``` + + +**Updating** your own derived image is also very simple. When a new version of the Nextcloud image is available run: + +```console +docker build -t your-name --pull . +docker run -d your-name +``` + +or for docker-compose: +```console +docker-compose build --pull +docker-compose up -d +``` + +The `--pull` option tells docker to look for new versions of the base image. Then the build instructions inside your `Dockerfile` are run on top of the new image. + +# Migrating an existing installation +You're already using Nextcloud and want to switch to docker? Great! Here are some things to look out for: + +1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. +2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) + - To import from a MySQL dump use the following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` + - To import from a PostgreSQL dump use to following commands + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` +3. Edit your config.php + 1. Set database connection + - In case of MySQL database + ```php + 'dbhost' => 'db:3306', + ``` + - In case of PostgreSQL database + ```php + 'dbhost' => 'db:5432', + ``` + 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these + ```diff + - "apps_paths" => array ( + - 0 => array ( + - "path" => OC::$SERVERROOT."/apps", + - "url" => "/apps", + - "writable" => true, + - ), + ``` + 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable + ```php + 'apps_paths' => array ( + 0 => array ( + 'path' => '/var/www/html/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => array ( + 'path' => '/var/www/html/custom_apps', + 'url' => '/custom_apps', + 'writable' => true, + ), + ), + ``` + 4. Make sure your data directory is set to /var/www/html/data + ```php + 'datadirectory' => '/var/www/html/data', + ``` + + +4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): +```console +docker cp ./data/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/data +docker cp ./theming/ nextcloud_app_1:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/theming +docker cp ./config/config.php nextcloud_app_1:/var/www/html/config +docker-compose exec app chown -R www-data:www-data /var/www/html/config +``` +5. Copy only the custom apps you use (or simply redownload them from the web interface): +```console +docker cp ./custom_apps/ nextcloud_data:/var/www/html/ +docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps +``` + +# Questions / Issues +If you got any questions or problems using the image, please visit our [Github Repository](https://github.com/nextcloud/docker) and write an issue. diff --git a/linux/advanced/nextcloud/pure/28/docker-compose.yml b/linux/advanced/nextcloud/pure/28/docker-compose.yml new file mode 100644 index 000000000..b3da40e86 --- /dev/null +++ b/linux/advanced/nextcloud/pure/28/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/nextcloud:28" + build: + context: . diff --git a/linux/discontinued/syspass/sysPass/smb.conf b/linux/advanced/nextcloud/pure/28/smb.conf similarity index 100% rename from linux/discontinued/syspass/sysPass/smb.conf rename to linux/advanced/nextcloud/pure/28/smb.conf diff --git a/linux/advanced/nextcloud/pure/28/sources.list b/linux/advanced/nextcloud/pure/28/sources.list new file mode 100644 index 000000000..74d6b3662 --- /dev/null +++ b/linux/advanced/nextcloud/pure/28/sources.list @@ -0,0 +1,22 @@ +#main +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware + +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware + +#security +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/nextcloud/pure/latest/sources.list b/linux/advanced/nextcloud/pure/latest/sources.list index 615338867..74d6b3662 100644 --- a/linux/advanced/nextcloud/pure/latest/sources.list +++ b/linux/advanced/nextcloud/pure/latest/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -#deb http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -#deb-src http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/develop/2.7/Dockerfile b/linux/advanced/python/develop/2.7/Dockerfile index a0cdcb964..431ee3fd0 100644 --- a/linux/advanced/python/develop/2.7/Dockerfile +++ b/linux/advanced/python/develop/2.7/Dockerfile @@ -32,79 +32,90 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ -# libvpx6 \ #not avalible - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev \ + python3-all-dev \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.10/Dockerfile b/linux/advanced/python/develop/3.10/Dockerfile index 4b496fecb..f51f3b05e 100644 --- a/linux/advanced/python/develop/3.10/Dockerfile +++ b/linux/advanced/python/develop/3.10/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.11/Dockerfile b/linux/advanced/python/develop/3.11/Dockerfile index cb4c036fd..8c8c13b12 100644 --- a/linux/advanced/python/develop/3.11/Dockerfile +++ b/linux/advanced/python/develop/3.11/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.12/Dockerfile b/linux/advanced/python/develop/3.12/Dockerfile index b6fff4f36..15a4b6467 100644 --- a/linux/advanced/python/develop/3.12/Dockerfile +++ b/linux/advanced/python/develop/3.12/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.12/docker-compose.yml b/linux/advanced/python/develop/3.12/docker-compose.yml index d48ad969a..52ba086f1 100644 --- a/linux/advanced/python/develop/3.12/docker-compose.yml +++ b/linux/advanced/python/develop/3.12/docker-compose.yml @@ -1,6 +1,6 @@ version: '3.9' services: app: - image: "epicmorg/python:3.11-develop" + image: "epicmorg/python:3.12-develop" build: context: . diff --git a/linux/advanced/python/develop/3.13/Dockerfile b/linux/advanced/python/develop/3.13/Dockerfile new file mode 100644 index 000000000..1732129b2 --- /dev/null +++ b/linux/advanced/python/develop/3.13/Dockerfile @@ -0,0 +1,160 @@ +FROM epicmorg/python:3.13 + +ARG DEBIAN_FRONTEND=noninteractive +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +################################################################## +# ARGuments +################################################################## +ENV BuildDocker true +ENV GOPATH=/go +ENV PATH="${GOPATH}/bin:${PATH}" +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG NINJA_ARCH=linux +ARG NINJA_VERSION=latest +ARG NINJA_RELEASE_URL=https://api.github.com/repos/ninja-build/ninja/releases/${NINJA_VERSION} + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${SRC_DIR} ${EXPORT_DIR} ${PRE_DIR} + +################################################################## +# Version +################################################################## +RUN python3 --version +RUN pip3 --version +RUN python --version +RUN pip --version + +################################################################## +# installing +################################################################## +RUN apt-get update && \ + apt install -y --allow-unauthenticated --allow-downgrades \ + at \ + autoconf \ + autoconf-archive \ + automake \ + autopkgtest \ + autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ + dpkg-dev \ + fakeroot \ + fuse3 \ + g++ \ + g++-multilib \ + gcc \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ + golang \ + golang-go \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ + libtool \ + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev + +################################################################## +# GO compillers +################################################################## +RUN printf "\n--------------------------------\n$(go version)\n--------------------------------\n\n" + +################################################################## +# Get NINJA binary +################################################################## +RUN curl -s ${NINJA_RELEASE_URL} | jq -r ".assets[] | select(.name | test(\"${NINJA_ARCH}\")) | .browser_download_url" > /tmp/ninja-url.txt && \ + cat /tmp/ninja-url.txt && \ + cd /tmp && \ + wget -q -c --input-file=/tmp/ninja-url.txt && \ + unzip -o /tmp/ninja-linux.zip -d /bin && \ + printf "\n--------------------------------\nninja version: $(ninja --version)\n--------------------------------\n\n" + +################################################################## +# Version +################################################################## +RUN python3 --version +RUN pip3 --version +RUN python --version +RUN pip --version + +################################################################## +# update locales +################################################################## +RUN locale-gen + +################################################################## +# cleanup +################################################################## +RUN apt-get purge policykit-1 -y && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Makefile b/linux/advanced/python/develop/3.13/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Makefile rename to linux/advanced/python/develop/3.13/Makefile diff --git a/linux/advanced/python/develop/3.13/docker-compose.yml b/linux/advanced/python/develop/3.13/docker-compose.yml new file mode 100644 index 000000000..a9bd58276 --- /dev/null +++ b/linux/advanced/python/develop/3.13/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/python:3.13-develop" + build: + context: . diff --git a/linux/advanced/python/develop/3.6/Dockerfile b/linux/advanced/python/develop/3.6/Dockerfile index d98edfc43..6e3ca741d 100644 --- a/linux/advanced/python/develop/3.6/Dockerfile +++ b/linux/advanced/python/develop/3.6/Dockerfile @@ -33,81 +33,94 @@ RUN pip --version # installing ################################################################## RUN apt-get update && \ - apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ + apt-get install -y --allow-unauthenticated \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ + libtool \ + libvpx6 \ + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ python-dev \ python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ - libtool \ - gdb \ - strace + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.7/Dockerfile b/linux/advanced/python/develop/3.7/Dockerfile index dddc0d79f..f92e18f0f 100644 --- a/linux/advanced/python/develop/3.7/Dockerfile +++ b/linux/advanced/python/develop/3.7/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.8/Dockerfile b/linux/advanced/python/develop/3.8/Dockerfile index 2ae0b8e57..ccbd343da 100644 --- a/linux/advanced/python/develop/3.8/Dockerfile +++ b/linux/advanced/python/develop/3.8/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/develop/3.9/Dockerfile b/linux/advanced/python/develop/3.9/Dockerfile index 35fd93d83..f012e0cc1 100644 --- a/linux/advanced/python/develop/3.9/Dockerfile +++ b/linux/advanced/python/develop/3.9/Dockerfile @@ -34,80 +34,92 @@ RUN pip --version ################################################################## RUN apt-get update && \ apt install -y --allow-unauthenticated --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ + autoconf \ + autoconf-archive \ automake \ - libtool \ + autopkgtest \ autotools-dev \ + build-essential \ + checkinstall \ + cmake \ + devscripts \ + dh-make \ dpkg-dev \ fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libvpx6 \ - tcl \ + fuse3 \ g++ \ + g++-multilib \ gcc \ - libc6-dev \ - make \ - pkg-config \ + gcc-multilib \ + gdal-bin \ + gdb \ + gnu-standards \ golang \ golang-go \ - python-dev \ - python3-all-dev \ - g++-multilib \ - autoconf \ - automake \ + krb5-user \ + libavcodec-dev \ + libavfilter-dev \ + libavformat-dev \ + libbz2-dev \ + libc6-dev \ + libcrypto++-dev \ + libegl1-mesa-dev \ + libfreetype6-dev \ + libfuse3-3 \ + libgbm-dev \ + libgd-dev \ + libgdal-dev \ + libgeoip-dev \ + libgeos-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libhiredis-dev \ + libkrb5-dev \ + libldap2-dev \ + liblua5.1-0-dev \ + liblzma-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libpcre3-dev \ + libperl-dev \ + libproj-dev \ + libprotobuf-c-dev \ + libsdl-image1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libssl-dev \ + libswscale-dev \ libtool \ - gdb \ - strace + libunwind-dev \ + libvpx-dev \ + libxkbcommon-dev \ + libxml2-dev \ + libxslt-dev \ + libz-dev \ + libzip-dev \ + luajit \ + make \ + nvidia-cg-dev \ + nvidia-cg-toolkit \ + pkg-config \ + protobuf-c-compiler \ + python-dev-is-python3 \ + python3-all-dev \ + qml-module-qt-labs-qmlmodels \ + qml-module-qtquick-controls2 \ + qt5-qmake \ + qtbase5-dev \ + qtbase5-dev-tools \ + qtcreator \ + qtdeclarative5-dev \ + qttools5-dev \ + strace \ + tcl \ + uuid-dev \ + yasm \ + zlib1g \ + zlib1g-dev ################################################################## # GO compillers diff --git a/linux/advanced/python/main/2.7/Dockerfile b/linux/advanced/python/main/2.7/Dockerfile index 3a6710b86..111f50cdd 100644 --- a/linux/advanced/python/main/2.7/Dockerfile +++ b/linux/advanced/python/main/2.7/Dockerfile @@ -70,20 +70,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -97,24 +97,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -127,55 +132,62 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python-all \ + python-pip \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python-pip \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list b/linux/advanced/python/main/2.7/etc/apt/sources.list index 42545bbef..ca557e89f 100644 --- a/linux/advanced/python/main/2.7/etc/apt/sources.list +++ b/linux/advanced/python/main/2.7/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ buster main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster main contrib non-free -deb http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free #security -deb http://security.debian.org/debian-security/ buster/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ buster/updates main contrib non-free +deb-src [trusted=yes] http://security.debian.org/debian-security/ buster/updates main contrib non-free -deb http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free diff --git a/linux/advanced/python/main/3.10/Dockerfile b/linux/advanced/python/main/3.10/Dockerfile index 32d2d3740..ed3fca1b9 100644 --- a/linux/advanced/python/main/3.10/Dockerfile +++ b/linux/advanced/python/main/3.10/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10-bullseye +FROM python:3.10-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -73,20 +73,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -100,24 +100,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -130,56 +135,61 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip + ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list b/linux/advanced/python/main/3.10/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.10/etc/apt/sources.list +++ b/linux/advanced/python/main/3.10/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/main/3.11/Dockerfile b/linux/advanced/python/main/3.11/Dockerfile index 0af1e121f..79b356524 100644 --- a/linux/advanced/python/main/3.11/Dockerfile +++ b/linux/advanced/python/main/3.11/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-bullseye +FROM python:3.11-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -33,6 +33,10 @@ COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check- 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 @@ -56,28 +60,25 @@ 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 ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -91,24 +92,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +127,61 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip + ################################################################## # installing fs-tools @@ -282,4 +293,4 @@ RUN apt-get purge policykit-1 -y && \ apt-get autoclean -y && \ rm -rfv /var/lib/apt/lists/* && \ rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb + rm -rfv /var/cache/apt/archives/*.deb \ No newline at end of file diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list b/linux/advanced/python/main/3.11/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.11/etc/apt/sources.list +++ b/linux/advanced/python/main/3.11/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/main/3.12/Dockerfile b/linux/advanced/python/main/3.12/Dockerfile index ad328a1d7..03796bc74 100644 --- a/linux/advanced/python/main/3.12/Dockerfile +++ b/linux/advanced/python/main/3.12/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.12-rc-bullseye +FROM python:3.12-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -33,6 +33,10 @@ COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check- 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 @@ -56,28 +60,25 @@ 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 ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -91,24 +92,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +127,61 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip + ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list b/linux/advanced/python/main/3.12/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.12/etc/apt/sources.list +++ b/linux/advanced/python/main/3.12/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/main/3.13/Dockerfile b/linux/advanced/python/main/3.13/Dockerfile new file mode 100644 index 000000000..3e1b46605 --- /dev/null +++ b/linux/advanced/python/main/3.13/Dockerfile @@ -0,0 +1,295 @@ +FROM python:3.13-rc-bookworm + +ARG DEBIAN_FRONTEND=noninteractive +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z" +LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker" +LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker" +LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg" +LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec" +LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2" +LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg" +LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6" +LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6" +LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB" +LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3" +LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE" +LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1" + +################################################################## +# prepare system +################################################################## +RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done + +################################################################## +# sources list +################################################################## +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/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 + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated \ + apt-transport-https \ + apt-utils \ + gnupg \ + gnupg1 \ + gnupg2 \ + aptitude \ + bash \ + binutils \ + console-cyrillic \ + ca-certificates \ + locales \ + software-properties-common \ + sudo + +RUN update-ca-certificates + +################################################################## +# perforce client binary +################################################################## +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 + +################################################################## +# update lists +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated \ + bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ + cmatrix \ + cmatrix-xfont \ + cron \ + curl \ + cvs \ + dos2unix \ + ffmpeg \ + fontconfig \ + git \ + git-crypt \ + git-cvs \ + git-doc \ + git-email \ + git-extras \ + git-flow \ + git-ftp \ + git-lfs \ + git-mediawiki \ + gnupg \ + gnupg2 \ + graphicsmagick \ + gzip \ + htop \ + iftop \ + iotop \ + iperf \ + iperf3 \ + iputils-ping \ + jq \ + kmod \ + lbzip2 \ + libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ + locales \ + logrotate \ + lsb-release \ + lsof \ + lvm2 \ + lynx \ + lzip \ + lzma \ + lzop \ + mc \ + mercurial \ + nano \ + neofetch \ + nfs-common \ + nload \ + nmap \ + openssl \ + p7zip-full \ + p7zip-rar \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ + rar \ + rclone \ + rename \ + rsync \ + screenfetch \ + smbclient \ + ssl-cert \ + subversion \ + subversion-tools \ + sudo \ + sysstat \ + telnet \ + tini \ + tmux \ + tree \ + unrar \ + util-linux \ + uuid-runtime \ + wget \ + xz-utils \ + zip + +################################################################## +# installing fs-tools +################################################################## +#RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ +# apt-get install -y --allow-unauthenticated \ +# btrfs-progs \ +# exfat-utils \ +# e2fsprogs \ +# f2fs-tools \ +# dosfstools \ +# hfsutils \ +# hfsprogs \ +# jfsutils \ +# mdadm \ +# util-linux \ +# cryptsetup \ +# lvm2 \ +# nilfs-tools \ +# ntfs-3g \ +# reiser4progs \ +# reiserfsprogs \ +# udftools \ +# xfsprogs \ +# xfsdump + +################################################################## +# git fresh binary +################################################################## +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 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-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 && \ + 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 + +################################################################## +# 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 && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated \ + gh && \ + gh --version + +################################################################## +# Install p4client +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -P /usr/bin ${P4_DOWNLOAD_URL} && \ + chmod +x /usr/bin/p4 + +################################################################## +# Install 7z official binary +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \ + 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 + +################################################################## +# Install LazyGit official binary +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/lazygit.tar.xz ${LZGIT_DOWNLOAD_URL} && \ + 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 + +################################################################## +# Generate ssl key +################################################################## +#RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 + +################################################################## +# update locales +################################################################## +RUN locale-gen + +################################################################## +# cleanup +################################################################## +RUN apt-get purge policykit-1 -y && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/advanced/python/main/3.13/Makefile b/linux/advanced/python/main/3.13/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/advanced/python/main/3.13/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/advanced/python/main/3.13/docker-compose.yml b/linux/advanced/python/main/3.13/docker-compose.yml new file mode 100644 index 000000000..f6f02dabf --- /dev/null +++ b/linux/advanced/python/main/3.13/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/python:3.13" + build: + context: . diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until new file mode 100644 index 000000000..4e6d9209d --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until @@ -0,0 +1 @@ +Acquire::Check-Valid-Until no; diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list b/linux/advanced/python/main/3.13/etc/apt/sources.list new file mode 100644 index 000000000..74d6b3662 --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list @@ -0,0 +1,22 @@ +#main +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware + +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware + +#security +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware + +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/discontinued/epicmorg/edge/main/sources.list.d/github_git-lfs.list b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/discontinued/epicmorg/edge/main/sources.list.d/github_git-lfs.list rename to linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list 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 new file mode 100644 index 000000000..c48739d8d --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -0,0 +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 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 new file mode 100644 index 000000000..0f7803eaf --- /dev/null +++ b/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list @@ -0,0 +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 diff --git a/linux/discontinued/epicmorg/prod/main/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg similarity index 100% rename from linux/discontinued/epicmorg/prod/main/trusted.gpg.d/deb-multimedia-keyring.gpg rename to linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg diff --git a/linux/discontinued/epicmorg/prod/main/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg similarity index 100% rename from linux/discontinued/epicmorg/prod/main/trusted.gpg.d/githubcli-archive-keyring.gpg rename to linux/advanced/python/main/3.13/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg diff --git a/linux/discontinued/epicmorg/prod/main/etc/locale.gen b/linux/advanced/python/main/3.13/etc/locale.gen similarity index 100% rename from linux/discontinued/epicmorg/prod/main/etc/locale.gen rename to linux/advanced/python/main/3.13/etc/locale.gen diff --git a/linux/discontinued/epicmorg/prod/main/etc/locale.gen.full b/linux/advanced/python/main/3.13/etc/locale.gen.full similarity index 100% rename from linux/discontinued/epicmorg/prod/main/etc/locale.gen.full rename to linux/advanced/python/main/3.13/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.6/Dockerfile b/linux/advanced/python/main/3.6/Dockerfile index 20ee6da12..117d30a3e 100644 --- a/linux/advanced/python/main/3.6/Dockerfile +++ b/linux/advanced/python/main/3.6/Dockerfile @@ -64,20 +64,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -90,25 +90,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio ################################################################## RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ + acl \ + aptitude \ bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +125,60 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list b/linux/advanced/python/main/3.6/etc/apt/sources.list index 517c8fc52..7bd174f54 100644 --- a/linux/advanced/python/main/3.6/etc/apt/sources.list +++ b/linux/advanced/python/main/3.6/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free diff --git a/linux/advanced/python/main/3.7/Dockerfile b/linux/advanced/python/main/3.7/Dockerfile index acb180a4b..b357745cc 100644 --- a/linux/advanced/python/main/3.7/Dockerfile +++ b/linux/advanced/python/main/3.7/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.7-bullseye +FROM python:3.7-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -64,20 +64,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -91,24 +91,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +126,60 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list b/linux/advanced/python/main/3.7/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.7/etc/apt/sources.list +++ b/linux/advanced/python/main/3.7/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/main/3.8/Dockerfile b/linux/advanced/python/main/3.8/Dockerfile index 888ac33c1..2c8291b62 100644 --- a/linux/advanced/python/main/3.8/Dockerfile +++ b/linux/advanced/python/main/3.8/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8-bullseye +FROM python:3.8-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -64,20 +64,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -91,24 +91,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +126,60 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list b/linux/advanced/python/main/3.8/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.8/etc/apt/sources.list +++ b/linux/advanced/python/main/3.8/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/python/main/3.9/Dockerfile b/linux/advanced/python/main/3.9/Dockerfile index cfae6160e..fdf2db9c6 100644 --- a/linux/advanced/python/main/3.9/Dockerfile +++ b/linux/advanced/python/main/3.9/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-bullseye +FROM python:3.9-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" @@ -64,20 +64,20 @@ RUN update-ca-certificates ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2200 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -91,24 +91,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get install -y --allow-unauthenticated \ bzip2 \ + acl \ + aptitude \ + bzip2 \ + cifs-utils \ + clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ - clzip \ + cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ - git-extras \ - git-flow \ + git-crypt \ git-cvs \ git-doc \ git-email \ - git-mediawiki \ - git-crypt \ - git-lfs \ + git-extras \ + git-flow \ git-ftp \ + git-lfs \ + git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ @@ -121,56 +126,61 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ jq \ kmod \ - libxml2-dev \ - libxml2-utils \ lbzip2 \ libsvn-java \ + libxml2-dev \ + libxml2-utils \ + libzip4 \ locales \ + logrotate \ lsb-release \ lsof \ + lvm2 \ lynx \ - lzma \ lzip \ + lzma \ lzop \ mc \ mercurial \ nano \ + neofetch \ + nfs-common \ nload \ nmap \ openssl \ - perl \ - procps \ - pbzip2 \ - plzip \ p7zip-full \ p7zip-rar \ - rsync \ + parted \ + pbzip2 \ + perl \ + pev \ + plzip \ + portmap \ + procps \ + python3-all \ + python3-pip \ rar \ + rclone \ + rename \ + rsync \ screenfetch \ smbclient \ + ssl-cert \ subversion \ + subversion-tools \ + sudo \ + sysstat \ telnet \ + tini \ tmux \ tree \ + unrar \ util-linux \ uuid-runtime \ - unrar \ - xz-utils \ wget \ - zip \ - tini \ - libzip4 \ - acl \ - aptitude \ - sudo \ - cvs \ - python3-pip \ - python3-all \ - python-all \ - rclone \ - logrotate \ - subversion-tools \ - pev + xz-utils \ + zip + ################################################################## # installing fs-tools diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list b/linux/advanced/python/main/3.9/etc/apt/sources.list index 517c8fc52..74d6b3662 100644 --- a/linux/advanced/python/main/3.9/etc/apt/sources.list +++ b/linux/advanced/python/main/3.9/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/advanced/teamcity/server/Dockerfile b/linux/advanced/teamcity/server/Dockerfile index 0efd97273..a11d63a9b 100644 --- a/linux/advanced/teamcity/server/Dockerfile +++ b/linux/advanced/teamcity/server/Dockerfile @@ -23,6 +23,12 @@ USER root COPY sources.list /etc/apt/sources.list COPY locale.gen /etc/locale.gen +################################################################## +# 7z official binary +################################################################## +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + ################################################################## # perforce client binary ################################################################## @@ -80,6 +86,71 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio wget \ zip +################################################################## +# Install 7z official binary +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \ + 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 + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # Install p4client ################################################################## diff --git a/linux/advanced/teamcity/server/sources.list b/linux/advanced/teamcity/server/sources.list index bd9c1805f..166b176e0 100644 --- a/linux/advanced/teamcity/server/sources.list +++ b/linux/advanced/teamcity/server/sources.list @@ -3,15 +3,15 @@ #------------------------------------------------------------------------------# ###### Ubuntu Main Repos -deb http://mirror.yandex.ru/ubuntu/ focal main restricted universe multiverse -deb-src http://mirror.yandex.ru/ubuntu/ focal main restricted universe multiverse +deb [trusted=yes] http://mirror.yandex.ru/ubuntu/ focal main restricted universe multiverse +deb-src [trusted=yes] http://mirror.yandex.ru/ubuntu/ focal main restricted universe multiverse ###### Ubuntu Update Repos -deb http://ru.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse -deb http://ru.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse -deb http://ru.archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse -deb http://ru.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse -deb-src http://ru.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse -deb-src http://ru.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse -deb-src http://ru.archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse -deb-src http://ru.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse +deb [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse +deb [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse +deb [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse +deb [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse +deb-src [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse +deb-src [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse +deb-src [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse +deb-src [trusted=yes] http://ru.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse diff --git a/linux/advanced/vscode-server/android/Dockerfile b/linux/advanced/vscode-server/android/Dockerfile index 2b2551cb8..63b16e475 100644 --- a/linux/advanced/vscode-server/android/Dockerfile +++ b/linux/advanced/vscode-server/android/Dockerfile @@ -14,22 +14,6 @@ ENV BuildDocker true ENV ANDROID_HOME=/usr/lib/android-sdk ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk -ENV GRADLE_VERSION=7.4.2 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.6.21 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.tgz -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -ENV PATH=PATH=$PATH:$GRADLE_BIN:${KTC_BIN} - ################################################################## # installing java11 ################################################################## @@ -43,6 +27,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # Android SDK ################################################################## @@ -57,24 +95,6 @@ RUN apt update && \ # Activate android sdk RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license -################################################################## -# GRADLE -################################################################## -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlinc -version - ################################################################## # cleaninig up ################################################################## diff --git a/linux/advanced/vscode-server/latest/Dockerfile b/linux/advanced/vscode-server/latest/Dockerfile index fb3ec0400..0a2f7e685 100644 --- a/linux/advanced/vscode-server/latest/Dockerfile +++ b/linux/advanced/vscode-server/latest/Dockerfile @@ -31,8 +31,8 @@ ENV BuildDocker true ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2107 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # installing utils @@ -119,7 +119,6 @@ RUN wget -nv --random-wait -c -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \ 7zz | head -4 && \ 7z | head -4 - ################################################################## # Install GitHub CLI binary ################################################################## diff --git a/linux/discontinued/balancer/legacy/Dockerfile b/linux/discontinued/ecosystem/balancer/legacy/Dockerfile similarity index 100% rename from linux/discontinued/balancer/legacy/Dockerfile rename to linux/discontinued/ecosystem/balancer/legacy/Dockerfile diff --git a/linux/discontinued/balancer/legacy/Makefile b/linux/discontinued/ecosystem/balancer/legacy/Makefile similarity index 100% rename from linux/discontinued/balancer/legacy/Makefile rename to linux/discontinued/ecosystem/balancer/legacy/Makefile diff --git a/linux/discontinued/balancer/legacy/README.md b/linux/discontinued/ecosystem/balancer/legacy/README.md similarity index 100% rename from linux/discontinued/balancer/legacy/README.md rename to linux/discontinued/ecosystem/balancer/legacy/README.md diff --git a/linux/discontinued/epicmorg/README.md b/linux/discontinued/ecosystem/epicmorg/README.md similarity index 100% rename from linux/discontinued/epicmorg/README.md rename to linux/discontinued/ecosystem/epicmorg/README.md diff --git a/linux/discontinued/epicmorg/devel/jdk11/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/jdk11/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk11/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk11/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/jdk11/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/jdk11/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk11/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk11/Makefile diff --git a/linux/discontinued/epicmorg/devel/jdk11/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/jdk11/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk11/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/jdk11/docker-compose.yml diff --git a/linux/discontinued/epicmorg/devel/jdk16/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/jdk16/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk16/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk16/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/jdk16/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/jdk16/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk16/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk16/Makefile diff --git a/linux/discontinued/epicmorg/devel/jdk16/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/jdk16/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk16/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/jdk16/docker-compose.yml diff --git a/linux/discontinued/epicmorg/devel/jdk6/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/jdk6/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk6/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk6/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/jdk6/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/jdk6/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk6/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk6/Makefile diff --git a/linux/discontinued/epicmorg/devel/jdk6/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/jdk6/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk6/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/jdk6/docker-compose.yml diff --git a/linux/discontinued/epicmorg/devel/jdk7/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/jdk7/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk7/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk7/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/jdk7/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/jdk7/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk7/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk7/Makefile diff --git a/linux/discontinued/epicmorg/devel/jdk7/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/jdk7/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk7/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/jdk7/docker-compose.yml diff --git a/linux/discontinued/epicmorg/devel/jdk8/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/jdk8/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk8/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk8/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/jdk8/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/jdk8/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk8/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/jdk8/Makefile diff --git a/linux/discontinued/epicmorg/devel/jdk8/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/jdk8/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/jdk8/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/jdk8/docker-compose.yml diff --git a/linux/discontinued/epicmorg/devel/main/Dockerfile b/linux/discontinued/ecosystem/epicmorg/devel/main/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/devel/main/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/devel/main/Dockerfile diff --git a/linux/discontinued/epicmorg/devel/main/Makefile b/linux/discontinued/ecosystem/epicmorg/devel/main/Makefile similarity index 100% rename from linux/discontinued/epicmorg/devel/main/Makefile rename to linux/discontinued/ecosystem/epicmorg/devel/main/Makefile diff --git a/linux/discontinued/epicmorg/devel/main/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/devel/main/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/devel/main/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/devel/main/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/jdk11/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/jdk11/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk11/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk11/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/jdk11/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/jdk11/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk11/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk11/Makefile diff --git a/linux/discontinued/epicmorg/edge/jdk11/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/jdk11/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk11/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/jdk11/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/jdk16/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/jdk16/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk16/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk16/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/jdk16/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/jdk16/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk16/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk16/Makefile diff --git a/linux/discontinued/epicmorg/edge/jdk16/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/jdk16/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk16/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/jdk16/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/jdk6/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/jdk6/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk6/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk6/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/jdk6/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/jdk6/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk6/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk6/Makefile diff --git a/linux/discontinued/epicmorg/edge/jdk6/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/jdk6/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk6/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/jdk6/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/jdk7/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/jdk7/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk7/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk7/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/jdk7/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/jdk7/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk7/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk7/Makefile diff --git a/linux/discontinued/epicmorg/edge/jdk7/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/jdk7/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk7/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/jdk7/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/jdk8/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/jdk8/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk8/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk8/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/jdk8/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/jdk8/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk8/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/jdk8/Makefile diff --git a/linux/discontinued/epicmorg/edge/jdk8/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/jdk8/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/jdk8/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/jdk8/docker-compose.yml diff --git a/linux/discontinued/epicmorg/edge/main/Dockerfile b/linux/discontinued/ecosystem/epicmorg/edge/main/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/edge/main/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/edge/main/Dockerfile diff --git a/linux/discontinued/epicmorg/edge/main/Makefile b/linux/discontinued/ecosystem/epicmorg/edge/main/Makefile similarity index 100% rename from linux/discontinued/epicmorg/edge/main/Makefile rename to linux/discontinued/ecosystem/epicmorg/edge/main/Makefile diff --git a/linux/discontinued/epicmorg/edge/main/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/edge/main/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/edge/main/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/edge/main/docker-compose.yml diff --git a/linux/discontinued/ecosystem/epicmorg/edge/main/sources.list.d/github_git-lfs.list b/linux/discontinued/ecosystem/epicmorg/edge/main/sources.list.d/github_git-lfs.list new file mode 100644 index 000000000..8cf93d426 --- /dev/null +++ b/linux/discontinued/ecosystem/epicmorg/edge/main/sources.list.d/github_git-lfs.list @@ -0,0 +1,2 @@ +deb https://packagecloud.io/github/git-lfs/debian/ bullseye main +deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main diff --git a/linux/discontinued/epicmorg/edge/main/sources.list.d/sources.list b/linux/discontinued/ecosystem/epicmorg/edge/main/sources.list.d/sources.list similarity index 100% rename from linux/discontinued/epicmorg/edge/main/sources.list.d/sources.list rename to linux/discontinued/ecosystem/epicmorg/edge/main/sources.list.d/sources.list diff --git a/linux/discontinued/epicmorg/prod/jdk11/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/jdk11/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk11/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk11/Dockerfile diff --git a/linux/discontinued/epicmorg/prod/jdk11/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/jdk11/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk11/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk11/Makefile diff --git a/linux/discontinued/epicmorg/prod/jdk11/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/jdk11/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk11/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/jdk11/docker-compose.yml diff --git a/linux/discontinued/epicmorg/prod/jdk16/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/jdk16/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk16/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk16/Dockerfile diff --git a/linux/discontinued/epicmorg/prod/jdk16/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/jdk16/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk16/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk16/Makefile diff --git a/linux/discontinued/epicmorg/prod/jdk16/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/jdk16/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk16/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/jdk16/docker-compose.yml diff --git a/linux/discontinued/epicmorg/prod/jdk6/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/jdk6/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk6/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk6/Dockerfile diff --git a/linux/discontinued/epicmorg/prod/jdk6/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/jdk6/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk6/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk6/Makefile diff --git a/linux/discontinued/epicmorg/prod/jdk6/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/jdk6/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk6/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/jdk6/docker-compose.yml diff --git a/linux/discontinued/epicmorg/prod/jdk7/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/jdk7/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk7/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk7/Dockerfile diff --git a/linux/discontinued/epicmorg/prod/jdk7/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/jdk7/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk7/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk7/Makefile diff --git a/linux/discontinued/epicmorg/prod/jdk7/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/jdk7/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk7/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/jdk7/docker-compose.yml diff --git a/linux/discontinued/epicmorg/prod/jdk8/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/jdk8/Dockerfile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk8/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk8/Dockerfile diff --git a/linux/discontinued/epicmorg/prod/jdk8/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/jdk8/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk8/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/jdk8/Makefile diff --git a/linux/discontinued/epicmorg/prod/jdk8/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/jdk8/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/jdk8/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/jdk8/docker-compose.yml diff --git a/linux/discontinued/epicmorg/prod/main/Dockerfile b/linux/discontinued/ecosystem/epicmorg/prod/main/Dockerfile similarity index 95% rename from linux/discontinued/epicmorg/prod/main/Dockerfile rename to linux/discontinued/ecosystem/epicmorg/prod/main/Dockerfile index 295a14fdd..04f0acc3a 100644 --- a/linux/discontinued/epicmorg/prod/main/Dockerfile +++ b/linux/discontinued/ecosystem/epicmorg/prod/main/Dockerfile @@ -20,20 +20,20 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r21.2 -ENV P4_DOWNLOAD_URL=https://www.perforce.com/downloads/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=https://www.perforce.com/downloads/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2103 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.31.4 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +ARG LZGIT_VERSION=0.42.0 +ARG LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz ################################################################## # installing utils diff --git a/linux/discontinued/epicmorg/prod/main/Makefile b/linux/discontinued/ecosystem/epicmorg/prod/main/Makefile similarity index 100% rename from linux/discontinued/epicmorg/prod/main/Makefile rename to linux/discontinued/ecosystem/epicmorg/prod/main/Makefile diff --git a/linux/discontinued/epicmorg/prod/main/docker-compose.yml b/linux/discontinued/ecosystem/epicmorg/prod/main/docker-compose.yml similarity index 100% rename from linux/discontinued/epicmorg/prod/main/docker-compose.yml rename to linux/discontinued/ecosystem/epicmorg/prod/main/docker-compose.yml diff --git a/linux/discontinued/ecosystem/epicmorg/prod/main/etc/locale.gen b/linux/discontinued/ecosystem/epicmorg/prod/main/etc/locale.gen new file mode 100644 index 000000000..02f100afa --- /dev/null +++ b/linux/discontinued/ecosystem/epicmorg/prod/main/etc/locale.gen @@ -0,0 +1,12 @@ +en_GB.UTF-8 UTF-8 +en_GB ISO-8859-1 +en_GB.ISO-8859-15 ISO-8859-15 +en_US.UTF-8 UTF-8 +en_US ISO-8859-1 +en_US.ISO-8859-15 ISO-8859-15 +ru_RU.UTF-8 UTF-8 +ru_RU.KOI8-R KOI8-R +ru_RU ISO-8859-5 +ru_RU.CP1251 CP1251 +ru_UA.UTF-8 UTF-8 +ru_UA KOI8-U diff --git a/linux/discontinued/syspass/sysPass/locale.gen.full b/linux/discontinued/ecosystem/epicmorg/prod/main/etc/locale.gen.full similarity index 100% rename from linux/discontinued/syspass/sysPass/locale.gen.full rename to linux/discontinued/ecosystem/epicmorg/prod/main/etc/locale.gen.full diff --git a/linux/discontinued/epicmorg/prod/main/sources.list.d/github-cli.list b/linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/github-cli.list similarity index 100% rename from linux/discontinued/epicmorg/prod/main/sources.list.d/github-cli.list rename to linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/github-cli.list diff --git a/linux/discontinued/epicmorg/prod/main/sources.list.d/github_git-lfs.list b/linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/discontinued/epicmorg/prod/main/sources.list.d/github_git-lfs.list rename to linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/github_git-lfs.list diff --git a/linux/discontinued/epicmorg/prod/main/sources.list.d/sources.list b/linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/sources.list similarity index 100% rename from linux/discontinued/epicmorg/prod/main/sources.list.d/sources.list rename to linux/discontinued/ecosystem/epicmorg/prod/main/sources.list.d/sources.list diff --git a/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/deb-multimedia-keyring.gpg new file mode 100644 index 000000000..a4f2b1006 Binary files /dev/null and b/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/deb-multimedia-keyring.gpg differ diff --git a/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/githubcli-archive-keyring.gpg new file mode 100644 index 000000000..ce02b812e Binary files /dev/null and b/linux/discontinued/ecosystem/epicmorg/prod/main/trusted.gpg.d/githubcli-archive-keyring.gpg differ diff --git a/linux/discontinued/freegpt-webui/1.0/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.0/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.0/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.0/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.0/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.0/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.0/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.0/Makefile diff --git a/linux/discontinued/freegpt-webui/1.0/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.0/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.0/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.0/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.0/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.0/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.0/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.0/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.1/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.1/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.1/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.1/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.1/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.1/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.1/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.1/Makefile diff --git a/linux/discontinued/freegpt-webui/1.1/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.1/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.1/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.1/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.1/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.1/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.1/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.1/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.2/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.2/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.2/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.2/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.2/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.2/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.2/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.2/Makefile diff --git a/linux/discontinued/freegpt-webui/1.2/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.2/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.2/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.2/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.2/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.2/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.2/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.2/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.3.1/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.3.1/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.1/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.3.1/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.3.1/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.3.1/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.1/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.3.1/Makefile diff --git a/linux/discontinued/freegpt-webui/1.3.1/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.3.1/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.1/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.3.1/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.3.1/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.3.1/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.1/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.3.1/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.3.2/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.3.2/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.2/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.3.2/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.3.2/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.3.2/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.2/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.3.2/Makefile diff --git a/linux/discontinued/freegpt-webui/1.3.2/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.3.2/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.2/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.3.2/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.3.2/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.3.2/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.3.2/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.3.2/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.3/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.3/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.3/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.3/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.3/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.3/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.3/Makefile diff --git a/linux/discontinued/freegpt-webui/1.3/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.3/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.3/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.3/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.3/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.3/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.3/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.3/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/1.4/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/1.4/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/1.4/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/1.4/Dockerfile diff --git a/linux/discontinued/freegpt-webui/1.4/Makefile b/linux/discontinued/ecosystem/freegpt-webui/1.4/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/1.4/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/1.4/Makefile diff --git a/linux/discontinued/freegpt-webui/1.4/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/1.4/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/1.4/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/1.4/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/1.4/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/1.4/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/1.4/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/1.4/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/freegpt-webui/README.md b/linux/discontinued/ecosystem/freegpt-webui/README.md similarity index 100% rename from linux/discontinued/freegpt-webui/README.md rename to linux/discontinued/ecosystem/freegpt-webui/README.md diff --git a/linux/discontinued/freegpt-webui/latest/Dockerfile b/linux/discontinued/ecosystem/freegpt-webui/latest/Dockerfile similarity index 100% rename from linux/discontinued/freegpt-webui/latest/Dockerfile rename to linux/discontinued/ecosystem/freegpt-webui/latest/Dockerfile diff --git a/linux/discontinued/freegpt-webui/latest/Makefile b/linux/discontinued/ecosystem/freegpt-webui/latest/Makefile similarity index 100% rename from linux/discontinued/freegpt-webui/latest/Makefile rename to linux/discontinued/ecosystem/freegpt-webui/latest/Makefile diff --git a/linux/discontinued/freegpt-webui/latest/docker-compose.yml b/linux/discontinued/ecosystem/freegpt-webui/latest/docker-compose.yml similarity index 100% rename from linux/discontinued/freegpt-webui/latest/docker-compose.yml rename to linux/discontinued/ecosystem/freegpt-webui/latest/docker-compose.yml diff --git a/linux/discontinued/freegpt-webui/latest/etc/supervisor/conf.d/freegpt.conf b/linux/discontinued/ecosystem/freegpt-webui/latest/etc/supervisor/conf.d/freegpt.conf similarity index 100% rename from linux/discontinued/freegpt-webui/latest/etc/supervisor/conf.d/freegpt.conf rename to linux/discontinued/ecosystem/freegpt-webui/latest/etc/supervisor/conf.d/freegpt.conf diff --git a/linux/discontinued/staytus/Dockerfile b/linux/discontinued/ecosystem/staytus/Dockerfile similarity index 100% rename from linux/discontinued/staytus/Dockerfile rename to linux/discontinued/ecosystem/staytus/Dockerfile diff --git a/linux/discontinued/staytus/Makefile b/linux/discontinued/ecosystem/staytus/Makefile similarity index 100% rename from linux/discontinued/staytus/Makefile rename to linux/discontinued/ecosystem/staytus/Makefile diff --git a/linux/discontinued/staytus/README.md b/linux/discontinued/ecosystem/staytus/README.md similarity index 100% rename from linux/discontinued/staytus/README.md rename to linux/discontinued/ecosystem/staytus/README.md diff --git a/linux/discontinued/staytus/entrypoint.sh b/linux/discontinued/ecosystem/staytus/entrypoint.sh similarity index 100% rename from linux/discontinued/staytus/entrypoint.sh rename to linux/discontinued/ecosystem/staytus/entrypoint.sh diff --git a/linux/discontinued/syspass/LICENSE b/linux/discontinued/ecosystem/syspass/LICENSE similarity index 100% rename from linux/discontinued/syspass/LICENSE rename to linux/discontinued/ecosystem/syspass/LICENSE diff --git a/linux/discontinued/syspass/README.md b/linux/discontinued/ecosystem/syspass/README.md similarity index 100% rename from linux/discontinued/syspass/README.md rename to linux/discontinued/ecosystem/syspass/README.md diff --git a/linux/discontinued/syspass/sysPass/Dockerfile b/linux/discontinued/ecosystem/syspass/sysPass/Dockerfile similarity index 100% rename from linux/discontinued/syspass/sysPass/Dockerfile rename to linux/discontinued/ecosystem/syspass/sysPass/Dockerfile diff --git a/linux/discontinued/syspass/sysPass/Makefile b/linux/discontinued/ecosystem/syspass/sysPass/Makefile similarity index 100% rename from linux/discontinued/syspass/sysPass/Makefile rename to linux/discontinued/ecosystem/syspass/sysPass/Makefile diff --git a/linux/discontinued/syspass/sysPass/common_fn.sh b/linux/discontinued/ecosystem/syspass/sysPass/common_fn.sh old mode 100644 new mode 100755 similarity index 100% rename from linux/discontinued/syspass/sysPass/common_fn.sh rename to linux/discontinued/ecosystem/syspass/sysPass/common_fn.sh diff --git a/linux/discontinued/syspass/sysPass/docker-compose.yml b/linux/discontinued/ecosystem/syspass/sysPass/docker-compose.yml similarity index 100% rename from linux/discontinued/syspass/sysPass/docker-compose.yml rename to linux/discontinued/ecosystem/syspass/sysPass/docker-compose.yml diff --git a/linux/discontinued/syspass/sysPass/entrypoint.sh b/linux/discontinued/ecosystem/syspass/sysPass/entrypoint.sh similarity index 100% rename from linux/discontinued/syspass/sysPass/entrypoint.sh rename to linux/discontinued/ecosystem/syspass/sysPass/entrypoint.sh diff --git a/linux/discontinued/syspass/sysPass/init-functions b/linux/discontinued/ecosystem/syspass/sysPass/init-functions similarity index 100% rename from linux/discontinued/syspass/sysPass/init-functions rename to linux/discontinued/ecosystem/syspass/sysPass/init-functions diff --git a/linux/discontinued/syspass/sysPass/locale.gen b/linux/discontinued/ecosystem/syspass/sysPass/locale.gen similarity index 100% rename from linux/discontinued/syspass/sysPass/locale.gen rename to linux/discontinued/ecosystem/syspass/sysPass/locale.gen diff --git a/linux/discontinued/ecosystem/syspass/sysPass/locale.gen.full b/linux/discontinued/ecosystem/syspass/sysPass/locale.gen.full new file mode 100644 index 000000000..602141659 --- /dev/null +++ b/linux/discontinued/ecosystem/syspass/sysPass/locale.gen.full @@ -0,0 +1,496 @@ +aa_DJ.UTF-8 UTF-8 +aa_DJ ISO-8859-1 +aa_ER UTF-8 +aa_ER@saaho UTF-8 +aa_ET UTF-8 +af_ZA.UTF-8 UTF-8 +af_ZA ISO-8859-1 +agr_PE UTF-8 +ak_GH UTF-8 +am_ET UTF-8 +an_ES.UTF-8 UTF-8 +an_ES ISO-8859-15 +anp_IN UTF-8 +ar_AE.UTF-8 UTF-8 +ar_AE ISO-8859-6 +ar_BH.UTF-8 UTF-8 +ar_BH ISO-8859-6 +ar_DZ.UTF-8 UTF-8 +ar_DZ ISO-8859-6 +ar_EG.UTF-8 UTF-8 +ar_EG ISO-8859-6 +ar_IN UTF-8 +ar_IQ.UTF-8 UTF-8 +ar_IQ ISO-8859-6 +ar_JO.UTF-8 UTF-8 +ar_JO ISO-8859-6 +ar_KW.UTF-8 UTF-8 +ar_KW ISO-8859-6 +ar_LB.UTF-8 UTF-8 +ar_LB ISO-8859-6 +ar_LY.UTF-8 UTF-8 +ar_LY ISO-8859-6 +ar_MA.UTF-8 UTF-8 +ar_MA ISO-8859-6 +ar_OM.UTF-8 UTF-8 +ar_OM ISO-8859-6 +ar_QA.UTF-8 UTF-8 +ar_QA ISO-8859-6 +ar_SA.UTF-8 UTF-8 +ar_SA ISO-8859-6 +ar_SD.UTF-8 UTF-8 +ar_SD ISO-8859-6 +ar_SS UTF-8 +ar_SY.UTF-8 UTF-8 +ar_SY ISO-8859-6 +ar_TN.UTF-8 UTF-8 +ar_TN ISO-8859-6 +ar_YE.UTF-8 UTF-8 +ar_YE ISO-8859-6 +ayc_PE UTF-8 +az_AZ UTF-8 +az_IR UTF-8 +as_IN UTF-8 +ast_ES.UTF-8 UTF-8 +ast_ES ISO-8859-15 +be_BY.UTF-8 UTF-8 +be_BY CP1251 +be_BY@latin UTF-8 +bem_ZM UTF-8 +ber_DZ UTF-8 +ber_MA UTF-8 +bg_BG.UTF-8 UTF-8 +bg_BG CP1251 +bhb_IN.UTF-8 UTF-8 +bho_IN UTF-8 +bho_NP UTF-8 +bi_VU UTF-8 +bn_BD UTF-8 +bn_IN UTF-8 +bo_CN UTF-8 +bo_IN UTF-8 +br_FR.UTF-8 UTF-8 +br_FR ISO-8859-1 +br_FR@euro ISO-8859-15 +brx_IN UTF-8 +bs_BA.UTF-8 UTF-8 +bs_BA ISO-8859-2 +byn_ER UTF-8 +ca_AD.UTF-8 UTF-8 +ca_AD ISO-8859-15 +ca_ES.UTF-8 UTF-8 +ca_ES ISO-8859-1 +ca_ES@euro ISO-8859-15 +ca_ES@valencia UTF-8 +ca_FR.UTF-8 UTF-8 +ca_FR ISO-8859-15 +ca_IT.UTF-8 UTF-8 +ca_IT ISO-8859-15 +ce_RU UTF-8 +chr_US UTF-8 +cmn_TW UTF-8 +crh_UA UTF-8 +cs_CZ.UTF-8 UTF-8 +cs_CZ ISO-8859-2 +csb_PL UTF-8 +cv_RU UTF-8 +cy_GB.UTF-8 UTF-8 +cy_GB ISO-8859-14 +da_DK.UTF-8 UTF-8 +da_DK ISO-8859-1 +de_AT.UTF-8 UTF-8 +de_AT ISO-8859-1 +de_AT@euro ISO-8859-15 +de_BE.UTF-8 UTF-8 +de_BE ISO-8859-1 +de_BE@euro ISO-8859-15 +de_CH.UTF-8 UTF-8 +de_CH ISO-8859-1 +de_DE.UTF-8 UTF-8 +de_DE ISO-8859-1 +de_DE@euro ISO-8859-15 +de_IT.UTF-8 UTF-8 +de_IT ISO-8859-1 +de_LI.UTF-8 UTF-8 +de_LU.UTF-8 UTF-8 +de_LU ISO-8859-1 +de_LU@euro ISO-8859-15 +doi_IN UTF-8 +dsb_DE UTF-8 +dv_MV UTF-8 +dz_BT UTF-8 +el_GR.UTF-8 UTF-8 +el_GR ISO-8859-7 +el_GR@euro ISO-8859-7 +el_CY.UTF-8 UTF-8 +el_CY ISO-8859-7 +en_AG UTF-8 +en_AU.UTF-8 UTF-8 +en_AU ISO-8859-1 +en_BW.UTF-8 UTF-8 +en_BW ISO-8859-1 +en_CA.UTF-8 UTF-8 +en_CA ISO-8859-1 +en_DK.UTF-8 UTF-8 +en_DK.ISO-8859-15 ISO-8859-15 +en_DK ISO-8859-1 +en_GB.UTF-8 UTF-8 +en_GB ISO-8859-1 +en_GB.ISO-8859-15 ISO-8859-15 +en_HK.UTF-8 UTF-8 +en_HK ISO-8859-1 +en_IE.UTF-8 UTF-8 +en_IE ISO-8859-1 +en_IE@euro ISO-8859-15 +en_IL UTF-8 +en_IN UTF-8 +en_NG UTF-8 +en_NZ.UTF-8 UTF-8 +en_NZ ISO-8859-1 +en_PH.UTF-8 UTF-8 +en_PH ISO-8859-1 +en_SC.UTF-8 UTF-8 +en_SG.UTF-8 UTF-8 +en_SG ISO-8859-1 +en_US.UTF-8 UTF-8 +en_US ISO-8859-1 +en_US.ISO-8859-15 ISO-8859-15 +en_ZA.UTF-8 UTF-8 +en_ZA ISO-8859-1 +en_ZM UTF-8 +en_ZW.UTF-8 UTF-8 +en_ZW ISO-8859-1 +eo UTF-8 +es_AR.UTF-8 UTF-8 +es_AR ISO-8859-1 +es_BO.UTF-8 UTF-8 +es_BO ISO-8859-1 +es_CL.UTF-8 UTF-8 +es_CL ISO-8859-1 +es_CO.UTF-8 UTF-8 +es_CO ISO-8859-1 +es_CR.UTF-8 UTF-8 +es_CR ISO-8859-1 +es_CU UTF-8 +es_DO.UTF-8 UTF-8 +es_DO ISO-8859-1 +es_EC.UTF-8 UTF-8 +es_EC ISO-8859-1 +es_ES.UTF-8 UTF-8 +es_ES ISO-8859-1 +es_ES@euro ISO-8859-15 +es_GT.UTF-8 UTF-8 +es_GT ISO-8859-1 +es_HN.UTF-8 UTF-8 +es_HN ISO-8859-1 +es_MX.UTF-8 UTF-8 +es_MX ISO-8859-1 +es_NI.UTF-8 UTF-8 +es_NI ISO-8859-1 +es_PA.UTF-8 UTF-8 +es_PA ISO-8859-1 +es_PE.UTF-8 UTF-8 +es_PE ISO-8859-1 +es_PR.UTF-8 UTF-8 +es_PR ISO-8859-1 +es_PY.UTF-8 UTF-8 +es_PY ISO-8859-1 +es_SV.UTF-8 UTF-8 +es_SV ISO-8859-1 +es_US.UTF-8 UTF-8 +es_US ISO-8859-1 +es_UY.UTF-8 UTF-8 +es_UY ISO-8859-1 +es_VE.UTF-8 UTF-8 +es_VE ISO-8859-1 +et_EE.UTF-8 UTF-8 +et_EE ISO-8859-1 +et_EE.ISO-8859-15 ISO-8859-15 +eu_ES.UTF-8 UTF-8 +eu_ES ISO-8859-1 +eu_ES@euro ISO-8859-15 +eu_FR.UTF-8 UTF-8 +eu_FR ISO-8859-1 +eu_FR@euro ISO-8859-15 +fa_IR UTF-8 +ff_SN UTF-8 +fi_FI.UTF-8 UTF-8 +fi_FI ISO-8859-1 +fi_FI@euro ISO-8859-15 +fil_PH UTF-8 +fo_FO.UTF-8 UTF-8 +fo_FO ISO-8859-1 +fr_BE.UTF-8 UTF-8 +fr_BE ISO-8859-1 +fr_BE@euro ISO-8859-15 +fr_CA.UTF-8 UTF-8 +fr_CA ISO-8859-1 +fr_CH.UTF-8 UTF-8 +fr_CH ISO-8859-1 +fr_FR.UTF-8 UTF-8 +fr_FR ISO-8859-1 +fr_FR@euro ISO-8859-15 +fr_LU.UTF-8 UTF-8 +fr_LU ISO-8859-1 +fr_LU@euro ISO-8859-15 +fur_IT UTF-8 +fy_NL UTF-8 +fy_DE UTF-8 +ga_IE.UTF-8 UTF-8 +ga_IE ISO-8859-1 +ga_IE@euro ISO-8859-15 +gd_GB.UTF-8 UTF-8 +gd_GB ISO-8859-15 +gez_ER UTF-8 +gez_ER@abegede UTF-8 +gez_ET UTF-8 +gez_ET@abegede UTF-8 +gl_ES.UTF-8 UTF-8 +gl_ES ISO-8859-1 +gl_ES@euro ISO-8859-15 +gu_IN UTF-8 +gv_GB.UTF-8 UTF-8 +gv_GB ISO-8859-1 +ha_NG UTF-8 +hak_TW UTF-8 +he_IL.UTF-8 UTF-8 +he_IL ISO-8859-8 +hi_IN UTF-8 +hif_FJ UTF-8 +hne_IN UTF-8 +hr_HR.UTF-8 UTF-8 +hr_HR ISO-8859-2 +hsb_DE.UTF-8 UTF-8 +hsb_DE ISO-8859-2 +ht_HT UTF-8 +hu_HU.UTF-8 UTF-8 +hu_HU ISO-8859-2 +hy_AM UTF-8 +hy_AM.ARMSCII-8 ARMSCII-8 +ia_FR UTF-8 +id_ID.UTF-8 UTF-8 +id_ID ISO-8859-1 +ig_NG UTF-8 +ik_CA UTF-8 +is_IS.UTF-8 UTF-8 +is_IS ISO-8859-1 +it_CH.UTF-8 UTF-8 +it_CH ISO-8859-1 +it_IT.UTF-8 UTF-8 +it_IT ISO-8859-1 +it_IT@euro ISO-8859-15 +iu_CA UTF-8 +ja_JP.UTF-8 UTF-8 +ja_JP.EUC-JP EUC-JP +ka_GE.UTF-8 UTF-8 +ka_GE GEORGIAN-PS +kab_DZ UTF-8 +kk_KZ.UTF-8 UTF-8 +kk_KZ PT154 +kk_KZ.RK1048 RK1048 +kl_GL.UTF-8 UTF-8 +kl_GL ISO-8859-1 +km_KH UTF-8 +kn_IN UTF-8 +ko_KR.UTF-8 UTF-8 +ko_KR.EUC-KR EUC-KR +kok_IN UTF-8 +ks_IN UTF-8 +ks_IN@devanagari UTF-8 +ku_TR.UTF-8 UTF-8 +ku_TR ISO-8859-9 +kw_GB.UTF-8 UTF-8 +kw_GB ISO-8859-1 +ky_KG UTF-8 +lb_LU UTF-8 +lg_UG.UTF-8 UTF-8 +lg_UG ISO-8859-10 +li_BE UTF-8 +li_NL UTF-8 +lij_IT UTF-8 +ln_CD UTF-8 +lo_LA UTF-8 +lt_LT.UTF-8 UTF-8 +lt_LT ISO-8859-13 +lv_LV.UTF-8 UTF-8 +lv_LV ISO-8859-13 +lzh_TW UTF-8 +mag_IN UTF-8 +mai_IN UTF-8 +mai_NP UTF-8 +mfe_MU UTF-8 +mg_MG.UTF-8 UTF-8 +mg_MG ISO-8859-15 +mhr_RU UTF-8 +mi_NZ.UTF-8 UTF-8 +mi_NZ ISO-8859-13 +miq_NI UTF-8 +mjw_IN UTF-8 +mk_MK.UTF-8 UTF-8 +mk_MK ISO-8859-5 +ml_IN UTF-8 +mn_MN UTF-8 +mni_IN UTF-8 +mr_IN UTF-8 +ms_MY.UTF-8 UTF-8 +ms_MY ISO-8859-1 +mt_MT.UTF-8 UTF-8 +mt_MT ISO-8859-3 +my_MM UTF-8 +nan_TW UTF-8 +nan_TW@latin UTF-8 +nb_NO.UTF-8 UTF-8 +nb_NO ISO-8859-1 +nds_DE UTF-8 +nds_NL UTF-8 +ne_NP UTF-8 +nhn_MX UTF-8 +niu_NU UTF-8 +niu_NZ UTF-8 +nl_AW UTF-8 +nl_BE.UTF-8 UTF-8 +nl_BE ISO-8859-1 +nl_BE@euro ISO-8859-15 +nl_NL.UTF-8 UTF-8 +nl_NL ISO-8859-1 +nl_NL@euro ISO-8859-15 +nn_NO.UTF-8 UTF-8 +nn_NO ISO-8859-1 +nr_ZA UTF-8 +nso_ZA UTF-8 +oc_FR.UTF-8 UTF-8 +oc_FR ISO-8859-1 +om_ET UTF-8 +om_KE.UTF-8 UTF-8 +om_KE ISO-8859-1 +or_IN UTF-8 +os_RU UTF-8 +pa_IN UTF-8 +pa_PK UTF-8 +pap_AW UTF-8 +pap_CW UTF-8 +pl_PL.UTF-8 UTF-8 +pl_PL ISO-8859-2 +ps_AF UTF-8 +pt_BR.UTF-8 UTF-8 +pt_BR ISO-8859-1 +pt_PT.UTF-8 UTF-8 +pt_PT ISO-8859-1 +pt_PT@euro ISO-8859-15 +quz_PE UTF-8 +raj_IN UTF-8 +ro_RO.UTF-8 UTF-8 +ro_RO ISO-8859-2 +ru_RU.UTF-8 UTF-8 +ru_RU.KOI8-R KOI8-R +ru_RU ISO-8859-5 +ru_RU.CP1251 CP1251 +ru_UA.UTF-8 UTF-8 +ru_UA KOI8-U +rw_RW UTF-8 +sa_IN UTF-8 +sah_RU UTF-8 +sat_IN UTF-8 +sc_IT UTF-8 +sd_IN UTF-8 +sd_IN@devanagari UTF-8 +se_NO UTF-8 +sgs_LT UTF-8 +shn_MM UTF-8 +shs_CA UTF-8 +si_LK UTF-8 +sid_ET UTF-8 +sk_SK.UTF-8 UTF-8 +sk_SK ISO-8859-2 +sl_SI.UTF-8 UTF-8 +sl_SI ISO-8859-2 +sm_WS UTF-8 +so_DJ.UTF-8 UTF-8 +so_DJ ISO-8859-1 +so_ET UTF-8 +so_KE.UTF-8 UTF-8 +so_KE ISO-8859-1 +so_SO.UTF-8 UTF-8 +so_SO ISO-8859-1 +sq_AL.UTF-8 UTF-8 +sq_AL ISO-8859-1 +sq_MK UTF-8 +sr_ME UTF-8 +sr_RS UTF-8 +sr_RS@latin UTF-8 +ss_ZA UTF-8 +st_ZA.UTF-8 UTF-8 +st_ZA ISO-8859-1 +sv_FI.UTF-8 UTF-8 +sv_FI ISO-8859-1 +sv_FI@euro ISO-8859-15 +sv_SE.UTF-8 UTF-8 +sv_SE ISO-8859-1 +sv_SE.ISO-8859-15 ISO-8859-15 +sw_KE UTF-8 +sw_TZ UTF-8 +szl_PL UTF-8 +ta_IN UTF-8 +ta_LK UTF-8 +tcy_IN.UTF-8 UTF-8 +te_IN UTF-8 +tg_TJ.UTF-8 UTF-8 +tg_TJ KOI8-T +th_TH.UTF-8 UTF-8 +th_TH TIS-620 +the_NP UTF-8 +ti_ER UTF-8 +ti_ET UTF-8 +tig_ER UTF-8 +tk_TM UTF-8 +tl_PH.UTF-8 UTF-8 +tl_PH ISO-8859-1 +tn_ZA UTF-8 +to_TO UTF-8 +tpi_PG UTF-8 +tr_CY.UTF-8 UTF-8 +tr_CY ISO-8859-9 +tr_TR.UTF-8 UTF-8 +tr_TR ISO-8859-9 +ts_ZA UTF-8 +tt_RU UTF-8 +tt_RU@iqtelif UTF-8 +ug_CN UTF-8 +uk_UA.UTF-8 UTF-8 +uk_UA KOI8-U +unm_US UTF-8 +ur_IN UTF-8 +ur_PK UTF-8 +uz_UZ.UTF-8 UTF-8 +uz_UZ ISO-8859-1 +uz_UZ@cyrillic UTF-8 +ve_ZA UTF-8 +vi_VN UTF-8 +wa_BE.UTF-8 UTF-8 +wa_BE ISO-8859-1 +wa_BE@euro ISO-8859-15 +wae_CH UTF-8 +wal_ET UTF-8 +wo_SN UTF-8 +xh_ZA.UTF-8 UTF-8 +xh_ZA ISO-8859-1 +yi_US.UTF-8 UTF-8 +yi_US CP1255 +yo_NG UTF-8 +yue_HK UTF-8 +yuw_PG UTF-8 +zh_CN.UTF-8 UTF-8 +zh_CN.GB18030 GB18030 +zh_CN.GBK GBK +zh_CN GB2312 +zh_HK.UTF-8 UTF-8 +zh_HK BIG5-HKSCS +zh_SG.UTF-8 UTF-8 +zh_SG.GBK GBK +zh_SG GB2312 +zh_TW.UTF-8 UTF-8 +zh_TW.EUC-TW EUC-TW +zh_TW BIG5 +zu_ZA.UTF-8 UTF-8 +zu_ZA ISO-8859-1 + diff --git a/linux/discontinued/ecosystem/syspass/sysPass/smb.conf b/linux/discontinued/ecosystem/syspass/sysPass/smb.conf new file mode 100644 index 000000000..9346a22f4 --- /dev/null +++ b/linux/discontinued/ecosystem/syspass/sysPass/smb.conf @@ -0,0 +1,239 @@ +# +# Sample configuration file for the Samba suite for Debian GNU/Linux. +# +# +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options most of which +# are not shown in this example +# +# Some options that are often worth tuning have been included as +# commented-out examples in this file. +# - When such options are commented with ";", the proposed setting +# differs from the default Samba behaviour +# - When commented with "#", the proposed setting is the default +# behaviour of Samba but the option is considered important +# enough to be mentioned here +# +# NOTE: Whenever you modify this file you should run the command +# "testparm" to check that you have not made any basic syntactic +# errors. + +#======================= Global Settings ======================= + +[global] +client min protocol = SMB2 +client max protocol = SMB3 + + +## Browsing/Identification ### + +# Change this to the workgroup/NT-domain name your Samba server will part of + workgroup = WORKGROUP + +#### Networking #### + +# The specific set of interfaces / networks to bind to +# This can be either the interface name or an IP address/netmask; +# interface names are normally preferred +; interfaces = 127.0.0.0/8 eth0 + +# Only bind to the named interfaces and/or networks; you must use the +# 'interfaces' option above to use this. +# It is recommended that you enable this feature if your Samba machine is +# not protected by a firewall or is a firewall itself. However, this +# option cannot handle dynamic or non-broadcast interfaces correctly. +; bind interfaces only = yes + + + +#### Debugging/Accounting #### + +# This tells Samba to use a separate log file for each machine +# that connects + log file = /var/log/samba/log.%m + +# Cap the size of the individual log files (in KiB). + max log size = 1000 + +# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. +# Append syslog@1 if you want important messages to be sent to syslog too. + logging = file + +# Do something sensible when Samba crashes: mail the admin a backtrace + panic action = /usr/share/samba/panic-action %d + + +####### Authentication ####### + +# Server role. Defines in which mode Samba will operate. Possible +# values are "standalone server", "member server", "classic primary +# domain controller", "classic backup domain controller", "active +# directory domain controller". +# +# Most people will want "standalone server" or "member server". +# Running as "active directory domain controller" will require first +# running "samba-tool domain provision" to wipe databases and create a +# new domain. + server role = standalone server + + obey pam restrictions = yes + +# This boolean parameter controls whether Samba attempts to sync the Unix +# password with the SMB password when the encrypted SMB password in the +# passdb is changed. + unix password sync = yes + +# For Unix password sync to work on a Debian GNU/Linux system, the following +# parameters must be set (thanks to Ian Kahan < for +# sending the correct chat script for the passwd program in Debian Sarge). + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + +# This boolean controls whether PAM will be used for password changes +# when requested by an SMB client instead of the program listed in +# 'passwd program'. The default is 'no'. + pam password change = yes + +# This option controls how unsuccessful authentication attempts are mapped +# to anonymous connections + map to guest = bad user + +########## Domains ########### + +# +# The following settings only takes effect if 'server role = primary +# classic domain controller', 'server role = backup domain controller' +# or 'domain logons' is set +# + +# It specifies the location of the user's +# profile directory from the client point of view) The following +# required a [profiles] share to be setup on the samba server (see +# below) +; logon path = \\%N\profiles\%U +# Another common choice is storing the profile in the user's home directory +# (this is Samba's default) +# logon path = \\%N\%U\profile + +# The following setting only takes effect if 'domain logons' is set +# It specifies the location of a user's home directory (from the client +# point of view) +; logon drive = H: +# logon home = \\%N\%U + +# The following setting only takes effect if 'domain logons' is set +# It specifies the script to run during logon. The script must be stored +# in the [netlogon] share +# NOTE: Must be store in 'DOS' file format convention +; logon script = logon.cmd + +# This allows Unix users to be created on the domain controller via the SAMR +# RPC pipe. The example command creates a user account with a disabled Unix +# password; please adapt to your needs +; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u + +# This allows machine accounts to be created on the domain controller via the +# SAMR RPC pipe. +# The following assumes a "machines" group exists on the system +; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u + +# This allows Unix groups to be created on the domain controller via the SAMR +# RPC pipe. +; add group script = /usr/sbin/addgroup --force-badname %g + +############ Misc ############ + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting +; include = /home/samba/etc/smb.conf.%m + +# Some defaults for winbind (make sure you're not using the ranges +# for something else.) +; idmap config * : backend = tdb +; idmap config * : range = 3000-7999 +; idmap config YOURDOMAINHERE : backend = tdb +; idmap config YOURDOMAINHERE : range = 100000-999999 +; template shell = /bin/bash + +# Setup usershare options to enable non-root users to share folders +# with the net usershare command. + +# Maximum number of usershare. 0 means that usershare is disabled. +# usershare max shares = 100 + +# Allow users who've been granted usershare privileges to create +# public shares, not just authenticated ones + usershare allow guests = yes + +#======================= Share Definitions ======================= + +[homes] + comment = Home Directories + browseable = no + +# By default, the home directories are exported read-only. Change the +# next parameter to 'no' if you want to be able to write to them. + read only = yes + +# File creation mask is set to 0700 for security reasons. If you want to +# create files with group=rw permissions, set next parameter to 0775. + create mask = 0700 + +# Directory creation mask is set to 0700 for security reasons. If you want to +# create dirs. with group=rw permissions, set next parameter to 0775. + directory mask = 0700 + +# By default, \\server\username shares can be connected to by anyone +# with access to the samba server. +# The following parameter makes sure that only "username" can connect +# to \\server\username +# This might need tweaking when using external authentication schemes + valid users = %S + +# Un-comment the following and create the netlogon directory for Domain Logons +# (you need to configure Samba to act as a domain controller too.) +;[netlogon] +; comment = Network Logon Service +; path = /home/samba/netlogon +; guest ok = yes +; read only = yes + +# Un-comment the following and create the profiles directory to store +# users profiles (see the "logon path" option above) +# (you need to configure Samba to act as a domain controller too.) +# The path below should be writable by all users so that their +# profile directory may be created the first time they log on +;[profiles] +; comment = Users profiles +; path = /home/samba/profiles +; guest ok = no +; browseable = no +; create mask = 0600 +; directory mask = 0700 + +[printers] + comment = All Printers + browseable = no + path = /var/spool/samba + printable = yes + guest ok = no + read only = yes + create mask = 0700 + +# Windows clients look for this share name as a source of downloadable +# printer drivers +[print$] + comment = Printer Drivers + path = /var/lib/samba/printers + browseable = yes + read only = yes + guest ok = no +# Uncomment to allow remote administration of Windows print drivers. +# You may need to replace 'lpadmin' with the name of the group your +# admin users are members of. +# Please note that you also need to set appropriate Unix permissions +# to the drivers directory for these users to have write rights in it +; write list = root, @lpadmin + diff --git a/linux/discontinued/syspass/sysPass/sources.list b/linux/discontinued/ecosystem/syspass/sysPass/sources.list similarity index 100% rename from linux/discontinued/syspass/sysPass/sources.list rename to linux/discontinued/ecosystem/syspass/sysPass/sources.list diff --git a/linux/discontinued/syspass/sysPass/syspass.conf b/linux/discontinued/ecosystem/syspass/sysPass/syspass.conf similarity index 100% rename from linux/discontinued/syspass/sysPass/syspass.conf rename to linux/discontinued/ecosystem/syspass/sysPass/syspass.conf diff --git a/linux/discontinued/syspass/sysPass/xdebug.ini b/linux/discontinued/ecosystem/syspass/sysPass/xdebug.ini similarity index 100% rename from linux/discontinued/syspass/sysPass/xdebug.ini rename to linux/discontinued/ecosystem/syspass/sysPass/xdebug.ini diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.0.3/.env b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/.env new file mode 100644 index 000000000..f02f59eef --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/.env @@ -0,0 +1,2 @@ +RELEASE=1.0.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Makefile b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.0.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.0.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.0.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.1.2/.env b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/.env new file mode 100644 index 000000000..77e89cbdd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/.env @@ -0,0 +1,2 @@ +RELEASE=1.1.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Makefile b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.1.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.1.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.1.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.1/.env b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/.env new file mode 100644 index 000000000..33bc7808f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/.env @@ -0,0 +1,2 @@ +RELEASE=1.2.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Makefile b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.4/.env b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/.env new file mode 100644 index 000000000..f2fe408af --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/.env @@ -0,0 +1,2 @@ +RELEASE=1.2.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Makefile b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.2.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.2.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.3.1/.env b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/.env new file mode 100644 index 000000000..8971f8176 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/.env @@ -0,0 +1,2 @@ +RELEASE=1.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Makefile b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.3.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/1/1.3.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/1/1.3.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.0.3/.env b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/.env new file mode 100644 index 000000000..1f8b7a90b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/.env @@ -0,0 +1,2 @@ +RELEASE=2.0.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.0.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.0.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.0.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.1.2/.env b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/.env new file mode 100644 index 000000000..de081f3c2 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/.env @@ -0,0 +1,2 @@ +RELEASE=2.1.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.1.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.1.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.1.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.0/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/.env new file mode 100644 index 000000000..b434e4080 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.1/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/.env new file mode 100644 index 000000000..9aa4e09f3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.2/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/.env new file mode 100644 index 000000000..88d3d55db --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.3/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/.env new file mode 100644 index 000000000..fdff7d7be --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/.env new file mode 100644 index 000000000..354055be7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/.env new file mode 100644 index 000000000..49e5f408b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.10.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.10.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.10.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.3/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/.env new file mode 100644 index 000000000..266320c65 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/.env new file mode 100644 index 000000000..413781200 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/.env new file mode 100644 index 000000000..9e844ff67 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.6/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/.env new file mode 100644 index 000000000..8c90f5494 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.7/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/.env new file mode 100644 index 000000000..abff9b709 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.8/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/.env new file mode 100644 index 000000000..d59216be2 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.8 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.8/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.8/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.8/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.9/.env b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/.env new file mode 100644 index 000000000..26912811e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/.env @@ -0,0 +1,2 @@ +RELEASE=2.11.9 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.9/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.11.9/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.11.9/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.0/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/.env new file mode 100644 index 000000000..294f230ca --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.1/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/.env new file mode 100644 index 000000000..71bd47e84 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.2/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/.env new file mode 100644 index 000000000..4fc5149c3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.3/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/.env new file mode 100644 index 000000000..6a2dc3ae4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/.env new file mode 100644 index 000000000..e5e75ea62 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/.env new file mode 100644 index 000000000..667da710e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.6/.env b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/.env new file mode 100644 index 000000000..ef16b6a61 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/.env @@ -0,0 +1,2 @@ +RELEASE=2.12.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.12.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.12.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.2.0/.env b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/.env new file mode 100644 index 000000000..54da496eb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/.env @@ -0,0 +1,2 @@ +RELEASE=2.2.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.2.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.2.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.2.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.3.1/.env b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/.env new file mode 100644 index 000000000..0b77dfb84 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/.env @@ -0,0 +1,2 @@ +RELEASE=2.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.3.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.3.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.3.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.4.2/.env b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/.env new file mode 100644 index 000000000..b25718b7e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/.env @@ -0,0 +1,2 @@ +RELEASE=2.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.4.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.4.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.4.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.5.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/.env new file mode 100644 index 000000000..fe05222e0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.5.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.5.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.5.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.5.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.6.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/.env new file mode 100644 index 000000000..50228d2a0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.6.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.6.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.6.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.6.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.7.6/.env b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/.env new file mode 100644 index 000000000..f03d3c7dc --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/.env @@ -0,0 +1,2 @@ +RELEASE=2.7.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.7.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.7.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.7.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/.env new file mode 100644 index 000000000..1a8ebbc6f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.8.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/.env new file mode 100644 index 000000000..082203808 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.8.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.8.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.8.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.1/.env b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/.env new file mode 100644 index 000000000..ccd53a324 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/.env @@ -0,0 +1,2 @@ +RELEASE=2.9.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.2/.env b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/.env new file mode 100644 index 000000000..7eeab2923 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/.env @@ -0,0 +1,2 @@ +RELEASE=2.9.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.3/.env b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/.env new file mode 100644 index 000000000..ec009f103 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/.env @@ -0,0 +1,2 @@ +RELEASE=2.9.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.4/.env b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/.env new file mode 100644 index 000000000..c3b3e4592 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/.env @@ -0,0 +1,2 @@ +RELEASE=2.9.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.5/.env b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/.env new file mode 100644 index 000000000..537d97401 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/.env @@ -0,0 +1,2 @@ +RELEASE=2.9.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Dockerfile new file mode 100644 index 000000000..b7deebfd7 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk7 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Makefile b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/docker-compose.yml new file mode 100644 index 000000000..b6e6c247a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk7: + image: "epicmorg/bitbucket:${RELEASE}-jdk7" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/bitbucket/2/2.9.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/2/2.9.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/.env new file mode 100644 index 000000000..dfd797686 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/.env new file mode 100644 index 000000000..d4e2ba8b3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.5/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/.env new file mode 100644 index 000000000..8fa617769 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.6/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/.env new file mode 100644 index 000000000..ac5dffa8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.7/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/.env new file mode 100644 index 000000000..f0ceeb713 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.8/.env b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/.env new file mode 100644 index 000000000..8cae2084f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/.env @@ -0,0 +1,2 @@ +RELEASE=3.0.8 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.8/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.0.8/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.0.8/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/.env new file mode 100644 index 000000000..e8152d22f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/.env new file mode 100644 index 000000000..f4ae0a6ae --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/.env new file mode 100644 index 000000000..503fd693f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/.env new file mode 100644 index 000000000..22b62975d --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.5/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/.env new file mode 100644 index 000000000..c2e44dcd9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.7/.env b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/.env new file mode 100644 index 000000000..951554e89 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/.env @@ -0,0 +1,2 @@ +RELEASE=3.1.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.1.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.1.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/.env new file mode 100644 index 000000000..6c2420cf4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.10.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/.env new file mode 100644 index 000000000..59d75d15e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.10.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/.env new file mode 100644 index 000000000..7e5cd4ccd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.10.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/.env new file mode 100644 index 000000000..e7bb5e72d --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.10.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.10.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.10.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/.env new file mode 100644 index 000000000..f0962ade9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/.env new file mode 100644 index 000000000..8694ee46e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/.env new file mode 100644 index 000000000..ad55e6f9c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/.env new file mode 100644 index 000000000..9bed767fc --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/.env new file mode 100644 index 000000000..506783c79 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.6/.env b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/.env new file mode 100644 index 000000000..1f9c3e596 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/.env @@ -0,0 +1,2 @@ +RELEASE=3.11.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.11.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.11.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/.env new file mode 100644 index 000000000..a3a4460e9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.2.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/.env new file mode 100644 index 000000000..ee3f5b4c0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.2.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/.env new file mode 100644 index 000000000..9a03f4416 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.2.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.5/.env b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/.env new file mode 100644 index 000000000..e9026ebd1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/.env @@ -0,0 +1,2 @@ +RELEASE=3.2.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.7/.env b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/.env new file mode 100644 index 000000000..c36dc88df --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/.env @@ -0,0 +1,2 @@ +RELEASE=3.2.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.2.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.2.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/.env new file mode 100644 index 000000000..54907572f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.3.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/.env new file mode 100644 index 000000000..74d8cbdfd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/.env new file mode 100644 index 000000000..48150cd3e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.3.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/.env new file mode 100644 index 000000000..1a2b2a4cb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.3.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.5/.env b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/.env new file mode 100644 index 000000000..184619bcd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/.env @@ -0,0 +1,2 @@ +RELEASE=3.3.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.3.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.3.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/.env new file mode 100644 index 000000000..24691fdfc --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.4.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/.env new file mode 100644 index 000000000..832834989 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/.env new file mode 100644 index 000000000..110587aec --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.4.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.5/.env b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/.env new file mode 100644 index 000000000..df1d17759 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/.env @@ -0,0 +1,2 @@ +RELEASE=3.4.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.4.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.4.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/.env new file mode 100644 index 000000000..e0f5abce3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.5.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/.env new file mode 100644 index 000000000..a249ff265 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.5.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.5.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.5.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/.env new file mode 100644 index 000000000..dce6c5288 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/.env new file mode 100644 index 000000000..8dd1a6e17 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.6.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.6.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.6.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/.env new file mode 100644 index 000000000..8027078cb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.7.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/.env new file mode 100644 index 000000000..7f61d3fe8 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.7.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/.env new file mode 100644 index 000000000..f99861c4a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.7.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.3/.env b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/.env new file mode 100644 index 000000000..7b2e9db8d --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/.env @@ -0,0 +1,2 @@ +RELEASE=3.7.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.4/.env b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/.env new file mode 100644 index 000000000..9f9ccdce2 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/.env @@ -0,0 +1,2 @@ +RELEASE=3.7.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.7.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.7.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.0/.env b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/.env new file mode 100644 index 000000000..d2313a3b9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/.env @@ -0,0 +1,2 @@ +RELEASE=3.8.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/.env new file mode 100644 index 000000000..d2b2e0a18 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.8.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.8.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.8.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.1/.env b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/.env new file mode 100644 index 000000000..f51420b92 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/.env @@ -0,0 +1,2 @@ +RELEASE=3.9.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.2/.env b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/.env new file mode 100644 index 000000000..2487bfdc3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/.env @@ -0,0 +1,2 @@ +RELEASE=3.9.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Makefile b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/3/3.9.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/entrypoint.sh new file mode 100755 index 000000000..d895e31f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/3/3.9.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-stash.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/.env new file mode 100644 index 000000000..faafa2e70 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/.env new file mode 100644 index 000000000..d82aa7754 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/.env new file mode 100644 index 000000000..868c846a5 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/.env new file mode 100644 index 000000000..d3e9a3589 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.6/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/.env new file mode 100644 index 000000000..2d21606e1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.7/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/.env new file mode 100644 index 000000000..f4e8a5028 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.8/.env b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/.env new file mode 100644 index 000000000..123be2dbc --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/.env @@ -0,0 +1,2 @@ +RELEASE=4.0.8 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.8/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.0.8/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.0.8/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/.env new file mode 100644 index 000000000..65d76e6a1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.1.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/.env new file mode 100644 index 000000000..635667c23 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.1.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/.env new file mode 100644 index 000000000..bc46965a5 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.1.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.6/.env b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/.env new file mode 100644 index 000000000..bc067c000 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/.env @@ -0,0 +1,2 @@ +RELEASE=4.1.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.1.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.1.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/.env new file mode 100644 index 000000000..89503731b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.10.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/.env new file mode 100644 index 000000000..b06239edd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.10.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/.env new file mode 100644 index 000000000..6afe61d79 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.10.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.10.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.10.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/.env new file mode 100644 index 000000000..ef641167e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.11.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/.env new file mode 100644 index 000000000..74c55c677 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.11.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.11.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.11.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/.env new file mode 100644 index 000000000..bbd922f70 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.12.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/.env new file mode 100644 index 000000000..77dae55a9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.12.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.12.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.12.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/.env new file mode 100644 index 000000000..fa8b8ba32 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.13.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/.env new file mode 100644 index 000000000..a2e3ec4aa --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.13.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.13.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.13.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/.env new file mode 100644 index 000000000..374ecd778 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/.env new file mode 100644 index 000000000..85780bc7a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.10/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/.env new file mode 100644 index 000000000..d945a71e0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.10 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.10/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.10/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.10/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.11/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/.env new file mode 100644 index 000000000..e7bddf291 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.11 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.11/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.11/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.11/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.12/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/.env new file mode 100644 index 000000000..12d9bb45a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.12 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.12/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.12/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.12/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/.env new file mode 100644 index 000000000..fe2baa1ea --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/.env new file mode 100644 index 000000000..52b6b986b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/.env new file mode 100644 index 000000000..86d714838 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.5/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/.env new file mode 100644 index 000000000..c8a41e102 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.6/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/.env new file mode 100644 index 000000000..deae64208 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.7/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/.env new file mode 100644 index 000000000..51372a456 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.7 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.7/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.7/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.7/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.8/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/.env new file mode 100644 index 000000000..e5c37e351 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.8 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.8/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.8/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.8/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.9/.env b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/.env new file mode 100644 index 000000000..b38e708af --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/.env @@ -0,0 +1,2 @@ +RELEASE=4.14.9 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.9/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.14.9/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.14.9/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/.env new file mode 100644 index 000000000..40ac7b4ed --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.2.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/.env new file mode 100644 index 000000000..173ebbc84 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.2.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/.env new file mode 100644 index 000000000..8a190e446 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.2.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/.env new file mode 100644 index 000000000..1cd92965c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.2.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.2.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.2.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/.env new file mode 100644 index 000000000..b43244d77 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.3.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/.env new file mode 100644 index 000000000..2f26002cb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/.env new file mode 100644 index 000000000..fe57a4b10 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.3.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/.env new file mode 100644 index 000000000..c16f11060 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.3.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.3.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.3.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/.env new file mode 100644 index 000000000..e54f8f005 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.4.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/.env new file mode 100644 index 000000000..369f90243 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/.env new file mode 100644 index 000000000..af698ee5e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/.env new file mode 100644 index 000000000..3c627dfa1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.4.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.4.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.4.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/.env new file mode 100644 index 000000000..5710b7c3e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.5.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/.env new file mode 100644 index 000000000..2a47e2ea5 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.5.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/.env new file mode 100644 index 000000000..577d827f4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.5.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.5.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.5.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/.env new file mode 100644 index 000000000..a9d7f9a12 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/.env new file mode 100644 index 000000000..c0d8dff38 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.6.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/.env new file mode 100644 index 000000000..b17812e48 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.6.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/.env new file mode 100644 index 000000000..5c5c9cf2b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.6.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/.env new file mode 100644 index 000000000..e9b152c15 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.6.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.6.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.6.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/.env new file mode 100644 index 000000000..36c27d1bb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.7.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/.env new file mode 100644 index 000000000..08e626c8e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.7.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.7.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.7.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/.env new file mode 100644 index 000000000..2869b0c1b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/.env new file mode 100644 index 000000000..deec9cfb0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.2/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/.env new file mode 100644 index 000000000..d820a70b8 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.2/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.3/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/.env new file mode 100644 index 000000000..d05ea062e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.3/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.4/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/.env new file mode 100644 index 000000000..a3e087b99 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.4/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.5/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/.env new file mode 100644 index 000000000..bcef8e07f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.5 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.5/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.5/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.5/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.6/.env b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/.env new file mode 100644 index 000000000..a2132a1aa --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/.env @@ -0,0 +1,2 @@ +RELEASE=4.8.6 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.6/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.8.6/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.8.6/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.0/.env b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/.env new file mode 100644 index 000000000..b3d01a696 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/.env @@ -0,0 +1,2 @@ +RELEASE=4.9.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.0/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.1/.env b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/.env new file mode 100644 index 000000000..cd66a2bc1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/.env @@ -0,0 +1,2 @@ +RELEASE=4.9.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Dockerfile new file mode 100644 index 000000000..0ef5e7a4e --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory +ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket +ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket +ENV STASH_HOME=${BITBUCKET_HOME} + +VOLUME ["${BITBUCKET_HOME}"] +WORKDIR $BITBUCKET_HOME + +# Expose HTTP and SSH ports +EXPOSE 7990 +EXPOSE 7999 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} && \ +# sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +#COPY . /tmp \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Makefile b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/docker-compose.yml new file mode 100644 index 000000000..3b89a189a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + image: "epicmorg/bitbucket:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk8: + image: "epicmorg/bitbucket:${RELEASE}-jdk8" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/atlassian/bitbucket/4/4.9.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/4/4.9.1/entrypoint.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -euo pipefail + +# Set recommended umask of "u=,g=w,o=rwx" (0027) +umask 0027 + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +#export PATH=$JAVA_HOME/bin:$PATH + + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +: ${ELASTICSEARCH_ENABLED:=true} +: ${APPLICATION_MODE:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +ARGS="$@" + +# Start Bitbucket without Elasticsearch +if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then + ARGS="--no-search ${ARGS}" +fi + +# Start Bitbucket as the correct user. +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + echo "Updating permissions for BITBUCKET_HOME" + mkdir -p "${BITBUCKET_HOME}/lib" && + chmod -R 700 "${BITBUCKET_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/.env b/linux/ecosystem/atlassian/jira/8/8.20.25/.env new file mode 100644 index 000000000..759ac95d6 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.25 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.25/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.25/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.25/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.25/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.25/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/.env b/linux/ecosystem/atlassian/jira/8/8.20.26/.env new file mode 100644 index 000000000..8fbef48d2 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.26 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.26/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.26/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.26/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.26/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.26/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/.env b/linux/ecosystem/atlassian/jira/8/8.20.27/.env new file mode 100644 index 000000000..4137fcf74 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.27 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.27/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.27/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.27/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.27/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.27/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/.env b/linux/ecosystem/atlassian/jira/8/8.20.28/.env new file mode 100644 index 000000000..23a7bd990 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.28 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.28/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.28/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.28/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.28/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.28/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/.env b/linux/ecosystem/atlassian/jira/8/8.20.29/.env new file mode 100644 index 000000000..77a96792b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.29 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.29/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.29/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.29/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.29/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.29/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/.env b/linux/ecosystem/atlassian/jira/8/8.20.30/.env new file mode 100644 index 000000000..ea68f46bc --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/.env @@ -0,0 +1,2 @@ +RELEASE=8.20.30 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile b/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/Makefile b/linux/ecosystem/atlassian/jira/8/8.20.30/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/docker-compose.yml b/linux/ecosystem/atlassian/jira/8/8.20.30/docker-compose.yml new file mode 100644 index 000000000..61ae14071 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/8/8.20.30/entrypoint.sh b/linux/ecosystem/atlassian/jira/8/8.20.30/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/8/8.20.30/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.10.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.10.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.10.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.10.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/.env b/linux/ecosystem/atlassian/jira/9/9.10.1/.env new file mode 100644 index 000000000..a59b4a11e --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/.env @@ -0,0 +1,2 @@ +RELEASE=9.10.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/Makefile b/linux/ecosystem/atlassian/jira/9/9.10.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.10.1/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.10.1/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.10.1/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/.env b/linux/ecosystem/atlassian/jira/9/9.10.2/.env new file mode 100644 index 000000000..6080c8982 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.10.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/Makefile b/linux/ecosystem/atlassian/jira/9/9.10.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.10.2/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.10.2/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.10.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.10.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/.env b/linux/ecosystem/atlassian/jira/9/9.11.0/.env new file mode 100644 index 000000000..2a20f1a30 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/.env @@ -0,0 +1,2 @@ +RELEASE=9.11.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/Makefile b/linux/ecosystem/atlassian/jira/9/9.11.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.11.0/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.11.0/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.11.0/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/.env b/linux/ecosystem/atlassian/jira/9/9.11.1/.env new file mode 100644 index 000000000..2dd226ab3 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/.env @@ -0,0 +1,2 @@ +RELEASE=9.11.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/Makefile b/linux/ecosystem/atlassian/jira/9/9.11.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.11.1/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.11.1/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.11.1/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/.env b/linux/ecosystem/atlassian/jira/9/9.11.2/.env new file mode 100644 index 000000000..9bc6ff984 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.11.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/Makefile b/linux/ecosystem/atlassian/jira/9/9.11.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.11.2/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.11.2/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.11.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/.env b/linux/ecosystem/atlassian/jira/9/9.11.3/.env new file mode 100644 index 000000000..b06cea4ce --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/.env @@ -0,0 +1,2 @@ +RELEASE=9.11.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/Makefile b/linux/ecosystem/atlassian/jira/9/9.11.3/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.11.3/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.11.3/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.11.3/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.11.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/.env b/linux/ecosystem/atlassian/jira/9/9.12.0/.env new file mode 100644 index 000000000..11bc3ea36 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/.env @@ -0,0 +1,2 @@ +RELEASE=9.12.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/Makefile b/linux/ecosystem/atlassian/jira/9/9.12.0/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.12.0/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.12.0/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.12.0/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/.env b/linux/ecosystem/atlassian/jira/9/9.12.1/.env new file mode 100644 index 000000000..df94f12d4 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/.env @@ -0,0 +1,2 @@ +RELEASE=9.12.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/Makefile b/linux/ecosystem/atlassian/jira/9/9.12.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.12.1/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.12.1/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.12.1/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.12.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.12.2/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.12.2/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.12.2/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/.env b/linux/ecosystem/atlassian/jira/9/9.4.10/.env new file mode 100644 index 000000000..3504ae337 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/Makefile b/linux/ecosystem/atlassian/jira/9/9.4.10/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.4.10/docker-compose.yml new file mode 100644 index 000000000..81592d775 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.4.10/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.4.10/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.10/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/.env b/linux/ecosystem/atlassian/jira/9/9.4.11/.env new file mode 100644 index 000000000..c67afe0ad --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/Makefile b/linux/ecosystem/atlassian/jira/9/9.4.11/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.4.11/docker-compose.yml new file mode 100644 index 000000000..81592d775 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.4.11/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.4.11/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.11/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/.env b/linux/ecosystem/atlassian/jira/9/9.4.12/.env new file mode 100644 index 000000000..641fbdbd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/Makefile b/linux/ecosystem/atlassian/jira/9/9.4.12/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.4.12/docker-compose.yml new file mode 100644 index 000000000..81592d775 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.4.12/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.4.12/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.12/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/.env b/linux/ecosystem/atlassian/jira/9/9.4.15/.env new file mode 100644 index 000000000..7cdd69a52 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/Makefile b/linux/ecosystem/atlassian/jira/9/9.4.15/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.4.15/docker-compose.yml new file mode 100644 index 000000000..81592d775 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.4.15/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.4.15/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.15/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/.env b/linux/ecosystem/atlassian/jira/9/9.4.9/.env new file mode 100644 index 000000000..fa2e108e9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/Makefile b/linux/ecosystem/atlassian/jira/9/9.4.9/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.4.9/docker-compose.yml new file mode 100644 index 000000000..81592d775 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.4.9/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.4.9/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.4.9/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.5.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.5.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.5.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.5.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.5.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.5.1/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.5.1/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.5.1/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.6.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.6.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.6.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.6.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.7.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.7.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.7.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.7.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.7.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.7.1/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.7.1/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.7.1/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/.env b/linux/ecosystem/atlassian/jira/9/9.7.2/.env new file mode 100644 index 000000000..bf6e3fd43 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.7.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/Makefile b/linux/ecosystem/atlassian/jira/9/9.7.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.7.2/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.7.2/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.7.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.7.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.8.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.8.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.8.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.8.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.8.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.8.1/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.8.1/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.8.1/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/.env b/linux/ecosystem/atlassian/jira/9/9.8.2/.env new file mode 100644 index 000000000..955de7dc4 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.8.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/Makefile b/linux/ecosystem/atlassian/jira/9/9.8.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.8.2/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.8.2/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.8.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.8.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.9.0/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.9.0/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.9.0/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.9.0/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.9.1/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.9.1/Dockerfile.jdk17 index 00fe636f5..64bb14957 100644 --- a/linux/ecosystem/atlassian/jira/9/9.9.1/Dockerfile.jdk17 +++ b/linux/ecosystem/atlassian/jira/9/9.9.1/Dockerfile.jdk17 @@ -1,4 +1,4 @@ -FROM epicmorg/debian:bookworm-jdk11 +FROM epicmorg/debian:bookworm-jdk17 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/.env b/linux/ecosystem/atlassian/jira/9/9.9.2/.env new file mode 100644 index 000000000..4b9a56532 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.9.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile new file mode 100644 index 000000000..61ef4a144 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile @@ -0,0 +1,52 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk11 new file mode 100644 index 000000000..00fe636f5 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk11 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk17 new file mode 100644 index 000000000..64bb14957 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/Dockerfile.jdk17 @@ -0,0 +1,51 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files +ENV JIRA_HOME /var/atlassian/application-data/jira +ENV JIRA_INSTALL_DIR /opt/atlassian/jira + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +#COPY . /tmp diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/Makefile b/linux/ecosystem/atlassian/jira/9/9.9.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.9.2/docker-compose.yml new file mode 100644 index 000000000..a08cce169 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk11: + image: "epicmorg/jira:${RELEASE}-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} + app-jdk17: + image: "epicmorg/jira:${RELEASE}-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} diff --git a/linux/ecosystem/atlassian/jira/9/9.9.2/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.9.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.9.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/ecosystem/epicmorg/debian/06-squeeze/main/Dockerfile b/linux/ecosystem/epicmorg/debian/06-squeeze/main/Dockerfile index fd3015dd2..2077f329c 100644 --- a/linux/ecosystem/epicmorg/debian/06-squeeze/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/06-squeeze/main/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -#ARG P4_VERSION=r22.1 +#ARG P4_VERSION=r23.2 #ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/07-wheezy/main/Dockerfile b/linux/ecosystem/epicmorg/debian/07-wheezy/main/Dockerfile index 4740ff8e7..7ae02cd62 100644 --- a/linux/ecosystem/epicmorg/debian/07-wheezy/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/07-wheezy/main/Dockerfile @@ -5,8 +5,8 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # update lists @@ -138,7 +138,7 @@ RUN curl --insecure -o /usr/bin/p4 ${P4_DOWNLOAD_URL} && \ ################################################################## # dumb init ################################################################## -ENV DUMB_INIT_VERSION=1.2.5 +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 @@ -146,7 +146,7 @@ RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases ################################################################## # grab gosu for easy step-down from root ################################################################## -ENV GOSU_VER 1.14 +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 diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile index 3c776d1fa..fc5c6632f 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop index 882ce03e9..5bbd02a7f 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile index dd34ec8d3..47192f6b6 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile @@ -16,25 +16,24 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/bin/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version - ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +49,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +57,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop index ba7de31fa..9bcdfb975 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile deleted file mode 100644 index 56b132537..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:jessie -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ - echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -# wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ -# echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bookworm temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop deleted file mode 100644 index f0c8af014..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:jessie-develop -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ - echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -# wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ -# echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bulleye temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/docker-compose.yml deleted file mode 100644 index 2be6cc5f6..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/debian:jessie-jdk18" - build: - context: . - app-develop: - image: "epicmorg/debian:jessie-develop-jdk18" - build: - context: . - dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile deleted file mode 100644 index 09e6d7626..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:jessie -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java19 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ - echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -# wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ -# echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bookworm temurin-19-jdk temurin-19-jre && \ - mkdir /usr/lib/jvm/temurin-19-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop deleted file mode 100644 index 546395203..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:jessie-develop -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java19 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ - echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -# wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ -# echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bookworm temurin-19-jdk temurin-19-jre && \ - mkdir /usr/lib/jvm/temurin-19-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/docker-compose.yml deleted file mode 100644 index a97f43078..000000000 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/debian:jessie-jdk19" - build: - context: . - app-develop: - image: "epicmorg/debian:jessie-develop-jdk19" - build: - context: . - dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile index 7f0b51469..1f35ba8b8 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop index 84d1db13b..2f86363c4 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile index 71d7c94e9..eb3776c66 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop index 42053215e..e6602d231 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop @@ -20,21 +20,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -50,7 +50,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,18 +58,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile index b962cb23e..58127b144 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile @@ -11,58 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile.develop index d07405a71..df975cd2e 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk6/Dockerfile.develop @@ -11,58 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile index ec692ef63..f029bdb91 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile.develop index 974d87b95..3cef13da6 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk7/Dockerfile.develop @@ -11,58 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile index e3cd05362..313908f19 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile @@ -17,21 +17,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -47,7 +47,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -55,18 +55,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile.develop index de5f89007..9f118c287 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk8/Dockerfile.develop @@ -17,21 +17,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -47,7 +47,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -55,18 +55,18 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v ################################################################## # KOTLIN ################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/main/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/main/Dockerfile index df40f090a..b9d55f1a2 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/main/Dockerfile @@ -5,13 +5,13 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ARG P4_VERSION=r22.1 +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=7z2301 +ARG SZ_VERSION=7z2400 ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/slim/etc/apt/sources.list b/linux/ecosystem/epicmorg/debian/08-jessie/slim/etc/apt/sources.list index c2edec5e9..c2b7c3533 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/slim/etc/apt/sources.list +++ b/linux/ecosystem/epicmorg/debian/08-jessie/slim/etc/apt/sources.list @@ -1,17 +1,17 @@ #main -deb http://archive.debian.org/debian/ jessie main contrib non-free -deb-src http://archive.debian.org/debian/ jessie main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ jessie main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ jessie main contrib non-free -#deb http://archive.debian.org/debian/ jessie-kfreebsd main contrib non-free -#deb-src http://archive.debian.org/debian/ jessie-kfreebsd main contrib non-free +#deb [trusted=yes] http://archive.debian.org/debian/ jessie-kfreebsd main contrib non-free +#deb-src [trusted=yes] http://archive.debian.org/debian/ jessie-kfreebsd main contrib non-free -deb http://archive.debian.org/debian/ jessie-backports main contrib non-free -deb-src http://archive.debian.org/debian/ jessie-backports main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ jessie-backports main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ jessie-backports main contrib non-free -deb http://archive.debian.org/debian/ jessie-backports-sloppy main contrib non-free -deb-src http://archive.debian.org/debian/ jessie-backports-sloppy main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ jessie-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ jessie-backports-sloppy main contrib non-free #security -deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free -deb-src http://archive.debian.org/debian-security/ jessie/updates main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian-security/ jessie/updates main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian-security/ jessie/updates main contrib non-free diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile index e91d6838c..0c4b70c4a 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile @@ -16,57 +16,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile.develop index 4e4424d18..f4f11e1e0 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk11/Dockerfile.develop @@ -16,57 +16,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile index b6299c90a..aad49c491 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile @@ -16,58 +16,61 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version + ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile.develop index 6e978211a..18b6a5765 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk17/Dockerfile.develop @@ -16,57 +16,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile deleted file mode 100644 index 6e61a30e8..000000000 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:stretch -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -#wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ -# echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bookworm temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile.develop deleted file mode 100644 index f3f40bd4a..000000000 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/Dockerfile.develop +++ /dev/null @@ -1,82 +0,0 @@ -FROM epicmorg/debian:stretch-develop -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -#wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && \ -# echo 'deb https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated -t bookworm temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} -#RUN chmod +x -R ${GRADLE_BIN} -#RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -#RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -#RUN 7z x $KTC_TEMP -o${KTC_ROOT} -#RUN chmod +x -R ${KTC_BIN} -#RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/docker-compose.yml deleted file mode 100644 index 12d851eba..000000000 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk18/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/debian:stretch-jdk18" - build: - context: . - app-develop: - image: "epicmorg/debian:stretch-develop-jdk18" - build: - context: . - dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile index b37cc9166..023f4009d 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile.develop index 1ed927a67..ea3e4fa64 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk6/Dockerfile.develop @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile index ece9c58fa..9ee8b6280 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile.develop index 414799126..c5fc47a66 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk7/Dockerfile.develop @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile index 6ff08978b..c8856c1c3 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile @@ -13,57 +13,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile.develop index fd9e789bc..c5691d976 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/09-stretch/jdk8/Dockerfile.develop @@ -13,57 +13,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/main/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/main/Dockerfile index 6717d30fc..bbd9c09c3 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/main/Dockerfile @@ -5,20 +5,20 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2301 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -196,7 +196,7 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ################################################################## # dumb init ################################################################## -ENV DUMB_INIT_VERSION=1.2.5 +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 @@ -204,7 +204,7 @@ RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases ################################################################## # grab gosu for easy step-down from root ################################################################## -ENV GOSU_VER 1.14 +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 diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/09-stretch/slim/Dockerfile index 7ae893d6c..11bdf545b 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/slim/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/09-stretch/slim/Dockerfile @@ -59,8 +59,8 @@ 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 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 diff --git a/linux/ecosystem/epicmorg/debian/09-stretch/slim/etc/apt/sources.list b/linux/ecosystem/epicmorg/debian/09-stretch/slim/etc/apt/sources.list index 62e8a43d2..029374398 100644 --- a/linux/ecosystem/epicmorg/debian/09-stretch/slim/etc/apt/sources.list +++ b/linux/ecosystem/epicmorg/debian/09-stretch/slim/etc/apt/sources.list @@ -1,16 +1,16 @@ #main -deb http://archive.debian.org/debian/ stretch main contrib non-free -deb-src http://archive.debian.org/debian/ stretch main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ stretch main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ stretch main contrib non-free -deb http://archive.debian.org/debian/ stretch-backports main contrib non-free -deb-src http://archive.debian.org/debian/ stretch-backports main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ stretch-backports main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ stretch-backports main contrib non-free -deb http://archive.debian.org/debian/ stretch-backports-sloppy main contrib non-free -deb-src http://archive.debian.org/debian/ stretch-backports-sloppy main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ stretch-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ stretch-backports-sloppy main contrib non-free -deb http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free -deb-src http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free #security -deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free -deb-src http://archive.debian.org/debian-security/ stretch/updates main contrib non-free +deb [trusted=yes] http://archive.debian.org/debian-security/ stretch/updates main contrib non-free +deb-src [trusted=yes] http://archive.debian.org/debian-security/ stretch/updates main contrib non-free diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile index e6e6a474e..69ed90b60 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-11-jdk-amd64/bin/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile.develop index 8be031c00..94c51941b 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk11/Dockerfile.develop @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-11-jdk-amd64/bin/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile index 7c050a52b..15ef715eb 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/bin/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile.develop index e273924c2..e2d9667d6 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk17/Dockerfile.develop @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/bin/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile index f1416487d..71fd8db37 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile.develop index 89008a0c6..fc2e4222e 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk18/Dockerfile.develop @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile index 4a6c1a3d3..aa523e65a 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile.develop index b928d9830..b626dab39 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk19/Dockerfile.develop @@ -14,59 +14,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile index 646b80eb5..0c7c341d1 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile @@ -16,57 +16,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Maven +# Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin +ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile.develop index 4f0082dbc..dbd7830eb 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk20/Dockerfile.develop @@ -14,6 +14,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a # ln -s /usr/lib/jvm/temurin-20-jdk-amd64/bin/ /usr/lib/jvm/temurin-20-jdk-amd64/jre/bin && \ # ln -s /usr/lib/jvm/temurin-20-jdk-amd64/lib/ /usr/lib/jvm/temurin-20-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile index 31b875a6b..0c4a56e6a 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile.develop index 10507e4b0..37f34151b 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk6/Dockerfile.develop @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-6 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile index a89393c6b..e6983d1ae 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile.develop index 0ea6c17e5..cf2502657 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk7/Dockerfile.develop @@ -11,57 +11,59 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad apt-get install -y --allow-unauthenticated zulu-7 && \ java -version +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip + +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile index 87c69d1e7..b60116384 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile @@ -11,59 +11,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a apt-get autoremove -y && \ apt-get install -y --allow-unauthenticated temurin-8-jdk temurin-8-jre && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile.develop index 047297482..0451a410b 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/jdk8/Dockerfile.develop @@ -11,59 +11,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a apt-get autoremove -y && \ apt-get install -y --allow-unauthenticated temurin-8-jdk temurin-8-jre && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=$MAVEN_PATH/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x $MAVEN_TEMP -o$MAVEN_ROOT -RUN chmod +x -R $MAVEN_BIN -RUN mvn -version +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version -ENV PATH=$PATH:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile index ba46703b8..af4982bea 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/main/Dockerfile @@ -5,20 +5,20 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2301 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -210,7 +210,7 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ################################################################## # dumb init ################################################################## -ENV DUMB_INIT_VERSION=1.2.5 +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 @@ -218,7 +218,7 @@ RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases ################################################################## # grab gosu for easy step-down from root ################################################################## -ENV GOSU_VER 1.14 +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 diff --git a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list index 42545bbef..335934107 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list +++ b/linux/ecosystem/epicmorg/debian/10-buster/slim/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ buster main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster main contrib non-free -deb http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free #security -deb http://security.debian.org/debian-security/ buster/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ buster/updates main contrib non-free +deb-src [trusted=yes] http://security.debian.org/debian-security/ buster/updates main contrib non-free -deb http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile index e84bb7736..b19fcbddb 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop index e0b1d6432..721c946d6 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile index 166f5d0d9..c503d132b 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop index b6bc3b9b3..dcbc33b34 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile index 97a6ef1b6..4e1156f25 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop index 2c2c3ae7a..aa1846c76 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile index 6fb63ee71..58ee7cbc5 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop index 80b12a15d..4001b9670 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile index 6d57a33e0..cbb882736 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop index 03bcb1693..d9dc3abf3 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile index 5d4366a88..a699a6047 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile @@ -15,24 +15,25 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ln -s /usr/lib/jvm/temurin-21-jdk-amd64/lib/ /usr/lib/jvm/temurin-21-jdk-amd64/jre/lib && \ java -version + ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +49,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +57,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +65,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop index 5114a450d..df8fecff8 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile index 18c190c59..29e04ca0a 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop index f41a5d4a3..0a35803e2 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile index deeafb503..ef89386e5 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop index fc3d2a9d7..4f1ebaa1f 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile index 036b0fd3e..f9c433bd6 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile @@ -15,21 +15,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -45,7 +45,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -53,7 +53,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -61,7 +61,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop index 06af14b4f..0eb41c149 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop @@ -15,21 +15,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -45,7 +45,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -53,7 +53,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -61,7 +61,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile index e7056a72b..a72a6a35f 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/main/Dockerfile @@ -5,19 +5,19 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ARG P4_VERSION=r22.1 +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=7z2301 +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.34 +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 ################################################################## @@ -216,7 +216,7 @@ RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases ################################################################## # grab gosu for easy step-down from root ################################################################## -ENV GOSU_VER 1.14 +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list index 517c8fc52..0872e335b 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/slim/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-backports-sloppy main contrib non-free -deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free #security -deb http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://security.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile index 8988e85c6..c819d1945 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile.develop index 987660f3e..483c8eb34 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk11/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile index 88574c1c3..d0a9677d1 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile.develop index f56c3bcbc..a0a5ec518 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk17/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile deleted file mode 100644 index 148d47868..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile +++ /dev/null @@ -1,80 +0,0 @@ -FROM epicmorg/debian:bookworm -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile.develop deleted file mode 100644 index 851d9b7e8..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/Dockerfile.develop +++ /dev/null @@ -1,80 +0,0 @@ -FROM epicmorg/debian:bookworm-develop -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated temurin-18-jdk && \ - mkdir /usr/lib/jvm/temurin-18-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/bin/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-18-jdk-amd64/lib/ /usr/lib/jvm/temurin-18-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/docker-compose.yml deleted file mode 100644 index 140a1604e..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/debian:bookworm-jdk18" - build: - context: . - app-develop: - image: "epicmorg/debian:bookworm-develop-jdk18" - build: - context: . - dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile deleted file mode 100644 index 8cf325b6c..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile +++ /dev/null @@ -1,80 +0,0 @@ -FROM epicmorg/debian:bookworm -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java19 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated temurin-19-jdk temurin-19-jre && \ - mkdir /usr/lib/jvm/temurin-19-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile.develop deleted file mode 100644 index 4a822bb11..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/Dockerfile.develop +++ /dev/null @@ -1,80 +0,0 @@ -FROM epicmorg/debian:bookworm-develop -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# installing java18 -################################################################## -RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \ - echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated temurin-19-jdk temurin-19-jre && \ - mkdir /usr/lib/jvm/temurin-19-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip - -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v - -################################################################## -# KOTLIN -################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -################################################################## -# cleanup -################################################################## -RUN apt-get purge policykit-1 -y && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /tmp/* && \ - rm -rfv /var/cache/apt/archives/*.deb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/docker-compose.yml deleted file mode 100644 index ed51f4244..000000000 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk19/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/debian:bookworm-jdk19" - build: - context: . - app-develop: - image: "epicmorg/debian:bookworm-develop-jdk19" - build: - context: . - dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile index 6abfea153..c55166139 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile.develop index 3d1db34de..2114c2039 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk20/Dockerfile.develop @@ -9,30 +9,30 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a echo 'deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb bookworm main' > /etc/apt/sources.list.d/temurin-official.list && \ apt-get update && \ apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated temurin-19-jdk temurin-20-jre && \ - mkdir /usr/lib/jvm/temurin-19-jdk-amd64/jre && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/bin/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/bin && \ - ln -s /usr/lib/jvm/temurin-19-jdk-amd64/lib/ /usr/lib/jvm/temurin-19-jdk-amd64/jre/lib && \ + apt-get install -y --allow-unauthenticated temurin-20-jdk temurin-20-jre && \ + mkdir /usr/lib/jvm/temurin-20-jdk-amd64/jre && \ + ln -s /usr/lib/jvm/temurin-20-jdk-amd64/bin/ /usr/lib/jvm/temurin-20-jdk-amd64/jre/bin && \ + ln -s /usr/lib/jvm/temurin-20-jdk-amd64/lib/ /usr/lib/jvm/temurin-20-jdk-amd64/jre/lib && \ java -version ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile index 658102409..8e4115179 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile.develop index 9858c5413..edf019618 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk21/Dockerfile.develop @@ -18,21 +18,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -48,7 +48,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -56,7 +56,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -64,7 +64,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile index 01aeba7e4..efcc07841 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile.develop index d76695f3e..51b4b40a6 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk6/Dockerfile.develop @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile index 352d94dc6..8945c1592 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile.develop index 195cd8019..95e3695a6 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk7/Dockerfile.develop @@ -14,56 +14,56 @@ RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key ad ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=/opt/maven -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/MAVEN.zip +#ENV MAVEN_VERSION=3.9.6 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/opt/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle.zip +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/opt/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.zip -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin +#ENV KTC_VERSION=1.9.22 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlinc.zip +#ENV KTC_ROOT=/opt/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ################################################################## # Maven ################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v +#RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +#RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v +#RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +#RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version +#RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +#RUN 7z x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version ################################################################## # cleanup diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile index 49917aeca..62ed19e1e 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile @@ -15,21 +15,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -45,7 +45,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -53,7 +53,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -61,7 +61,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile.develop index c116c136e..ae82ca5e4 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/jdk8/Dockerfile.develop @@ -15,21 +15,21 @@ RUN wget --no-check-certificate -O - https://packages.adoptium.net/artifactory/a ################################################################## # Additional settings ################################################################## -ENV MAVEN_VERSION=3.9.5 +ENV MAVEN_VERSION=3.9.6 ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip ENV MAVEN_ROOT=/opt/maven ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} ENV MAVEN_BIN=${MAVEN_PATH}/bin ARG MAVEN_TEMP=/tmp/MAVEN.zip -ENV GRADLE_VERSION=8.4 +ENV GRADLE_VERSION=8.6 ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip ENV GRADLE_ROOT=/opt/gradle ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} ENV GRADLE_BIN=${GRADLE_PATH}/bin ARG GRADLE_TEMP=/tmp/gradle.zip -ENV KTC_VERSION=1.9.20 +ENV KTC_VERSION=1.9.22 ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip ARG KTC_TEMP=/tmp/kotlinc.zip ENV KTC_ROOT=/opt/kotlin @@ -45,7 +45,7 @@ ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${MAVEN_LINK} -O ${MAVEN_TEMP} +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -53,7 +53,7 @@ RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${GRADLE_LINK} -O ${GRADLE_TEMP} +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -61,7 +61,7 @@ RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile index f671f7b5f..d47ff978c 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/main/Dockerfile @@ -5,20 +5,20 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # perforce client binary ################################################################## -ENV P4_VERSION=r22.1 -ENV P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 +ARG P4_VERSION=r23.2 +ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2301 -ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_VERSION=7z2400 +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## # LazyGit official binary ################################################################## -ENV LZGIT_VERSION=0.34 -ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz +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 @@ -208,7 +208,7 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ################################################################## # dumb init ################################################################## -ENV DUMB_INIT_VERSION=1.2.5 +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 @@ -216,7 +216,7 @@ RUN wget -q --no-check-certificate -c https://github.com/Yelp/dumb-init/releases ################################################################## # grab gosu for easy step-down from root ################################################################## -ENV GOSU_VER 1.14 +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 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list index 615338867..f476eb7cf 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/etc/apt/sources.list @@ -1,22 +1,22 @@ #main -deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware -#deb http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -#deb-src http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware +#deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-backports-sloppy main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian/ bookworm-proposed-updates main contrib non-free non-free-firmware #security -deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware -deb-src http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware +deb-src [trusted=yes] http://httpredir.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware diff --git a/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile b/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile index 280fe6019..3d4f94f05 100644 --- a/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile +++ b/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile @@ -19,6 +19,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-11-jdk-amd64/bin/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # Android SDK diff --git a/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile b/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile index 3a084c2da..9e7bf1a28 100644 --- a/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile +++ b/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile @@ -20,6 +20,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # Android SDK ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node12/Dockerfile b/linux/ecosystem/gitlab/runner/node12/Dockerfile index c5af56287..0d92d36b7 100644 --- a/linux/ecosystem/gitlab/runner/node12/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node14/Dockerfile b/linux/ecosystem/gitlab/runner/node14/Dockerfile index 648bcf55a..a11cb18d3 100644 --- a/linux/ecosystem/gitlab/runner/node14/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node14/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node15/Dockerfile b/linux/ecosystem/gitlab/runner/node15/Dockerfile index b061bccf7..648ae807a 100644 --- a/linux/ecosystem/gitlab/runner/node15/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node15/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node16/Dockerfile b/linux/ecosystem/gitlab/runner/node16/Dockerfile index e091acf29..e3f46c033 100644 --- a/linux/ecosystem/gitlab/runner/node16/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node16/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node17/Dockerfile b/linux/ecosystem/gitlab/runner/node17/Dockerfile index 6c3b167a2..c693b437d 100644 --- a/linux/ecosystem/gitlab/runner/node17/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node17/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_17.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node18/Dockerfile b/linux/ecosystem/gitlab/runner/node18/Dockerfile index 838d81bfc..84efbfc91 100644 --- a/linux/ecosystem/gitlab/runner/node18/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node18/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node19/Dockerfile b/linux/ecosystem/gitlab/runner/node19/Dockerfile index 71ccbcca8..6789addbf 100644 --- a/linux/ecosystem/gitlab/runner/node19/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node19/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node20/Dockerfile b/linux/ecosystem/gitlab/runner/node20/Dockerfile index 0accd3653..2c26bde6f 100644 --- a/linux/ecosystem/gitlab/runner/node20/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node20/Dockerfile @@ -12,7 +12,8 @@ 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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node21/Dockerfile b/linux/ecosystem/gitlab/runner/node21/Dockerfile new file mode 100644 index 000000000..1ca88e05d --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/Dockerfile @@ -0,0 +1,36 @@ +FROM epicmorg/gitlab-runner:latest +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +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 && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/gitlab/runner/node21/Makefile b/linux/ecosystem/gitlab/runner/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/gitlab/runner/node21/README.md b/linux/ecosystem/gitlab/runner/node21/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/gitlab/runner/node21/docker-compose.yml b/linux/ecosystem/gitlab/runner/node21/docker-compose.yml new file mode 100644 index 000000000..311b28005 --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/gitlab-runner:node21" + build: + context: . diff --git a/linux/ecosystem/nodejs/node12/Dockerfile b/linux/ecosystem/nodejs/node12/Dockerfile index 8dafade6e..1ee359360 100644 --- a/linux/ecosystem/nodejs/node12/Dockerfile +++ b/linux/ecosystem/nodejs/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.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 && \ 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 diff --git a/linux/ecosystem/nodejs/node13/Dockerfile b/linux/ecosystem/nodejs/node13/Dockerfile index 207c7c36a..dc39203b1 100644 --- a/linux/ecosystem/nodejs/node13/Dockerfile +++ b/linux/ecosystem/nodejs/node13/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_13.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 && \ 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 @@ -21,6 +22,7 @@ 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/node14/Dockerfile b/linux/ecosystem/nodejs/node14/Dockerfile index 0fa12ea3f..17a8e540f 100644 --- a/linux/ecosystem/nodejs/node14/Dockerfile +++ b/linux/ecosystem/nodejs/node14/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node15/Dockerfile b/linux/ecosystem/nodejs/node15/Dockerfile index 4e58ef585..64dee4dfa 100644 --- a/linux/ecosystem/nodejs/node15/Dockerfile +++ b/linux/ecosystem/nodejs/node15/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.x | bash - && \ echo "deb 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 -o nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ 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/node16/Dockerfile b/linux/ecosystem/nodejs/node16/Dockerfile index c1dad54a8..1e72a5425 100644 --- a/linux/ecosystem/nodejs/node16/Dockerfile +++ b/linux/ecosystem/nodejs/node16/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node17/Dockerfile b/linux/ecosystem/nodejs/node17/Dockerfile index 259492f7e..c988dd049 100644 --- a/linux/ecosystem/nodejs/node17/Dockerfile +++ b/linux/ecosystem/nodejs/node17/Dockerfile @@ -13,7 +13,8 @@ RUN curl -fsSL https://deb.nodesource.com/setup_17.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node18/Dockerfile b/linux/ecosystem/nodejs/node18/Dockerfile index 9aefea1a5..de7c76cd0 100644 --- a/linux/ecosystem/nodejs/node18/Dockerfile +++ b/linux/ecosystem/nodejs/node18/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node19/Dockerfile b/linux/ecosystem/nodejs/node19/Dockerfile index e052517d9..daf93f5e4 100644 --- a/linux/ecosystem/nodejs/node19/Dockerfile +++ b/linux/ecosystem/nodejs/node19/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node20/Dockerfile b/linux/ecosystem/nodejs/node20/Dockerfile index dc01b319e..9ee575833 100644 --- a/linux/ecosystem/nodejs/node20/Dockerfile +++ b/linux/ecosystem/nodejs/node20/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ echo "deb 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 @@ -22,6 +23,7 @@ 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/node21/Dockerfile b/linux/ecosystem/nodejs/node21/Dockerfile new file mode 100644 index 000000000..6b5f52e9a --- /dev/null +++ b/linux/ecosystem/nodejs/node21/Dockerfile @@ -0,0 +1,37 @@ +FROM epicmorg/debian:bullseye +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +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 && \ + apt-get clean && apt-get autoclean && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/nodejs/node21/Makefile b/linux/ecosystem/nodejs/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/nodejs/node21/README.md b/linux/ecosystem/nodejs/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/nodejs/node21/docker-compose.yml b/linux/ecosystem/nodejs/node21/docker-compose.yml new file mode 100644 index 000000000..b5c7fbac9 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/nodejs:node21" + build: + context: . diff --git a/linux/ecosystem/perforce/base/r23.1/Dockerfile b/linux/ecosystem/perforce/base/r23.1/Dockerfile new file mode 100644 index 000000000..975231221 --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.1/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bullseye +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# perforce default envs +################################################################## +ENV P4_VERSION=r23.1 +ENV P4_CDN_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64 +ENV P4_DOWNLOAD_URL=${P4_CDN_URL}/p4 +ENV P4BROKER_DOWNLOAD_URL=${P4_CDN_URL}/p4broker +ENV P4D_DOWNLOAD_URL=${P4_CDN_URL}/p4d +ENV P4DCTL_DOWNLOAD_URL=${P4_CDN_URL}/p4dctl +ENV P4MIGRATE_DOWNLOAD_URL=${P4_CDN_URL}/p4migrate +ENV P4MONPE_DOWNLOAD_URL=${P4_CDN_URL}/p4mon-prometheus-exporter +ENV P4P_DOWNLOAD_URL=${P4_CDN_URL}/p4p +ENV PERFMERGE_DOWNLOAD_URL=${P4_CDN_URL}/perfmerge +ENV PERFSPLIT_DOWNLOAD_URL=${P4_CDN_URL}/perfsplit + +ENV P4DEBUG= +ENV P4PROOT= +ENV P4PCACHE=/perforce/cache +ENV P4LOG=/perforce/logs/p4p.log +ENV P4TARGET= +ENV P4PORT=1666 +ENV P4ARGS= + +ENV P4_BIN=/usr/bin/p4 +ENV P4BROKER_BIN=/usr/bin/p4broker +ENV P4D_BIN=/usr/bin/p4d +ENV P4DCTL_BIN=/usr/bin/p4dctl +ENV P4MIGRATE_BIN=/usr/bin/p4migrate +ENV P4MONPE_BIN=/usr/bin/p4mon-prometheus-exporter +ENV P4P_BIN=/usr/bin/p4p +ENV PERFMERGE_BIN=/usr/bin/perfmerge +ENV PERFSPLIT_BIN=/usr/bin/perfsplit + +################################################################## +# Install perforce binaries +################################################################## +RUN rm -rfv \ + ${P4_BIN} \ + ${P4BROKER_BIN} \ + ${P4D_BIN} \ + ${P4DCTL_BIN} \ + ${P4MIGRATE_BIN} \ + ${P4MONPE_BIN} \ + ${P4P_BIN} \ + ${PERFMERGE_BIN} \ + ${PERFSPLIT_BIN} + +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -P /usr/bin \ + ${P4_DOWNLOAD_URL} \ + ${P4BROKER_DOWNLOAD_URL} \ + ${P4D_DOWNLOAD_URL} \ + ${P4DCTL_DOWNLOAD_URL} \ + ${P4MIGRATE_DOWNLOAD_URL} \ + ${P4MONPE_DOWNLOAD_URL} \ + ${P4P_DOWNLOAD_URL} \ + ${PERFMERGE_DOWNLOAD_URL} \ + ${PERFSPLIT_DOWNLOAD_URL} \ + +RUN chmod +x \ + ${P4_BIN} \ + ${P4BROKER_BIN} \ + ${P4D_BIN} \ + ${P4DCTL_BIN} \ + ${P4MIGRATE_BIN} \ + ${P4MONPE_BIN} \ + ${P4P_BIN} \ + ${PERFMERGE_BIN} \ + ${PERFSPLIT_BIN} + +RUN echo "##################################################################" && \ + ${P4_BIN} -V && \ + echo "##################################################################" && \ + ${P4BROKER_BIN} -V && \ + echo "##################################################################" && \ + ${P4D_BIN} -V && \ + echo "##################################################################" && \ + ${P4DCTL_BIN} -V && \ + echo "##################################################################" && \ + ${P4MIGRATE_BIN} -V && \ + echo "##################################################################" && \ + ${P4MONPE_BIN} -V && \ + echo "##################################################################" && \ + ${P4P_BIN} -V && \ + echo "##################################################################" && \ + ${PERFMERGE_BIN} -V && \ + echo "##################################################################" && \ + ${PERFSPLIT_BIN} -V && \ + echo "##################################################################" + +WORKDIR /perforce diff --git a/linux/ecosystem/perforce/base/r23.1/Makefile b/linux/ecosystem/perforce/base/r23.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/perforce/base/r23.1/docker-compose.yml b/linux/ecosystem/perforce/base/r23.1/docker-compose.yml new file mode 100644 index 000000000..20b30c7fa --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.1/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/perforce:r23.1" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/base/r23.2/Dockerfile b/linux/ecosystem/perforce/base/r23.2/Dockerfile new file mode 100644 index 000000000..5bb2748ee --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.2/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bullseye +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# perforce default envs +################################################################## +ENV P4_VERSION=r22.1 +ENV P4_CDN_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64 +ENV P4_DOWNLOAD_URL=${P4_CDN_URL}/p4 +ENV P4BROKER_DOWNLOAD_URL=${P4_CDN_URL}/p4broker +ENV P4D_DOWNLOAD_URL=${P4_CDN_URL}/p4d +ENV P4DCTL_DOWNLOAD_URL=${P4_CDN_URL}/p4dctl +ENV P4MIGRATE_DOWNLOAD_URL=${P4_CDN_URL}/p4migrate +ENV P4MONPE_DOWNLOAD_URL=${P4_CDN_URL}/p4mon-prometheus-exporter +ENV P4P_DOWNLOAD_URL=${P4_CDN_URL}/p4p +ENV PERFMERGE_DOWNLOAD_URL=${P4_CDN_URL}/perfmerge +ENV PERFSPLIT_DOWNLOAD_URL=${P4_CDN_URL}/perfsplit + +ENV P4DEBUG= +ENV P4PROOT= +ENV P4PCACHE=/perforce/cache +ENV P4LOG=/perforce/logs/p4p.log +ENV P4TARGET= +ENV P4PORT=1666 +ENV P4ARGS= + +ENV P4_BIN=/usr/bin/p4 +ENV P4BROKER_BIN=/usr/bin/p4broker +ENV P4D_BIN=/usr/bin/p4d +ENV P4DCTL_BIN=/usr/bin/p4dctl +ENV P4MIGRATE_BIN=/usr/bin/p4migrate +ENV P4MONPE_BIN=/usr/bin/p4mon-prometheus-exporter +ENV P4P_BIN=/usr/bin/p4p +ENV PERFMERGE_BIN=/usr/bin/perfmerge +ENV PERFSPLIT_BIN=/usr/bin/perfsplit + +################################################################## +# Install perforce binaries +################################################################## +RUN rm -rfv \ + ${P4_BIN} \ + ${P4BROKER_BIN} \ + ${P4D_BIN} \ + ${P4DCTL_BIN} \ +# ${P4MIGRATE_BIN} + ${P4MONPE_BIN} \ + ${P4P_BIN} +# ${PERFMERGE_BIN} +# ${PERFSPLIT_BIN} + +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -P /usr/bin \ + ${P4_DOWNLOAD_URL} \ + ${P4BROKER_DOWNLOAD_URL} \ + ${P4D_DOWNLOAD_URL} \ + ${P4DCTL_DOWNLOAD_URL} \ +# ${P4MIGRATE_DOWNLOAD_URL} + ${P4MONPE_DOWNLOAD_URL} \ + ${P4P_DOWNLOAD_URL} +# ${PERFMERGE_DOWNLOAD_URL} +# ${PERFSPLIT_DOWNLOAD_URL} + +RUN chmod +x \ + ${P4_BIN} \ + ${P4BROKER_BIN} \ + ${P4D_BIN} \ + ${P4DCTL_BIN} \ +# ${P4MIGRATE_BIN} + ${P4MONPE_BIN} \ + ${P4P_BIN} +# ${PERFMERGE_BIN} +# ${PERFSPLIT_BIN} + +RUN echo "##################################################################" && \ + ${P4_BIN} -V && \ + echo "##################################################################" && \ + ${P4BROKER_BIN} -V && \ + echo "##################################################################" && \ + ${P4D_BIN} -V && \ + echo "##################################################################" && \ + ${P4DCTL_BIN} -V && \ + echo "##################################################################" && \ +# ${P4MIGRATE_BIN} -V && \ +# echo "##################################################################" && \ + ${P4MONPE_BIN} -V && \ + echo "##################################################################" && \ + ${P4P_BIN} -V +# echo "##################################################################" && \ +# ${PERFMERGE_BIN} -V && \ +# echo "##################################################################" && \ +# ${PERFSPLIT_BIN} -V && \ +# echo "##################################################################" + +WORKDIR /perforce diff --git a/linux/ecosystem/perforce/base/r23.2/Makefile b/linux/ecosystem/perforce/base/r23.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/perforce/base/r23.2/docker-compose.yml b/linux/ecosystem/perforce/base/r23.2/docker-compose.yml new file mode 100644 index 000000000..9625490a1 --- /dev/null +++ b/linux/ecosystem/perforce/base/r23.2/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/perforce:r23.2" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/p4p/r23.1/Dockerfile b/linux/ecosystem/perforce/p4p/r23.1/Dockerfile new file mode 100644 index 000000000..4baabef47 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.1/Dockerfile @@ -0,0 +1,12 @@ +FROM epicmorg/perforce:r23.1 +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +VOLUME /perforce/cache +VOLUME /perforce/logs +WORKDIR /perforce + +EXPOSE 1666 + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/perforce/p4p/r23.1/Makefile b/linux/ecosystem/perforce/p4p/r23.1/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.1/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/perforce/p4p/r23.1/docker-compose.yml b/linux/ecosystem/perforce/p4p/r23.1/docker-compose.yml new file mode 100644 index 000000000..7caad45fb --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.1/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/p4p:r23.1" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/p4p/r23.1/docker-entrypoint.sh b/linux/ecosystem/perforce/p4p/r23.1/docker-entrypoint.sh new file mode 100755 index 000000000..1db87f256 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.1/docker-entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +: ${P4ARGS:=} +: ${P4DEBUG:=} +: ${P4PROOT:=} +: ${P4PCACHE:=/perforce/cache} +: ${P4LOG:=/perforce/logs/p4p.log} +: ${P4TARGET:=} +: ${P4PORT:=1666} + +if [[ -z "${P4TARGET}" ]]; then + echo "[p4p] FATAL: env P4TARGET is not set. Please, set it and try again. Shutting down." + exit 1 +fi + +echo "======================================================" +echo "[p4p] Starting up..." +echo "======================================================" + +p4p -p ${P4PORT} -r ${P4CACHE} -t ${P4TARGET} -L ${P4LOG} ${P4ARGS} diff --git a/linux/ecosystem/perforce/p4p/r23.2/Dockerfile b/linux/ecosystem/perforce/p4p/r23.2/Dockerfile new file mode 100644 index 000000000..551196317 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.2/Dockerfile @@ -0,0 +1,12 @@ +FROM epicmorg/perforce:r23.2 +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +VOLUME /perforce/cache +VOLUME /perforce/logs +WORKDIR /perforce + +EXPOSE 1666 + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/perforce/p4p/r23.2/Makefile b/linux/ecosystem/perforce/p4p/r23.2/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.2/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/perforce/p4p/r23.2/docker-compose.yml b/linux/ecosystem/perforce/p4p/r23.2/docker-compose.yml new file mode 100644 index 000000000..b872aa75e --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.2/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/p4p:r23.2" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/p4p/r23.2/docker-entrypoint.sh b/linux/ecosystem/perforce/p4p/r23.2/docker-entrypoint.sh new file mode 100755 index 000000000..1db87f256 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r23.2/docker-entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +: ${P4ARGS:=} +: ${P4DEBUG:=} +: ${P4PROOT:=} +: ${P4PCACHE:=/perforce/cache} +: ${P4LOG:=/perforce/logs/p4p.log} +: ${P4TARGET:=} +: ${P4PORT:=1666} + +if [[ -z "${P4TARGET}" ]]; then + echo "[p4p] FATAL: env P4TARGET is not set. Please, set it and try again. Shutting down." + exit 1 +fi + +echo "======================================================" +echo "[p4p] Starting up..." +echo "======================================================" + +p4p -p ${P4PORT} -r ${P4CACHE} -t ${P4TARGET} -L ${P4LOG} ${P4ARGS} diff --git a/linux/ecosystem/qbittorrent/4.4.0/Dockerfile b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile new file mode 100644 index 000000000..19f8f2662 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile @@ -0,0 +1,57 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +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 +################################################################## +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.0/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile.lt1 new file mode 100644 index 000000000..a78532ae5 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/Dockerfile.lt1 @@ -0,0 +1,57 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +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 +################################################################## +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.0/Makefile b/linux/ecosystem/qbittorrent/4.4.0/Makefile new file mode 100644 index 000000000..b414ac9d6 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/Makefile @@ -0,0 +1,28 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + 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-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.0/README.md b/linux/ecosystem/qbittorrent/4.4.0/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.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.4.0/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.example.yml new file mode 100644 index 000000000..2979ec108 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3.7' +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.0/docker-compose.yml b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml new file mode 100644 index 000000000..36b44ce69 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.0/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.9' +services: + qbt: + image: "epicmorg/qbittorrent:4.4.0" + build: + context: . + qbt-libtorrent2: + image: "epicmorg/qbittorrent:4.4.0-libtorrent2.0.5" + build: + context: . + qbt-libtorrent1: + image: "epicmorg/qbittorrent:4.4.0-libtorrent1.2.15" + build: + context: . + dockerfile: Dockerfile.lt1 diff --git a/linux/ecosystem/qbittorrent/4.4.0/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.4.0/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.4.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.4.0/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.4.0/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.4.0/qbittorrent-icon.png differ diff --git a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile index 5c503aa76..849454937 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile +++ b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile @@ -11,6 +11,7 @@ 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 ################################################################## @@ -43,7 +44,7 @@ RUN apt clean -y && \ VOLUME ${QBT_DIR} #healthcheck. good practice -HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:${QBT_PORT_WEBUI}/ || exit 1 +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 diff --git a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 index b5e5501e9..8c4a22690 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 +++ b/linux/ecosystem/qbittorrent/4.6.2/Dockerfile.lt1 @@ -11,6 +11,7 @@ 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 ################################################################## @@ -43,7 +44,7 @@ RUN apt clean -y && \ VOLUME ${QBT_DIR} #healthcheck. good practice -HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:${QBT_PORT_WEBUI}/ || exit 1 +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 diff --git a/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml index a9f8d2cc6..d0a48566b 100644 --- a/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml +++ b/linux/ecosystem/qbittorrent/4.6.2/docker-compose.yml @@ -1,9 +1,13 @@ version: '3.9' services: - qbt-libtorrent2: + qbt: image: "epicmorg/qbittorrent:4.6.2" build: context: . + qbt-libtorrent2: + image: "epicmorg/qbittorrent:4.6.2-libtorrent2.0.9" + build: + context: . qbt-libtorrent1: image: "epicmorg/qbittorrent:4.6.2-libtorrent1.2.19" build: diff --git a/linux/ecosystem/qbittorrent/4.6.2/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.6.2/docker-entrypoint.sh index 09fb4c4bc..d916b0e86 100755 --- a/linux/ecosystem/qbittorrent/4.6.2/docker-entrypoint.sh +++ b/linux/ecosystem/qbittorrent/4.6.2/docker-entrypoint.sh @@ -7,7 +7,6 @@ : ${QBT_PORT_NAT:=1337} : ${QBT_PORT_TRACKER:=9000} - echo "======================================================" echo "[qbittorrent] Starting `qbittorrent-nox -v`..." echo "======================================================" diff --git a/linux/ecosystem/qbittorrent/4.6.3/Dockerfile b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile new file mode 100644 index 000000000..bbf7e0c9c --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile @@ -0,0 +1,57 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +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 +################################################################## +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.3/Dockerfile.lt1 b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile.lt1 new file mode 100644 index 000000000..7f8eeac5d --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/Dockerfile.lt1 @@ -0,0 +1,57 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +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 +################################################################## +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.3/Makefile b/linux/ecosystem/qbittorrent/4.6.3/Makefile new file mode 100644 index 000000000..b414ac9d6 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/Makefile @@ -0,0 +1,28 @@ +all: app + +app: + make build + make deploy + make clean + +build: + make qbt-libtorrent2 + 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-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.3/README.md b/linux/ecosystem/qbittorrent/4.6.3/README.md new file mode 100644 index 000000000..2e7cd4855 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.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.6.3/docker-compose.example.yml b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.example.yml new file mode 100644 index 000000000..2979ec108 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.example.yml @@ -0,0 +1,18 @@ +version: '3.7' +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.3/docker-compose.yml b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml new file mode 100644 index 000000000..65afe250a --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.3/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3.9' +services: +services: + qbt: + image: "epicmorg/qbittorrent:4.6.3" + build: + context: . + qbt-libtorrent2: + image: "epicmorg/qbittorrent:4.6.3-libtorrent2.0.9" + build: + context: . + qbt-libtorrent1: + image: "epicmorg/qbittorrent:4.6.3-libtorrent1.2.19" + build: + context: . + dockerfile: Dockerfile.lt1 diff --git a/linux/ecosystem/qbittorrent/4.6.3/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/4.6.3/docker-entrypoint.sh new file mode 100755 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/4.6.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.6.3/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/4.6.3/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/4.6.3/qbittorrent-icon.png differ diff --git a/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile b/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile index 2723c1609..99cc09ce7 100644 --- a/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile +++ b/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile @@ -75,6 +75,61 @@ RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/d curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # cleaninig up ################################################################## diff --git a/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile b/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile index 0515469e7..cc59e14bf 100644 --- a/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile +++ b/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile @@ -75,6 +75,61 @@ RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/d curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # cleaninig up ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node12/Dockerfile b/linux/ecosystem/teamcity/agent/node12/Dockerfile index 319e02c86..29cf661ce 100644 --- a/linux/ecosystem/teamcity/agent/node12/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node14/Dockerfile b/linux/ecosystem/teamcity/agent/node14/Dockerfile index 1203db549..0de1c2534 100644 --- a/linux/ecosystem/teamcity/agent/node14/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node14/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node15/Dockerfile b/linux/ecosystem/teamcity/agent/node15/Dockerfile index cc6cada53..02810f1fd 100644 --- a/linux/ecosystem/teamcity/agent/node15/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node15/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node16/Dockerfile b/linux/ecosystem/teamcity/agent/node16/Dockerfile index 0a6e9a373..347667711 100644 --- a/linux/ecosystem/teamcity/agent/node16/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node16/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node17/Dockerfile b/linux/ecosystem/teamcity/agent/node17/Dockerfile index 2e30af75d..c3449bf30 100644 --- a/linux/ecosystem/teamcity/agent/node17/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node17/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_17.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node18/Dockerfile b/linux/ecosystem/teamcity/agent/node18/Dockerfile index f89d0a090..31b97e408 100644 --- a/linux/ecosystem/teamcity/agent/node18/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node18/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node19/Dockerfile b/linux/ecosystem/teamcity/agent/node19/Dockerfile index 06d1ac07b..f13b882c2 100644 --- a/linux/ecosystem/teamcity/agent/node19/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node19/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node20/Dockerfile b/linux/ecosystem/teamcity/agent/node20/Dockerfile index 87cff2df3..fca4f1d0a 100644 --- a/linux/ecosystem/teamcity/agent/node20/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node20/Dockerfile @@ -12,7 +12,8 @@ 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 && \ 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 @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node21/Dockerfile b/linux/ecosystem/teamcity/agent/node21/Dockerfile new file mode 100644 index 000000000..6ba354bc2 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/Dockerfile @@ -0,0 +1,36 @@ +FROM epicmorg/teamcity-agent:latest +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +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 && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/teamcity/agent/node21/Makefile b/linux/ecosystem/teamcity/agent/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +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 diff --git a/linux/ecosystem/teamcity/agent/node21/README.md b/linux/ecosystem/teamcity/agent/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/teamcity/agent/node21/docker-compose.yml b/linux/ecosystem/teamcity/agent/node21/docker-compose.yml new file mode 100644 index 000000000..27bc567a8 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/teamcity-agent:node21" + build: + context: .