From 40e3c3bbf21954425e81f1126e7e87ad6df99852 Mon Sep 17 00:00:00 2001 From: STAM Date: Sat, 22 Mar 2025 18:16:57 +0300 Subject: [PATCH] atlasian new images --- .../roles/atlassian.bitbucket/tasks/main.yml | 40 +++---- .../roles/atlassian.jira/tasks/main.yml | 50 ++++---- .../atlassian/bitbucket/8/8.19.13/.env | 2 + .../atlassian/bitbucket/8/8.19.13/Dockerfile | 94 +++++++++++++++ .../atlassian/bitbucket/8/8.19.13/Makefile | 38 ++++++ .../bitbucket/8/8.19.13/docker-compose.yml | 10 ++ .../bitbucket/8/8.19.13/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/8/8.19.14/.env | 2 + .../atlassian/bitbucket/8/8.19.14/Dockerfile | 94 +++++++++++++++ .../atlassian/bitbucket/8/8.19.14/Makefile | 38 ++++++ .../bitbucket/8/8.19.14/docker-compose.yml | 10 ++ .../bitbucket/8/8.19.14/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/8/8.19.15/.env | 2 + .../atlassian/bitbucket/8/8.19.15/Dockerfile | 94 +++++++++++++++ .../atlassian/bitbucket/8/8.19.15/Makefile | 38 ++++++ .../bitbucket/8/8.19.15/docker-compose.yml | 10 ++ .../bitbucket/8/8.19.15/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/8/8.19.16/.env | 2 + .../atlassian/bitbucket/8/8.19.16/Dockerfile | 94 +++++++++++++++ .../atlassian/bitbucket/8/8.19.16/Makefile | 38 ++++++ .../bitbucket/8/8.19.16/docker-compose.yml | 10 ++ .../bitbucket/8/8.19.16/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.4.1/.env | 2 + .../atlassian/bitbucket/9/9.4.1/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.4.1/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.4.1/Makefile | 38 ++++++ .../bitbucket/9/9.4.1/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.4.1/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.4.2/.env | 2 + .../atlassian/bitbucket/9/9.4.2/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.4.2/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.4.2/Makefile | 38 ++++++ .../bitbucket/9/9.4.2/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.4.2/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.4.3/.env | 2 + .../atlassian/bitbucket/9/9.4.3/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.4.3/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.4.3/Makefile | 38 ++++++ .../bitbucket/9/9.4.3/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.4.3/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.4.4/.env | 2 + .../atlassian/bitbucket/9/9.4.4/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.4.4/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.4.4/Makefile | 38 ++++++ .../bitbucket/9/9.4.4/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.4.4/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.5.1/.env | 2 + .../atlassian/bitbucket/9/9.5.1/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.5.1/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.5.1/Makefile | 38 ++++++ .../bitbucket/9/9.5.1/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.5.1/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.5.2/.env | 2 + .../atlassian/bitbucket/9/9.5.2/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.5.2/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.5.2/Makefile | 38 ++++++ .../bitbucket/9/9.5.2/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.5.2/entrypoint.sh | 57 +++++++++ .../atlassian/bitbucket/9/9.6.0/.env | 2 + .../atlassian/bitbucket/9/9.6.0/Dockerfile | 94 +++++++++++++++ .../bitbucket/9/9.6.0/Dockerfile.jdk21 | 94 +++++++++++++++ .../atlassian/bitbucket/9/9.6.0/Makefile | 38 ++++++ .../bitbucket/9/9.6.0/docker-compose.yml | 15 +++ .../atlassian/bitbucket/9/9.6.0/entrypoint.sh | 57 +++++++++ linux/ecosystem/atlassian/jira/10/10.3.3/.env | 2 + .../atlassian/jira/10/10.3.3/Dockerfile | 56 +++++++++ .../atlassian/jira/10/10.3.3/Makefile | 38 ++++++ .../jira/10/10.3.3/docker-compose.yml | 10 ++ .../atlassian/jira/10/10.3.3/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/10/10.3.4/.env | 2 + .../atlassian/jira/10/10.3.4/Dockerfile | 56 +++++++++ .../atlassian/jira/10/10.3.4/Makefile | 38 ++++++ .../jira/10/10.3.4/docker-compose.yml | 10 ++ .../atlassian/jira/10/10.3.4/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/10/10.4.0/.env | 2 + .../atlassian/jira/10/10.4.0/Dockerfile | 56 +++++++++ .../atlassian/jira/10/10.4.0/Makefile | 38 ++++++ .../jira/10/10.4.0/docker-compose.yml | 10 ++ .../atlassian/jira/10/10.4.0/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/10/10.4.1/.env | 2 + .../atlassian/jira/10/10.4.1/Dockerfile | 56 +++++++++ .../atlassian/jira/10/10.4.1/Makefile | 38 ++++++ .../jira/10/10.4.1/docker-compose.yml | 10 ++ .../atlassian/jira/10/10.4.1/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/10/10.5.0/.env | 2 + .../atlassian/jira/10/10.5.0/Dockerfile | 56 +++++++++ .../atlassian/jira/10/10.5.0/Makefile | 38 ++++++ .../jira/10/10.5.0/docker-compose.yml | 10 ++ .../atlassian/jira/10/10.5.0/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/9/9.12.18/.env | 2 + .../atlassian/jira/9/9.12.18/Dockerfile | 56 +++++++++ .../atlassian/jira/9/9.12.18/Dockerfile.jdk11 | 56 +++++++++ .../atlassian/jira/9/9.12.18/Dockerfile.jdk17 | 56 +++++++++ .../atlassian/jira/9/9.12.18/Makefile | 38 ++++++ .../jira/9/9.12.18/docker-compose.yml | 20 ++++ .../atlassian/jira/9/9.12.18/entrypoint.sh | 113 ++++++++++++++++++ linux/ecosystem/atlassian/jira/9/9.12.19/.env | 2 + .../atlassian/jira/9/9.12.19/Dockerfile | 56 +++++++++ .../atlassian/jira/9/9.12.19/Dockerfile.jdk11 | 56 +++++++++ .../atlassian/jira/9/9.12.19/Dockerfile.jdk17 | 56 +++++++++ .../atlassian/jira/9/9.12.19/Makefile | 38 ++++++ .../jira/9/9.12.19/docker-compose.yml | 20 ++++ .../atlassian/jira/9/9.12.19/entrypoint.sh | 113 ++++++++++++++++++ 103 files changed, 4726 insertions(+), 45 deletions(-) create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.13/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.13/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.13/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.13/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/8/8.19.13/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.14/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.14/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.14/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.14/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/8/8.19.14/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.15/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.15/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.15/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.15/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/8/8.19.15/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.16/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.16/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.16/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/8/8.19.16/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/8/8.19.16/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.1/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.1/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.1/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.4.1/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.2/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.2/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.2/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.4.2/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.3/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.3/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.3/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.4.3/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.4/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.4/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.4.4/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.4.4/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.1/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.1/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.1/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.5.1/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.2/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.2/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.5.2/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.5.2/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.6.0/.env create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile.jdk21 create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.6.0/Makefile create mode 100644 linux/ecosystem/atlassian/bitbucket/9/9.6.0/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/bitbucket/9/9.6.0/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.3/.env create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.3/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.3/Makefile create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.3/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/10/10.3.3/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.4/.env create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.4/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.4/Makefile create mode 100644 linux/ecosystem/atlassian/jira/10/10.3.4/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/10/10.3.4/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.0/.env create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.0/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.0/Makefile create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.0/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/10/10.4.0/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.1/.env create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.1/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.1/Makefile create mode 100644 linux/ecosystem/atlassian/jira/10/10.4.1/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/10/10.4.1/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/10/10.5.0/.env create mode 100644 linux/ecosystem/atlassian/jira/10/10.5.0/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/10/10.5.0/Makefile create mode 100644 linux/ecosystem/atlassian/jira/10/10.5.0/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/10/10.5.0/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/.env create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk11 create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk17 create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/Makefile create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.18/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/9/9.12.18/entrypoint.sh create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/.env create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk11 create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk17 create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/Makefile create mode 100644 linux/ecosystem/atlassian/jira/9/9.12.19/docker-compose.yml create mode 100755 linux/ecosystem/atlassian/jira/9/9.12.19/entrypoint.sh diff --git a/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml b/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml index de5be1f20..0a7b0bb3b 100644 --- a/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml +++ b/bin/ansible/roles/atlassian.bitbucket/tasks/main.yml @@ -1,23 +1,23 @@ -- 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 - -- name: "Generate images for Bitbucket 5 (jdk8)" - import_tasks: atlassian.bitbucket.5.jdk8.yml - -- name: "Generate images for Bitbucket 6 (jdk8 + jdk11)" - import_tasks: atlassian.bitbucket.6.jdk8-11.yml - -- name: "Generate images for Bitbucket 7 (jdk8 + jdk11)" - import_tasks: atlassian.bitbucket.7.jdk8-11.yml +# - 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 +# +# - name: "Generate images for Bitbucket 5 (jdk8)" +# import_tasks: atlassian.bitbucket.5.jdk8.yml +# +# - name: "Generate images for Bitbucket 6 (jdk8 + jdk11)" +# import_tasks: atlassian.bitbucket.6.jdk8-11.yml +# +# - name: "Generate images for Bitbucket 7 (jdk8 + jdk11)" +# import_tasks: atlassian.bitbucket.7.jdk8-11.yml - name: "Generate images for Bitbucket 8 (jdk8 + jdk11)" import_tasks: atlassian.bitbucket.8.jdk8-11.yml diff --git a/bin/ansible/roles/atlassian.jira/tasks/main.yml b/bin/ansible/roles/atlassian.jira/tasks/main.yml index 26c85d802..ef50677e3 100644 --- a/bin/ansible/roles/atlassian.jira/tasks/main.yml +++ b/bin/ansible/roles/atlassian.jira/tasks/main.yml @@ -1,31 +1,31 @@ # broken envs, generating without it #- name: "Generate images for Jira 4 (jdk6)" # import_tasks: atlassian.jira.4.jdk6.yml - -- name: "Generate images for Jira 5.0-5.1 (jdk6)" - import_tasks: atlassian.jira.5.jdk6.yml - -- name: "Generate images for Jira 5.2 (jdk6, jdk7)" - import_tasks: atlassian.jira.5.jdk6-7.yml - -- name: "Generate images for Jira 6.0-6.2 (jdk7)" - import_tasks: atlassian.jira.6.jdk7.yml - -- name: "Generate images for Jira 6.3-6.4 (jdk7, jdk8)" - import_tasks: atlassian.jira.6.jdk7-8.yml - -- name: "Generate images for Jira 7 (jdk8) - old links" - import_tasks: atlassian.jira.7.jdk8p1.yml - -- name: "Generate images for Jira 7 (jdk8)" - import_tasks: atlassian.jira.7.jdk8p2.yml - -- name: "Generate images for Jira 8.0-8.1 (jdk8)" - import_tasks: atlassian.jira.8.jdk8.yml - -- name: "Generate images for Jira 8.2-8.20 (jdk8, jdk11)" - import_tasks: atlassian.jira.8.jdk8-11.yml - +# +# - name: "Generate images for Jira 5.0-5.1 (jdk6)" +# import_tasks: atlassian.jira.5.jdk6.yml +# +# - name: "Generate images for Jira 5.2 (jdk6, jdk7)" +# import_tasks: atlassian.jira.5.jdk6-7.yml +# +# - name: "Generate images for Jira 6.0-6.2 (jdk7)" +# import_tasks: atlassian.jira.6.jdk7.yml +# +# - name: "Generate images for Jira 6.3-6.4 (jdk7, jdk8)" +# import_tasks: atlassian.jira.6.jdk7-8.yml +# +# - name: "Generate images for Jira 7 (jdk8) - old links" +# import_tasks: atlassian.jira.7.jdk8p1.yml +# +# - name: "Generate images for Jira 7 (jdk8)" +# import_tasks: atlassian.jira.7.jdk8p2.yml +# +# - name: "Generate images for Jira 8.0-8.1 (jdk8)" +# import_tasks: atlassian.jira.8.jdk8.yml +# +# - name: "Generate images for Jira 8.2-8.20 (jdk8, jdk11)" +# import_tasks: atlassian.jira.8.jdk8-11.yml +# - name: "Generate images for Jira 9.0-9.5 (jdk8, jdk11)" import_tasks: atlassian.jira.9.jdk8-11.yml diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.13/.env b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/.env new file mode 100644 index 000000000..cbec98f6f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/.env @@ -0,0 +1,2 @@ +RELEASE=8.19.13 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Dockerfile b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Dockerfile new file mode 100644 index 000000000..beb691b2c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=8.19.13 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Makefile b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.13/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/docker-compose.yml new file mode 100644 index 000000000..5611ffc14 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:8.19.13" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:8.19.13-jdk17" + build: + context: . diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.13/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.13/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/8/8.19.14/.env b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/.env new file mode 100644 index 000000000..a43991983 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/.env @@ -0,0 +1,2 @@ +RELEASE=8.19.14 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Dockerfile b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Dockerfile new file mode 100644 index 000000000..840e90dff --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=8.19.14 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Makefile b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.14/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/docker-compose.yml new file mode 100644 index 000000000..ea185f147 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:8.19.14" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:8.19.14-jdk17" + build: + context: . diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.14/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.14/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/8/8.19.15/.env b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/.env new file mode 100644 index 000000000..73278a964 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/.env @@ -0,0 +1,2 @@ +RELEASE=8.19.15 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Dockerfile b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Dockerfile new file mode 100644 index 000000000..001d6b265 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=8.19.15 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Makefile b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.15/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/docker-compose.yml new file mode 100644 index 000000000..b22f79d49 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:8.19.15" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:8.19.15-jdk17" + build: + context: . diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.15/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.15/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/8/8.19.16/.env b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/.env new file mode 100644 index 000000000..66d83f665 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/.env @@ -0,0 +1,2 @@ +RELEASE=8.19.16 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Dockerfile b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Dockerfile new file mode 100644 index 000000000..28f07fdce --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=8.19.16 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Makefile b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.16/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/docker-compose.yml new file mode 100644 index 000000000..6b3c404eb --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:8.19.16" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:8.19.16-jdk17" + build: + context: . diff --git a/linux/ecosystem/atlassian/bitbucket/8/8.19.16/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/8/8.19.16/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/9/9.4.1/.env b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/.env new file mode 100644 index 000000000..7913235c4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile new file mode 100644 index 000000000..ebb455a98 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.1 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile.jdk21 new file mode 100644 index 000000000..41503f6bd --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.1 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/docker-compose.yml new file mode 100644 index 000000000..bd54d23c9 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.4.1" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.4.1-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.4.1-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.4.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/9/9.4.2/.env b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/.env new file mode 100644 index 000000000..45419a72c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile new file mode 100644 index 000000000..3b98440ba --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.2 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile.jdk21 new file mode 100644 index 000000000..b2ea74c99 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.2 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/docker-compose.yml new file mode 100644 index 000000000..fcab7017c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.4.2" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.4.2-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.4.2-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.4.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/9/9.4.3/.env b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/.env new file mode 100644 index 000000000..fea203ae3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.3 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile new file mode 100644 index 000000000..e2fd90d1a --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.3 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile.jdk21 new file mode 100644 index 000000000..68fe3846c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.3 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.3/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/docker-compose.yml new file mode 100644 index 000000000..36fdb1862 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.4.3" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.4.3-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.4.3-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.3/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.4.3/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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-bitbucket.sh ${ARGS}" +else + exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} +fi diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/.env b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/.env new file mode 100644 index 000000000..78360cf0c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/.env @@ -0,0 +1,2 @@ +RELEASE=9.4.4 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile new file mode 100644 index 000000000..e9b1768fa --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.4 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile.jdk21 new file mode 100644 index 000000000..f696c3425 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.4.4 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/docker-compose.yml new file mode 100644 index 000000000..9f732db52 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.4.4" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.4.4-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.4.4-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.4.4/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.4.4/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/9/9.5.1/.env b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/.env new file mode 100644 index 000000000..9f6e340e4 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/.env @@ -0,0 +1,2 @@ +RELEASE=9.5.1 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile new file mode 100644 index 000000000..8538afa87 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.5.1 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile.jdk21 new file mode 100644 index 000000000..e6ef95ea0 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.5.1 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.1/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/docker-compose.yml new file mode 100644 index 000000000..80f484cb6 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.5.1" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.5.1-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.5.1-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.1/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.5.1/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/9/9.5.2/.env b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/.env new file mode 100644 index 000000000..8ee0eba38 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/.env @@ -0,0 +1,2 @@ +RELEASE=9.5.2 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile new file mode 100644 index 000000000..a46058ea1 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.5.2 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile.jdk21 new file mode 100644 index 000000000..1cfdeba08 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.5.2 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.2/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/docker-compose.yml new file mode 100644 index 000000000..64088b9d2 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.5.2" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.5.2-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.5.2-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.5.2/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.5.2/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/9/9.6.0/.env b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/.env new file mode 100644 index 000000000..6d88ea8b3 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/.env @@ -0,0 +1,2 @@ +RELEASE=9.6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile new file mode 100644 index 000000000..5a1228b2f --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.6.0 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile.jdk21 b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile.jdk21 new file mode 100644 index 000000000..62b48bf89 --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Dockerfile.jdk21 @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm-jdk21 +LABEL maintainer="Atlassian Bitbucket Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.6.0 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${BITBUCKET_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-bitbucket-${RELEASE}.tar.gz --strip-components=1 --directory "${BITBUCKET_INSTALL_DIR}" && \ + chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR} + +################################################################## +# Post-Installing Setup +################################################################## +RUN rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list && \ + apt-get update && \ + apt-get remove -y \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp + +################################################################## +# Git Check +################################################################## +RUN git-lfs install --skip-repo --system --force && \ + echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Makefile b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.6.0/docker-compose.yml b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/docker-compose.yml new file mode 100644 index 000000000..5501d26bf --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/docker-compose.yml @@ -0,0 +1,15 @@ +#version: '3' +services: + app: + image: "epicmorg/bitbucket:9.6.0" + build: + context: . + app-jdk17: + image: "epicmorg/bitbucket:9.6.0-jdk17" + build: + context: . + app-jdk21: + image: "epicmorg/bitbucket:9.6.0-jdk21" + build: + context: . + dockerfile: Dockerfile.jdk21 diff --git a/linux/ecosystem/atlassian/bitbucket/9/9.6.0/entrypoint.sh b/linux/ecosystem/atlassian/bitbucket/9/9.6.0/entrypoint.sh new file mode 100755 index 000000000..842224a8c --- /dev/null +++ b/linux/ecosystem/atlassian/bitbucket/9/9.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/jira/10/10.3.3/.env b/linux/ecosystem/atlassian/jira/10/10.3.3/.env new file mode 100644 index 000000000..13157a7eb --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.3/.env @@ -0,0 +1,2 @@ +RELEASE=10.3.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/10/10.3.3/Dockerfile b/linux/ecosystem/atlassian/jira/10/10.3.3/Dockerfile new file mode 100644 index 000000000..a67847ed7 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.3/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=10.3.3 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/10/10.3.3/Makefile b/linux/ecosystem/atlassian/jira/10/10.3.3/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.3/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/10/10.3.3/docker-compose.yml b/linux/ecosystem/atlassian/jira/10/10.3.3/docker-compose.yml new file mode 100644 index 000000000..5f89e046f --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.3/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:10.3.3" + build: + context: . + app-jdk17: + image: "epicmorg/jira:10.3.3-jdk17" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/10/10.3.3/entrypoint.sh b/linux/ecosystem/atlassian/jira/10/10.3.3/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.3/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/10/10.3.4/.env b/linux/ecosystem/atlassian/jira/10/10.3.4/.env new file mode 100644 index 000000000..44c824016 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.4/.env @@ -0,0 +1,2 @@ +RELEASE=10.3.4 +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/10/10.3.4/Dockerfile b/linux/ecosystem/atlassian/jira/10/10.3.4/Dockerfile new file mode 100644 index 000000000..ca1250521 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.4/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=10.3.4 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/10/10.3.4/Makefile b/linux/ecosystem/atlassian/jira/10/10.3.4/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.4/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/10/10.3.4/docker-compose.yml b/linux/ecosystem/atlassian/jira/10/10.3.4/docker-compose.yml new file mode 100644 index 000000000..30856fd6d --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.4/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:10.3.4" + build: + context: . + app-jdk17: + image: "epicmorg/jira:10.3.4-jdk17" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/10/10.3.4/entrypoint.sh b/linux/ecosystem/atlassian/jira/10/10.3.4/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.3.4/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/10/10.4.0/.env b/linux/ecosystem/atlassian/jira/10/10.4.0/.env new file mode 100644 index 000000000..93844f15b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.0/.env @@ -0,0 +1,2 @@ +RELEASE=10.4.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/10/10.4.0/Dockerfile b/linux/ecosystem/atlassian/jira/10/10.4.0/Dockerfile new file mode 100644 index 000000000..20e523440 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.0/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=10.4.0 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/10/10.4.0/Makefile b/linux/ecosystem/atlassian/jira/10/10.4.0/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.0/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/10/10.4.0/docker-compose.yml b/linux/ecosystem/atlassian/jira/10/10.4.0/docker-compose.yml new file mode 100644 index 000000000..f5b07eca7 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.0/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:10.4.0" + build: + context: . + app-jdk17: + image: "epicmorg/jira:10.4.0-jdk17" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/10/10.4.0/entrypoint.sh b/linux/ecosystem/atlassian/jira/10/10.4.0/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.0/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/10/10.4.1/.env b/linux/ecosystem/atlassian/jira/10/10.4.1/.env new file mode 100644 index 000000000..08d606b91 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.1/.env @@ -0,0 +1,2 @@ +RELEASE=10.4.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/10/10.4.1/Dockerfile b/linux/ecosystem/atlassian/jira/10/10.4.1/Dockerfile new file mode 100644 index 000000000..c2667cab7 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.1/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=10.4.1 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/10/10.4.1/Makefile b/linux/ecosystem/atlassian/jira/10/10.4.1/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.1/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/10/10.4.1/docker-compose.yml b/linux/ecosystem/atlassian/jira/10/10.4.1/docker-compose.yml new file mode 100644 index 000000000..47ce6ec6f --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.1/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:10.4.1" + build: + context: . + app-jdk17: + image: "epicmorg/jira:10.4.1-jdk17" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/10/10.4.1/entrypoint.sh b/linux/ecosystem/atlassian/jira/10/10.4.1/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.4.1/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/10/10.5.0/.env b/linux/ecosystem/atlassian/jira/10/10.5.0/.env new file mode 100644 index 000000000..f9fe03772 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.5.0/.env @@ -0,0 +1,2 @@ +RELEASE=10.5.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/10/10.5.0/Dockerfile b/linux/ecosystem/atlassian/jira/10/10.5.0/Dockerfile new file mode 100644 index 000000000..15be6d0d0 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.5.0/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=10.5.0 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/10/10.5.0/Makefile b/linux/ecosystem/atlassian/jira/10/10.5.0/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.5.0/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/10/10.5.0/docker-compose.yml b/linux/ecosystem/atlassian/jira/10/10.5.0/docker-compose.yml new file mode 100644 index 000000000..5186c6622 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.5.0/docker-compose.yml @@ -0,0 +1,10 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:10.5.0" + build: + context: . + app-jdk17: + image: "epicmorg/jira:10.5.0-jdk17" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/10/10.5.0/entrypoint.sh b/linux/ecosystem/atlassian/jira/10/10.5.0/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/10/10.5.0/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/.env b/linux/ecosystem/atlassian/jira/9/9.12.18/.env new file mode 100644 index 000000000..bbe6d2637 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/.env @@ -0,0 +1,2 @@ +RELEASE=9.12.18 +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.18/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile new file mode 100644 index 000000000..eb461469b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.18 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk11 new file mode 100644 index 000000000..ad8400637 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk11 @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.18 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk17 new file mode 100644 index 000000000..a8e408c10 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/Dockerfile.jdk17 @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.18 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/Makefile b/linux/ecosystem/atlassian/jira/9/9.12.18/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.12.18/docker-compose.yml new file mode 100644 index 000000000..fb8b0f9f4 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/docker-compose.yml @@ -0,0 +1,20 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:9.12.18" + build: + context: . + app-jdk8: + image: "epicmorg/jira:9.12.18-jdk8" + build: + context: . + app-jdk11: + image: "epicmorg/jira:9.12.18-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + app-jdk17: + image: "epicmorg/jira:9.12.18-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.12.18/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.12.18/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.18/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/.env b/linux/ecosystem/atlassian/jira/9/9.12.19/.env new file mode 100644 index 000000000..5229dc302 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/.env @@ -0,0 +1,2 @@ +RELEASE=9.12.19 +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.19/Dockerfile b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile new file mode 100644 index 000000000..00f2cf0b8 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.19 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk11 b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk11 new file mode 100644 index 000000000..b08235a81 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk11 @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.19 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk17 b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk17 new file mode 100644 index 000000000..9df9a03ba --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/Dockerfile.jdk17 @@ -0,0 +1,56 @@ +FROM epicmorg/debian:bookworm-jdk17 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG RELEASE=9.12.19 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz + +################################################################## +# 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 +################################################################## +ADD ${DOWNLOAD_URL} /tmp +RUN mkdir -p ${JIRA_INSTALL_DIR} && \ + tar -xvzf /tmp/atlassian-jira-software-${RELEASE}.tar.gz --strip-components=1 --directory "${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/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] + +RUN updatedb diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/Makefile b/linux/ecosystem/atlassian/jira/9/9.12.19/Makefile new file mode 100644 index 000000000..b5e50619b --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/Makefile @@ -0,0 +1,38 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + + +build: + buildah-wrapper --build + +deploy: + buildah-wrapper --deploy + + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/docker-compose.yml b/linux/ecosystem/atlassian/jira/9/9.12.19/docker-compose.yml new file mode 100644 index 000000000..9bffbac99 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/docker-compose.yml @@ -0,0 +1,20 @@ +#version: '3.9' +services: + app: + image: "epicmorg/jira:9.12.19" + build: + context: . + app-jdk8: + image: "epicmorg/jira:9.12.19-jdk8" + build: + context: . + app-jdk11: + image: "epicmorg/jira:9.12.19-jdk11" + build: + context: . + dockerfile: Dockerfile.jdk11 + app-jdk17: + image: "epicmorg/jira:9.12.19-jdk17" + build: + context: . + dockerfile: Dockerfile.jdk17 \ No newline at end of file diff --git a/linux/ecosystem/atlassian/jira/9/9.12.19/entrypoint.sh b/linux/ecosystem/atlassian/jira/9/9.12.19/entrypoint.sh new file mode 100755 index 000000000..d87fa3063 --- /dev/null +++ b/linux/ecosystem/atlassian/jira/9/9.12.19/entrypoint.sh @@ -0,0 +1,113 @@ +#!/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 + +function set_home { + echo "Setting up JIRA_HOME.." + + if [ -z "$JIRA_HOME" ]; then + echo "Variable JIRA_HOME is empty. Aborting" + exit 1 + fi + + echo "JIRA_HOME is: ${JIRA_HOME}" + + echo "Patchig jira-application.properties" + sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties + +} + +# 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 + set_home + # Now drop privileges + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" + else + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@" + fi +else + set_home + if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" + else + exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@" + fi +fi