diff --git a/.travis.yml b/.travis.yml index 20c2ea471..a67d2329d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,18 +46,48 @@ matrix: #### Our High priority images ######################################### +# - name: Template +# script: +# - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +# - docker build --compress -t user/repo:tag path/to/folder/contains/dockerfile +# - docker push user/repo:tag + - name: Base Production script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/prod:latest epicmorg/prod + - docker build --compress -t epicmorg/prod:latest epicmorg/prod/main - docker push epicmorg/prod:latest + - name: Base Production + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/prod:jdk8 epicmorg/prod/jdk8 + - docker push epicmorg/prod:jdk8 + + - name: Base Production + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/prod:jdk11 epicmorg/prod/jdk11 + - docker push epicmorg/prod:jdk11 + - name: Base Develop script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/devel:latest epicmorg/devel + - docker build --compress -t epicmorg/devel:latest epicmorg/devel/main - docker push epicmorg/devel:latest + - name: Base Develop + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/devel:jdk8 epicmorg/devel/jdk8 + - docker push epicmorg/devel:jdk8 + + - name: Base Develop + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/devel:jdk11 epicmorg/devel/jdk11 + - docker push epicmorg/devel:jdk11 + - name: TeamCity Agent script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin @@ -458,6 +488,20 @@ matrix: - docker push epicmorg/confluence:7.1.1 + - name: Confluence 7.1.2 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/confluence:7.1.2 atlassian/confluence/7.1.2 + - docker push epicmorg/confluence:7.1.2 + + + - name: Confluence 7.2.0 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/confluence:7.2.0 atlassian/confluence/7.2.0 + - docker push epicmorg/confluence:7.2.0 + + ######################################### #### Our Jira images ######################################### @@ -689,6 +733,18 @@ matrix: - docker build --compress -t epicmorg/jira:8.5.1 atlassian/jira/8.5.1 - docker push epicmorg/jira:8.5.1 + - name: Jira 8.5.2 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/jira:8.5.2 atlassian/jira/8.5.2 + - docker push epicmorg/jira:8.5.2 + + - name: Jira 8.5.3 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/jira:8.5.3 atlassian/jira/8.5.3 + - docker push epicmorg/jira:8.5.3 + ######################################### #### Our minor priority images ######################################### @@ -698,11 +754,12 @@ matrix: # - docker build --compress -t epicmorg/repo:tag path/to/folder # - docker push epicmorg/repo:tag - - name: Staytus - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/staytus:latest staytus - - docker push epicmorg/staytus:latest +#### Deprecated +# - name: Staytus +# script: +# - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +# - docker build --compress -t epicmorg/staytus:latest staytus +# - docker push epicmorg/staytus:latest - name: qBitTorrent - latest script: diff --git a/CHANGELOG.md b/CHANGELOG.md index 607ce3ccb..aa395df6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ ## Changelog +* 01/13/2020 + * separated `base` images to `prod`, `prod:jdk8`, `prod:jdk11`, `devel`, `devel:jdk8`, `devel:jdk11` + * teamcity - `devel:jdk11` + * updated current atlassian contaners: + * `bitbucket` all current versions (`6.2`-`latest`) - `prod:jdk11`, + * `confluence` before `7.1` - `prod:jdk8`, after - `7.1` - `prod:jdk11`, + * `jira` before `8.2` - `prod:jdk8`, after - `8.2` - `prod:jdk11` * 12/13/2019 * updated `teamcity agent`. added `php 7.3` support. * fixed `nginx` image. diff --git a/README.md b/README.md index 041285b39..f8def2ef7 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ [![](https://codescene.io/projects/6535/status.svg)](https://codescene.io/projects/6535/jobs/latest-successful/results) -# Map -![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/docker-scripts.png) - # Some popular products | Application | Pulls | Notes diff --git a/staytus/.docker-repository.yml b/_deprecated/staytus/.docker-repository.yml similarity index 100% rename from staytus/.docker-repository.yml rename to _deprecated/staytus/.docker-repository.yml diff --git a/staytus/.dockerignore b/_deprecated/staytus/.dockerignore similarity index 100% rename from staytus/.dockerignore rename to _deprecated/staytus/.dockerignore diff --git a/staytus/Dockerfile b/_deprecated/staytus/Dockerfile similarity index 100% rename from staytus/Dockerfile rename to _deprecated/staytus/Dockerfile diff --git a/staytus/Makefile b/_deprecated/staytus/Makefile similarity index 100% rename from staytus/Makefile rename to _deprecated/staytus/Makefile diff --git a/staytus/README.md b/_deprecated/staytus/README.md similarity index 100% rename from staytus/README.md rename to _deprecated/staytus/README.md diff --git a/staytus/entrypoint.sh b/_deprecated/staytus/entrypoint.sh similarity index 100% rename from staytus/entrypoint.sh rename to _deprecated/staytus/entrypoint.sh diff --git a/atlassian/bitbucket/6.2.0/Dockerfile b/atlassian/bitbucket/6.2.0/Dockerfile index 2385b1817..b54e88165 100644 --- a/atlassian/bitbucket/6.2.0/Dockerfile +++ b/atlassian/bitbucket/6.2.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.2.1/Dockerfile b/atlassian/bitbucket/6.2.1/Dockerfile index 3dfeebc81..e75ca5e43 100644 --- a/atlassian/bitbucket/6.2.1/Dockerfile +++ b/atlassian/bitbucket/6.2.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.3.0/Dockerfile b/atlassian/bitbucket/6.3.0/Dockerfile index 9cf5555d3..8f9acef31 100644 --- a/atlassian/bitbucket/6.3.0/Dockerfile +++ b/atlassian/bitbucket/6.3.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.3.1/Dockerfile b/atlassian/bitbucket/6.3.1/Dockerfile index 0f8a5e6a0..346601dd1 100644 --- a/atlassian/bitbucket/6.3.1/Dockerfile +++ b/atlassian/bitbucket/6.3.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.3.2/Dockerfile b/atlassian/bitbucket/6.3.2/Dockerfile index 7e5d8b860..7b26a0df2 100644 --- a/atlassian/bitbucket/6.3.2/Dockerfile +++ b/atlassian/bitbucket/6.3.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.4.0/Dockerfile b/atlassian/bitbucket/6.4.0/Dockerfile index 485bb4df3..1e0821e46 100644 --- a/atlassian/bitbucket/6.4.0/Dockerfile +++ b/atlassian/bitbucket/6.4.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.4.1/Dockerfile b/atlassian/bitbucket/6.4.1/Dockerfile index a5f00aa66..6b25e0704 100644 --- a/atlassian/bitbucket/6.4.1/Dockerfile +++ b/atlassian/bitbucket/6.4.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.5.0/Dockerfile b/atlassian/bitbucket/6.5.0/Dockerfile index a08d739f6..75c4d0dc3 100644 --- a/atlassian/bitbucket/6.5.0/Dockerfile +++ b/atlassian/bitbucket/6.5.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.5.1/Dockerfile b/atlassian/bitbucket/6.5.1/Dockerfile index 431ecac8f..93a21cf28 100644 --- a/atlassian/bitbucket/6.5.1/Dockerfile +++ b/atlassian/bitbucket/6.5.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.5.2/Dockerfile b/atlassian/bitbucket/6.5.2/Dockerfile index b6de3f791..3b08acf93 100644 --- a/atlassian/bitbucket/6.5.2/Dockerfile +++ b/atlassian/bitbucket/6.5.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.6.0/Dockerfile b/atlassian/bitbucket/6.6.0/Dockerfile index 0a67b6735..599124d29 100644 --- a/atlassian/bitbucket/6.6.0/Dockerfile +++ b/atlassian/bitbucket/6.6.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.6.1/Dockerfile b/atlassian/bitbucket/6.6.1/Dockerfile index 875adfb1a..c459bc9a4 100644 --- a/atlassian/bitbucket/6.6.1/Dockerfile +++ b/atlassian/bitbucket/6.6.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.6.2/Dockerfile b/atlassian/bitbucket/6.6.2/Dockerfile index 5a5afe54e..e0db4fc35 100644 --- a/atlassian/bitbucket/6.6.2/Dockerfile +++ b/atlassian/bitbucket/6.6.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.7.0/Dockerfile b/atlassian/bitbucket/6.7.0/Dockerfile index 839f08193..7e422c1eb 100644 --- a/atlassian/bitbucket/6.7.0/Dockerfile +++ b/atlassian/bitbucket/6.7.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.7.1/Dockerfile b/atlassian/bitbucket/6.7.1/Dockerfile index a8ac5dce3..cd2d58f0b 100644 --- a/atlassian/bitbucket/6.7.1/Dockerfile +++ b/atlassian/bitbucket/6.7.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.7.2/Dockerfile b/atlassian/bitbucket/6.7.2/Dockerfile index bc757a64d..eb4e08c46 100644 --- a/atlassian/bitbucket/6.7.2/Dockerfile +++ b/atlassian/bitbucket/6.7.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.8.0/Dockerfile b/atlassian/bitbucket/6.8.0/Dockerfile index a0ea7cffd..2106400bf 100644 --- a/atlassian/bitbucket/6.8.0/Dockerfile +++ b/atlassian/bitbucket/6.8.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/6.8.1/Dockerfile b/atlassian/bitbucket/6.8.1/Dockerfile index ab68fe188..239ce3eaa 100644 --- a/atlassian/bitbucket/6.8.1/Dockerfile +++ b/atlassian/bitbucket/6.8.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/bitbucket/latest/Dockerfile b/atlassian/bitbucket/latest/Dockerfile index ab68fe188..239ce3eaa 100644 --- a/atlassian/bitbucket/latest/Dockerfile +++ b/atlassian/bitbucket/latest/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.10.0/Dockerfile b/atlassian/confluence/6.10.0/Dockerfile index f1afe7678..4ad1fde3c 100644 --- a/atlassian/confluence/6.10.0/Dockerfile +++ b/atlassian/confluence/6.10.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.10.1/Dockerfile b/atlassian/confluence/6.10.1/Dockerfile index bbb6fc614..03804167e 100644 --- a/atlassian/confluence/6.10.1/Dockerfile +++ b/atlassian/confluence/6.10.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.10.2/Dockerfile b/atlassian/confluence/6.10.2/Dockerfile index 862582038..b7a0eabd0 100644 --- a/atlassian/confluence/6.10.2/Dockerfile +++ b/atlassian/confluence/6.10.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.11.0/Dockerfile b/atlassian/confluence/6.11.0/Dockerfile index efd2d7f92..a398499dc 100644 --- a/atlassian/confluence/6.11.0/Dockerfile +++ b/atlassian/confluence/6.11.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.11.1/Dockerfile b/atlassian/confluence/6.11.1/Dockerfile index 4e3a61d01..b9f04c9fa 100644 --- a/atlassian/confluence/6.11.1/Dockerfile +++ b/atlassian/confluence/6.11.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.11.2/Dockerfile b/atlassian/confluence/6.11.2/Dockerfile index a5dd1630f..68b11e92e 100644 --- a/atlassian/confluence/6.11.2/Dockerfile +++ b/atlassian/confluence/6.11.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.12.0/Dockerfile b/atlassian/confluence/6.12.0/Dockerfile index 515716af1..1dc6fad00 100644 --- a/atlassian/confluence/6.12.0/Dockerfile +++ b/atlassian/confluence/6.12.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.12.1/Dockerfile b/atlassian/confluence/6.12.1/Dockerfile index 91f5ca282..4bbf92616 100644 --- a/atlassian/confluence/6.12.1/Dockerfile +++ b/atlassian/confluence/6.12.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.12.2/Dockerfile b/atlassian/confluence/6.12.2/Dockerfile index a6f0f0c74..5371f2910 100644 --- a/atlassian/confluence/6.12.2/Dockerfile +++ b/atlassian/confluence/6.12.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.12.3/Dockerfile b/atlassian/confluence/6.12.3/Dockerfile index 3b234f8ea..754b5b423 100644 --- a/atlassian/confluence/6.12.3/Dockerfile +++ b/atlassian/confluence/6.12.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.12.4/Dockerfile b/atlassian/confluence/6.12.4/Dockerfile index 441d82a50..e19663666 100644 --- a/atlassian/confluence/6.12.4/Dockerfile +++ b/atlassian/confluence/6.12.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.13.0/Dockerfile b/atlassian/confluence/6.13.0/Dockerfile index b1a41e1d1..ccb8e85b9 100644 --- a/atlassian/confluence/6.13.0/Dockerfile +++ b/atlassian/confluence/6.13.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.13.1/Dockerfile b/atlassian/confluence/6.13.1/Dockerfile index bd4df3634..d443befb1 100644 --- a/atlassian/confluence/6.13.1/Dockerfile +++ b/atlassian/confluence/6.13.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.13.2/Dockerfile b/atlassian/confluence/6.13.2/Dockerfile index 491fc3627..d70d32f7e 100644 --- a/atlassian/confluence/6.13.2/Dockerfile +++ b/atlassian/confluence/6.13.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.13.3/Dockerfile b/atlassian/confluence/6.13.3/Dockerfile index cbd126655..9b3339a01 100644 --- a/atlassian/confluence/6.13.3/Dockerfile +++ b/atlassian/confluence/6.13.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.13.4/Dockerfile b/atlassian/confluence/6.13.4/Dockerfile index af9c8b332..754b6e94f 100644 --- a/atlassian/confluence/6.13.4/Dockerfile +++ b/atlassian/confluence/6.13.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.14.0/Dockerfile b/atlassian/confluence/6.14.0/Dockerfile index 7c9be0bab..75528b59f 100644 --- a/atlassian/confluence/6.14.0/Dockerfile +++ b/atlassian/confluence/6.14.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.14.1/Dockerfile b/atlassian/confluence/6.14.1/Dockerfile index e5de2f9fc..1afce19ac 100644 --- a/atlassian/confluence/6.14.1/Dockerfile +++ b/atlassian/confluence/6.14.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.14.2/Dockerfile b/atlassian/confluence/6.14.2/Dockerfile index 196c67177..9c09f9aa0 100644 --- a/atlassian/confluence/6.14.2/Dockerfile +++ b/atlassian/confluence/6.14.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.14.3/Dockerfile b/atlassian/confluence/6.14.3/Dockerfile index 9a6b58967..09045771f 100644 --- a/atlassian/confluence/6.14.3/Dockerfile +++ b/atlassian/confluence/6.14.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.1/Dockerfile b/atlassian/confluence/6.15.1/Dockerfile index 2fa5c0ff3..b4760d22a 100644 --- a/atlassian/confluence/6.15.1/Dockerfile +++ b/atlassian/confluence/6.15.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.2/Dockerfile b/atlassian/confluence/6.15.2/Dockerfile index 4c9d5f4f3..8f3f731e4 100644 --- a/atlassian/confluence/6.15.2/Dockerfile +++ b/atlassian/confluence/6.15.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.4/Dockerfile b/atlassian/confluence/6.15.4/Dockerfile index 8448b9c83..bd22b9524 100644 --- a/atlassian/confluence/6.15.4/Dockerfile +++ b/atlassian/confluence/6.15.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.6/Dockerfile b/atlassian/confluence/6.15.6/Dockerfile index c59edf6ee..7ded10ca3 100644 --- a/atlassian/confluence/6.15.6/Dockerfile +++ b/atlassian/confluence/6.15.6/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.7/Dockerfile b/atlassian/confluence/6.15.7/Dockerfile index 96f818204..fd475818d 100644 --- a/atlassian/confluence/6.15.7/Dockerfile +++ b/atlassian/confluence/6.15.7/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.8/Dockerfile b/atlassian/confluence/6.15.8/Dockerfile index 2d0e14cf5..88eb7769b 100644 --- a/atlassian/confluence/6.15.8/Dockerfile +++ b/atlassian/confluence/6.15.8/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.15.9/Dockerfile b/atlassian/confluence/6.15.9/Dockerfile index d2fa2a124..d3ce10616 100644 --- a/atlassian/confluence/6.15.9/Dockerfile +++ b/atlassian/confluence/6.15.9/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.9.0/Dockerfile b/atlassian/confluence/6.9.0/Dockerfile index d44e917af..e31383c10 100644 --- a/atlassian/confluence/6.9.0/Dockerfile +++ b/atlassian/confluence/6.9.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.9.1/Dockerfile b/atlassian/confluence/6.9.1/Dockerfile index 34d709a12..f5b01ef4a 100644 --- a/atlassian/confluence/6.9.1/Dockerfile +++ b/atlassian/confluence/6.9.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/6.9.3/Dockerfile b/atlassian/confluence/6.9.3/Dockerfile index 5d5f9043c..e5540d33d 100644 --- a/atlassian/confluence/6.9.3/Dockerfile +++ b/atlassian/confluence/6.9.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.0.1/Dockerfile b/atlassian/confluence/7.0.1/Dockerfile index 1ad4df6f9..b1790ded0 100644 --- a/atlassian/confluence/7.0.1/Dockerfile +++ b/atlassian/confluence/7.0.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.0.2/Dockerfile b/atlassian/confluence/7.0.2/Dockerfile index 58e12a520..00313c49f 100644 --- a/atlassian/confluence/7.0.2/Dockerfile +++ b/atlassian/confluence/7.0.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.0.3/Dockerfile b/atlassian/confluence/7.0.3/Dockerfile index 748cf587b..7968f2513 100644 --- a/atlassian/confluence/7.0.3/Dockerfile +++ b/atlassian/confluence/7.0.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.0.4/Dockerfile b/atlassian/confluence/7.0.4/Dockerfile index 321dcceba..8f6e2b2ca 100644 --- a/atlassian/confluence/7.0.4/Dockerfile +++ b/atlassian/confluence/7.0.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.1.0/Dockerfile b/atlassian/confluence/7.1.0/Dockerfile index 57114034d..66b1b2b9a 100644 --- a/atlassian/confluence/7.1.0/Dockerfile +++ b/atlassian/confluence/7.1.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.1.1/Dockerfile b/atlassian/confluence/7.1.1/Dockerfile index b3d10ee44..3cc9ae29e 100644 --- a/atlassian/confluence/7.1.1/Dockerfile +++ b/atlassian/confluence/7.1.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/confluence/7.1.2/.docker-repository.yml b/atlassian/confluence/7.1.2/.docker-repository.yml new file mode 100644 index 000000000..efb9f8b2d --- /dev/null +++ b/atlassian/confluence/7.1.2/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/confluence diff --git a/epicmorg/devel/.dockerignore b/atlassian/confluence/7.1.2/.dockerignore similarity index 100% rename from epicmorg/devel/.dockerignore rename to atlassian/confluence/7.1.2/.dockerignore diff --git a/atlassian/confluence/7.1.2/Dockerfile b/atlassian/confluence/7.1.2/Dockerfile new file mode 100644 index 000000000..d8dd674c6 --- /dev/null +++ b/atlassian/confluence/7.1.2/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/prod:jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG CONFLUENCE_VERSION=7.1.2 +ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/doc/confluence-home-and-other-important-directories-590259707.html +ENV CONFLUENCE_HOME /var/atlassian/application-data/confluence +ENV CONFLUENCE_INSTALL_DIR /opt/atlassian/confluence + +VOLUME ["${CONFLUENCE_HOME}"] +WORKDIR $CONFLUENCE_HOME + +# Expose HTTP and Synchrony ports +EXPOSE 8090 +EXPOSE 8091 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$CONFLUENCE_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \ + && sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/atlassian/confluence/7.1.2/Makefile b/atlassian/confluence/7.1.2/Makefile new file mode 100644 index 000000000..f1f12c6f2 --- /dev/null +++ b/atlassian/confluence/7.1.2/Makefile @@ -0,0 +1,5 @@ +all: confl + +confl: + docker build --compress -t epicmorg/confluence:7.1.2 . + docker push epicmorg/confluence:7.1.2 diff --git a/atlassian/confluence/7.1.2/README.md b/atlassian/confluence/7.1.2/README.md new file mode 100644 index 000000000..7e5b92f37 --- /dev/null +++ b/atlassian/confluence/7.1.2/README.md @@ -0,0 +1,131 @@ +![Atlassian Confluence Server](https://www.atlassian.com/dam/wac/legacy/confluence_logo_landing.png) + +Confluence Server is where you create, organise and discuss work with your team. Capture the knowledge that's too often lost in email inboxes and shared network drives in Confluence – where it's easy to find, use, and update. Give every team, project, or department its own space to create the things they need, whether it's meeting notes, product requirements, file lists, or project plans, you can get more done in Confluence. + +Learn more about Confluence Server: + +You can find the repository for this Dockerfile at + +# Overview + +This Docker container makes it easy to get an instance of Confluence up and running. + +# Quick Start + +For the directory in the environmental variable `CONFLUENCE_HOME` that is used to store Confluence data +(amongst other things) we recommend mounting a host directory as a [data volume](https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume): + +Start Atlassian Confluence Server: + + $> docker run -v /data/your-confluence-home:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 epicmorg/confluence + + +**Success**. Confluence is now available on [http://localhost:8090](http://localhost:8090)* + +Please ensure your container has the necessary resources allocated to it. +We recommend 2GiB of memory allocated to accommodate the application server. +See [Supported Platforms](https://confluence.atlassian.com/display/DOC/Supported+platforms) for further information. + + +_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):8090` instead._ + +## Memory / Heap Size + +If you need to override Confluence Server's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables. + +* `JVM_MINIMUM_MEMORY` (default: 1024m) + + The minimum heap size of the JVM + +* `JVM_MAXIMUM_MEMORY` (default: 1024m) + + The maximum heap size of the JVM + +## Reverse Proxy Settings + +If Confluence is run behind a reverse proxy server, then you need to specify extra options to make Confluence aware of the setup. They can be controlled via the below environment variables. + +* `CATALINA_CONNECTOR_PROXYNAME` (default: NONE) + + The reverse proxy's fully qualified hostname. + +* `CATALINA_CONNECTOR_PROXYPORT` (default: NONE) + + The reverse proxy's port number via which Confluence is accessed. + +* `CATALINA_CONNECTOR_SCHEME` (default: http) + + The protocol via which Confluence is accessed. + +* `CATALINA_CONNECTOR_SECURE` (default: false) + + Set 'true' if CATALINA_CONNECTOR_SCHEME is 'https'. + +## JVM configuration + +If you need to pass additional JVM arguments to Confluence such as specifying a custom trust store, you can add them via the below environment variable + +* `JVM_SUPPORT_RECOMMENDED_ARGS` + + Additional JVM arguments for Confluence + +Example: + + $> docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/confluence/cacerts -v confluenceVolume:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 epicmorg/confluence + + +# Upgrade + +To upgrade to a more recent version of Confluence Server you can simply stop the `Confluence` +container and start a new one based on a more recent image: + + $> docker stop confluence + $> docker rm confluence + $> docker run ... (see above) + +As your data is stored in the data volume directory on the host, it will still +be available after the upgrade. + +_Note: Please make sure that you **don't** accidentally remove the `confluence` +container and its volumes using the `-v` option._ + +# Backup + +For evaluating Confluence you can use the built-in database that will store its files in the Confluence Server home directory. In that case it is sufficient to create a backup archive of the directory on the host that is used as a volume (`/data/your-confluence-home` in the example above). + +Confluence's [automatic backup](https://confluence.atlassian.com/display/DOC/Configuring+Backups) is currently supported in the Docker setup. You can also use the [Production Backup Strategy](https://confluence.atlassian.com/display/DOC/Production+Backup+Strategy) approach if you're using an external database. + +Read more about data recovery and backups: [Site Backup and Restore](https://confluence.atlassian.com/display/DOC/Site+Backup+and+Restore) + +# Versioning + +The `latest` tag matches the most recent release of Atlassian Confluence Server. +So `epicmorg/confluence:latest` will use the newest stable version of Confluence Server available. + +Alternatively, you can use a specific minor version of Confluence Server by using a version number +tag: `epicmorg/confluence:5.10.8`. This will install the latest `5.10.8` version that +is available. + +## Versions available + +* `epicmorg/confluence:latest` +* `epicmorg/confluence:5.6.4` +* `epicmorg/confluence:5.10.8` + +# Known Problems +In Mac OS X with Docker version 1.11.0, when running with docker-machine, there is a bug where the directory specified for `CONFLUENCE_HOME` in a volume mount will not have the correct permission, and thus startup fails with a permission denied error: + Error writing state to confluence.cfg.xml +com.atlassian.config.ConfigurationException: Couldn't save confluence.cfg.xml to /var/atlassian/confluence-home directory. + +See https://github.com/docker/docker/issues/4023 for details. + +To work around this issue, use a different host operating system other than Mac OSX until a newer release of Docker fixes this issue. + +# Support + +This Docker image is great for evaluating Confluence. However, it does not use an Oracle JDK due to licensing constraints. Instead, it uses OpenJDK which is not supported for running Confluence in production. + +To meet our supported platform requirements, you'll need to build your own image based on [Oracle JDK](https://github.com/oracle/docker-images/tree/master/OracleJDK). See [Update the Confluence Docker image to use Oracle JDK ](https://confluence.atlassian.com/display/CONFKB/Update+the+Confluence+Docker+image+to+use+Oracle+JDK) for more info. + +For product support go to [support.atlassian.com](http://support.atlassian.com). + diff --git a/atlassian/confluence/7.1.2/entrypoint.sh b/atlassian/confluence/7.1.2/entrypoint.sh new file mode 100755 index 000000000..250fc031a --- /dev/null +++ b/atlassian/confluence/7.1.2/entrypoint.sh @@ -0,0 +1,39 @@ +#!/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:=} + +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 CATALINA_OPTS + + +# Start Confluence 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" "${CONFLUENCE_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${CONFLUENCE_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${CONFLUENCE_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh $@" +else + exec "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh" "$@" +fi diff --git a/atlassian/confluence/7.2.0/.docker-repository.yml b/atlassian/confluence/7.2.0/.docker-repository.yml new file mode 100644 index 000000000..efb9f8b2d --- /dev/null +++ b/atlassian/confluence/7.2.0/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/confluence diff --git a/epicmorg/prod/.dockerignore b/atlassian/confluence/7.2.0/.dockerignore similarity index 100% rename from epicmorg/prod/.dockerignore rename to atlassian/confluence/7.2.0/.dockerignore diff --git a/atlassian/confluence/7.2.0/Dockerfile b/atlassian/confluence/7.2.0/Dockerfile new file mode 100644 index 000000000..4f7c7881c --- /dev/null +++ b/atlassian/confluence/7.2.0/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/prod:jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG CONFLUENCE_VERSION=7.2.0 +ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# https://confluence.atlassian.com/doc/confluence-home-and-other-important-directories-590259707.html +ENV CONFLUENCE_HOME /var/atlassian/application-data/confluence +ENV CONFLUENCE_INSTALL_DIR /opt/atlassian/confluence + +VOLUME ["${CONFLUENCE_HOME}"] +WORKDIR $CONFLUENCE_HOME + +# Expose HTTP and Synchrony ports +EXPOSE 8090 +EXPOSE 8091 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$CONFLUENCE_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \ + && sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/atlassian/confluence/7.2.0/Makefile b/atlassian/confluence/7.2.0/Makefile new file mode 100644 index 000000000..63c528903 --- /dev/null +++ b/atlassian/confluence/7.2.0/Makefile @@ -0,0 +1,5 @@ +all: confl + +confl: + docker build --compress -t epicmorg/confluence:7.2.0 . + docker push epicmorg/confluence:7.2.0 diff --git a/atlassian/confluence/7.2.0/README.md b/atlassian/confluence/7.2.0/README.md new file mode 100644 index 000000000..7e5b92f37 --- /dev/null +++ b/atlassian/confluence/7.2.0/README.md @@ -0,0 +1,131 @@ +![Atlassian Confluence Server](https://www.atlassian.com/dam/wac/legacy/confluence_logo_landing.png) + +Confluence Server is where you create, organise and discuss work with your team. Capture the knowledge that's too often lost in email inboxes and shared network drives in Confluence – where it's easy to find, use, and update. Give every team, project, or department its own space to create the things they need, whether it's meeting notes, product requirements, file lists, or project plans, you can get more done in Confluence. + +Learn more about Confluence Server: + +You can find the repository for this Dockerfile at + +# Overview + +This Docker container makes it easy to get an instance of Confluence up and running. + +# Quick Start + +For the directory in the environmental variable `CONFLUENCE_HOME` that is used to store Confluence data +(amongst other things) we recommend mounting a host directory as a [data volume](https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume): + +Start Atlassian Confluence Server: + + $> docker run -v /data/your-confluence-home:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 epicmorg/confluence + + +**Success**. Confluence is now available on [http://localhost:8090](http://localhost:8090)* + +Please ensure your container has the necessary resources allocated to it. +We recommend 2GiB of memory allocated to accommodate the application server. +See [Supported Platforms](https://confluence.atlassian.com/display/DOC/Supported+platforms) for further information. + + +_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):8090` instead._ + +## Memory / Heap Size + +If you need to override Confluence Server's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables. + +* `JVM_MINIMUM_MEMORY` (default: 1024m) + + The minimum heap size of the JVM + +* `JVM_MAXIMUM_MEMORY` (default: 1024m) + + The maximum heap size of the JVM + +## Reverse Proxy Settings + +If Confluence is run behind a reverse proxy server, then you need to specify extra options to make Confluence aware of the setup. They can be controlled via the below environment variables. + +* `CATALINA_CONNECTOR_PROXYNAME` (default: NONE) + + The reverse proxy's fully qualified hostname. + +* `CATALINA_CONNECTOR_PROXYPORT` (default: NONE) + + The reverse proxy's port number via which Confluence is accessed. + +* `CATALINA_CONNECTOR_SCHEME` (default: http) + + The protocol via which Confluence is accessed. + +* `CATALINA_CONNECTOR_SECURE` (default: false) + + Set 'true' if CATALINA_CONNECTOR_SCHEME is 'https'. + +## JVM configuration + +If you need to pass additional JVM arguments to Confluence such as specifying a custom trust store, you can add them via the below environment variable + +* `JVM_SUPPORT_RECOMMENDED_ARGS` + + Additional JVM arguments for Confluence + +Example: + + $> docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/confluence/cacerts -v confluenceVolume:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 epicmorg/confluence + + +# Upgrade + +To upgrade to a more recent version of Confluence Server you can simply stop the `Confluence` +container and start a new one based on a more recent image: + + $> docker stop confluence + $> docker rm confluence + $> docker run ... (see above) + +As your data is stored in the data volume directory on the host, it will still +be available after the upgrade. + +_Note: Please make sure that you **don't** accidentally remove the `confluence` +container and its volumes using the `-v` option._ + +# Backup + +For evaluating Confluence you can use the built-in database that will store its files in the Confluence Server home directory. In that case it is sufficient to create a backup archive of the directory on the host that is used as a volume (`/data/your-confluence-home` in the example above). + +Confluence's [automatic backup](https://confluence.atlassian.com/display/DOC/Configuring+Backups) is currently supported in the Docker setup. You can also use the [Production Backup Strategy](https://confluence.atlassian.com/display/DOC/Production+Backup+Strategy) approach if you're using an external database. + +Read more about data recovery and backups: [Site Backup and Restore](https://confluence.atlassian.com/display/DOC/Site+Backup+and+Restore) + +# Versioning + +The `latest` tag matches the most recent release of Atlassian Confluence Server. +So `epicmorg/confluence:latest` will use the newest stable version of Confluence Server available. + +Alternatively, you can use a specific minor version of Confluence Server by using a version number +tag: `epicmorg/confluence:5.10.8`. This will install the latest `5.10.8` version that +is available. + +## Versions available + +* `epicmorg/confluence:latest` +* `epicmorg/confluence:5.6.4` +* `epicmorg/confluence:5.10.8` + +# Known Problems +In Mac OS X with Docker version 1.11.0, when running with docker-machine, there is a bug where the directory specified for `CONFLUENCE_HOME` in a volume mount will not have the correct permission, and thus startup fails with a permission denied error: + Error writing state to confluence.cfg.xml +com.atlassian.config.ConfigurationException: Couldn't save confluence.cfg.xml to /var/atlassian/confluence-home directory. + +See https://github.com/docker/docker/issues/4023 for details. + +To work around this issue, use a different host operating system other than Mac OSX until a newer release of Docker fixes this issue. + +# Support + +This Docker image is great for evaluating Confluence. However, it does not use an Oracle JDK due to licensing constraints. Instead, it uses OpenJDK which is not supported for running Confluence in production. + +To meet our supported platform requirements, you'll need to build your own image based on [Oracle JDK](https://github.com/oracle/docker-images/tree/master/OracleJDK). See [Update the Confluence Docker image to use Oracle JDK ](https://confluence.atlassian.com/display/CONFKB/Update+the+Confluence+Docker+image+to+use+Oracle+JDK) for more info. + +For product support go to [support.atlassian.com](http://support.atlassian.com). + diff --git a/atlassian/confluence/7.2.0/entrypoint.sh b/atlassian/confluence/7.2.0/entrypoint.sh new file mode 100755 index 000000000..250fc031a --- /dev/null +++ b/atlassian/confluence/7.2.0/entrypoint.sh @@ -0,0 +1,39 @@ +#!/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:=} + +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 CATALINA_OPTS + + +# Start Confluence 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" "${CONFLUENCE_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${CONFLUENCE_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${CONFLUENCE_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh $@" +else + exec "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh" "$@" +fi diff --git a/atlassian/confluence/latest/Dockerfile b/atlassian/confluence/latest/Dockerfile index b3d10ee44..4f7c7881c 100644 --- a/atlassian/confluence/latest/Dockerfile +++ b/atlassian/confluence/latest/Dockerfile @@ -1,11 +1,11 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG CONFLUENCE_VERSION=7.1.1 +ARG CONFLUENCE_VERSION=7.2.0 ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz ################################################################## diff --git a/atlassian/jira/7.10.0/Dockerfile b/atlassian/jira/7.10.0/Dockerfile index e4e2462db..a0f302de7 100644 --- a/atlassian/jira/7.10.0/Dockerfile +++ b/atlassian/jira/7.10.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.10.1/Dockerfile b/atlassian/jira/7.10.1/Dockerfile index f8c4d4fdb..6e545a8a8 100644 --- a/atlassian/jira/7.10.1/Dockerfile +++ b/atlassian/jira/7.10.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.10.2/Dockerfile b/atlassian/jira/7.10.2/Dockerfile index 6c037dd43..5a0561f1c 100644 --- a/atlassian/jira/7.10.2/Dockerfile +++ b/atlassian/jira/7.10.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.11.0/Dockerfile b/atlassian/jira/7.11.0/Dockerfile index fab5e9d1d..a2195559b 100644 --- a/atlassian/jira/7.11.0/Dockerfile +++ b/atlassian/jira/7.11.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.11.1/Dockerfile b/atlassian/jira/7.11.1/Dockerfile index ef7c5c15a..ea24c559d 100644 --- a/atlassian/jira/7.11.1/Dockerfile +++ b/atlassian/jira/7.11.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.11.2/Dockerfile b/atlassian/jira/7.11.2/Dockerfile index 13a6e815d..a4a924426 100644 --- a/atlassian/jira/7.11.2/Dockerfile +++ b/atlassian/jira/7.11.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.12.0/Dockerfile b/atlassian/jira/7.12.0/Dockerfile index 3d2d47236..2befbc48f 100644 --- a/atlassian/jira/7.12.0/Dockerfile +++ b/atlassian/jira/7.12.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.12.1/Dockerfile b/atlassian/jira/7.12.1/Dockerfile index d1af4db50..cbe320063 100644 --- a/atlassian/jira/7.12.1/Dockerfile +++ b/atlassian/jira/7.12.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.12.3/Dockerfile b/atlassian/jira/7.12.3/Dockerfile index f7e620d2a..ff5c9a997 100644 --- a/atlassian/jira/7.12.3/Dockerfile +++ b/atlassian/jira/7.12.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.0/Dockerfile b/atlassian/jira/7.13.0/Dockerfile index b4f8dae33..32d673841 100644 --- a/atlassian/jira/7.13.0/Dockerfile +++ b/atlassian/jira/7.13.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.1/Dockerfile b/atlassian/jira/7.13.1/Dockerfile index 639ed8f15..4f1c76cb7 100644 --- a/atlassian/jira/7.13.1/Dockerfile +++ b/atlassian/jira/7.13.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.11/Dockerfile b/atlassian/jira/7.13.11/Dockerfile index 6f3700465..6a1bbc847 100644 --- a/atlassian/jira/7.13.11/Dockerfile +++ b/atlassian/jira/7.13.11/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.2/Dockerfile b/atlassian/jira/7.13.2/Dockerfile index 1ba2cf444..61675251c 100644 --- a/atlassian/jira/7.13.2/Dockerfile +++ b/atlassian/jira/7.13.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.3/Dockerfile b/atlassian/jira/7.13.3/Dockerfile index e1713ba96..3bb690fbe 100644 --- a/atlassian/jira/7.13.3/Dockerfile +++ b/atlassian/jira/7.13.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.4/Dockerfile b/atlassian/jira/7.13.4/Dockerfile index c3e26ca71..7990267e9 100644 --- a/atlassian/jira/7.13.4/Dockerfile +++ b/atlassian/jira/7.13.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.5/Dockerfile b/atlassian/jira/7.13.5/Dockerfile index a5969cbb3..9dc0928e3 100644 --- a/atlassian/jira/7.13.5/Dockerfile +++ b/atlassian/jira/7.13.5/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.6/Dockerfile b/atlassian/jira/7.13.6/Dockerfile index 6c9a21d12..dfd1d9712 100644 --- a/atlassian/jira/7.13.6/Dockerfile +++ b/atlassian/jira/7.13.6/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.8/Dockerfile b/atlassian/jira/7.13.8/Dockerfile index 67615efae..e19343579 100644 --- a/atlassian/jira/7.13.8/Dockerfile +++ b/atlassian/jira/7.13.8/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/7.13.9/Dockerfile b/atlassian/jira/7.13.9/Dockerfile index f5ccc7ff9..3efaa8d12 100644 --- a/atlassian/jira/7.13.9/Dockerfile +++ b/atlassian/jira/7.13.9/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.0.0/Dockerfile b/atlassian/jira/8.0.0/Dockerfile index d27424007..98e94c6bc 100644 --- a/atlassian/jira/8.0.0/Dockerfile +++ b/atlassian/jira/8.0.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.0.2/Dockerfile b/atlassian/jira/8.0.2/Dockerfile index ccf2e5dc7..b4346797e 100644 --- a/atlassian/jira/8.0.2/Dockerfile +++ b/atlassian/jira/8.0.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.1.0/Dockerfile b/atlassian/jira/8.1.0/Dockerfile index 2047eff12..60a5c20be 100644 --- a/atlassian/jira/8.1.0/Dockerfile +++ b/atlassian/jira/8.1.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.1.1/Dockerfile b/atlassian/jira/8.1.1/Dockerfile index fdd46c369..3cbd9cb52 100644 --- a/atlassian/jira/8.1.1/Dockerfile +++ b/atlassian/jira/8.1.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk8 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.2.0/Dockerfile b/atlassian/jira/8.2.0/Dockerfile index b84ca55ed..6bab33843 100644 --- a/atlassian/jira/8.2.0/Dockerfile +++ b/atlassian/jira/8.2.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.2.1/Dockerfile b/atlassian/jira/8.2.1/Dockerfile index 00333e88e..f1dc5bd51 100644 --- a/atlassian/jira/8.2.1/Dockerfile +++ b/atlassian/jira/8.2.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.2.2/Dockerfile b/atlassian/jira/8.2.2/Dockerfile index 5c7592240..eb09f592e 100644 --- a/atlassian/jira/8.2.2/Dockerfile +++ b/atlassian/jira/8.2.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.2.3/Dockerfile b/atlassian/jira/8.2.3/Dockerfile index a9ab8ca00..5d85db334 100644 --- a/atlassian/jira/8.2.3/Dockerfile +++ b/atlassian/jira/8.2.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.2.4/Dockerfile b/atlassian/jira/8.2.4/Dockerfile index b61a60efe..fe86295f7 100644 --- a/atlassian/jira/8.2.4/Dockerfile +++ b/atlassian/jira/8.2.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.3.0/Dockerfile b/atlassian/jira/8.3.0/Dockerfile index 5f8fd7d2d..510cccac8 100644 --- a/atlassian/jira/8.3.0/Dockerfile +++ b/atlassian/jira/8.3.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.3.1/Dockerfile b/atlassian/jira/8.3.1/Dockerfile index 88ad71412..ba2aaf577 100644 --- a/atlassian/jira/8.3.1/Dockerfile +++ b/atlassian/jira/8.3.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.3.2/Dockerfile b/atlassian/jira/8.3.2/Dockerfile index 5d4fed2e9..23d3e6fd8 100644 --- a/atlassian/jira/8.3.2/Dockerfile +++ b/atlassian/jira/8.3.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.3.3/Dockerfile b/atlassian/jira/8.3.3/Dockerfile index 6c96077ce..2ad7f24b0 100644 --- a/atlassian/jira/8.3.3/Dockerfile +++ b/atlassian/jira/8.3.3/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.3.4/Dockerfile b/atlassian/jira/8.3.4/Dockerfile index 4025a2fc7..cb9199c1e 100644 --- a/atlassian/jira/8.3.4/Dockerfile +++ b/atlassian/jira/8.3.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.4.0/Dockerfile b/atlassian/jira/8.4.0/Dockerfile index ed0f03a4a..575fdcbd3 100644 --- a/atlassian/jira/8.4.0/Dockerfile +++ b/atlassian/jira/8.4.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.4.1/Dockerfile b/atlassian/jira/8.4.1/Dockerfile index 650596e00..a0be846db 100644 --- a/atlassian/jira/8.4.1/Dockerfile +++ b/atlassian/jira/8.4.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.4.2/Dockerfile b/atlassian/jira/8.4.2/Dockerfile index 24084a676..b39613392 100644 --- a/atlassian/jira/8.4.2/Dockerfile +++ b/atlassian/jira/8.4.2/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.5.0/Dockerfile b/atlassian/jira/8.5.0/Dockerfile index 3bf06b375..f43659f70 100644 --- a/atlassian/jira/8.5.0/Dockerfile +++ b/atlassian/jira/8.5.0/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.5.1/Dockerfile b/atlassian/jira/8.5.1/Dockerfile index 06753de1a..c03ba4349 100644 --- a/atlassian/jira/8.5.1/Dockerfile +++ b/atlassian/jira/8.5.1/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/atlassian/jira/8.5.2/.docker-repository.yml b/atlassian/jira/8.5.2/.docker-repository.yml new file mode 100644 index 000000000..8dc515604 --- /dev/null +++ b/atlassian/jira/8.5.2/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/jira diff --git a/atlassian/jira/8.5.2/.dockerignore b/atlassian/jira/8.5.2/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/atlassian/jira/8.5.2/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/atlassian/jira/8.5.2/Dockerfile b/atlassian/jira/8.5.2/Dockerfile new file mode 100644 index 000000000..b58a1df0f --- /dev/null +++ b/atlassian/jira/8.5.2/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/prod:jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG JIRA_VERSION=8.5.2 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.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 +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/atlassian/jira/8.5.2/Makefile b/atlassian/jira/8.5.2/Makefile new file mode 100644 index 000000000..c230d45b7 --- /dev/null +++ b/atlassian/jira/8.5.2/Makefile @@ -0,0 +1,4 @@ +all: jr + +jr: + docker build --compress -t epicmorg/jira:8.5.2 . diff --git a/atlassian/jira/8.5.2/README.md b/atlassian/jira/8.5.2/README.md new file mode 100644 index 000000000..4cab96ead --- /dev/null +++ b/atlassian/jira/8.5.2/README.md @@ -0,0 +1,151 @@ +![Atlassian JIRA](https://www.atlassian.com/dam/wac/legacy/jira_logo_landing.png) + +JIRA Software is a software development tool used by agile teams. + +Learn more about JIRA Software: + +# Overview + +This Docker container makes it easy to get an instance of JIRA Software up and running. + +# Quick Start + +For the `JIRA_HOME` directory that is used to store application data (amongst other things) we recommend mounting a host directory as a [data volume](https://docs.docker.com/engine/tutorials/dockervolumes/#/data-volumes), or via a named volume if using a docker version >= 1.9. + +To get started you can use a data volume, or named volumes. In this example we'll use named volumes. + + $> docker volume create --name jiraVolume + $> docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 epicmorg/jira + + +**Success**. JIRA is now available on [http://localhost:8080](http://localhost:8080)* + +Please ensure your container has the necessary resources allocated to it. We recommend 2GiB of memory allocated to accommodate the application server. See [System Requirements](https://confluence.atlassian.com/adminjiraserver071/jira-applications-installation-requirements-802592164.html) for further information. + + +_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):8080` instead._ + +## Memory / Heap Size + +If you need to override JIRA's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables. + +* `JVM_MINIMUM_MEMORY` (default: 384m) + + The minimum heap size of the JVM + +* `JVM_MAXIMUM_MEMORY` (default: 768m) + + The maximum heap size of the JVM + +## Reverse Proxy Settings + +If JIRA is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/adminjiraserver072/integrating-jira-with-apache-using-ssl-828788158.html), then you need to specify extra options to make JIRA aware of the setup. They can be controlled via the below environment variables. + +* `CATALINA_CONNECTOR_PROXYNAME` (default: NONE) + + The reverse proxy's fully qualified hostname. + +* `CATALINA_CONNECTOR_PROXYPORT` (default: NONE) + + The reverse proxy's port number via which JIRA is accessed. + +* `CATALINA_CONNECTOR_SCHEME` (default: http) + + The protocol via which JIRA is accessed. + +* `CATALINA_CONNECTOR_SECURE` (default: false) + + Set 'true' if CATALINA_CONNECTOR_SCHEME is 'https'. + +## JVM configuration + +If you need to pass additional JVM arguments to JIRA, such as specifying a custom trust store, you can add them via the below environment variable + +* `JVM_SUPPORT_RECOMMENDED_ARGS` + + Additional JVM arguments for JIRA + +Example: + + $> docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 epicmorg/jira + +## Data Center configuration + +This docker image can be run as part of a [Data Center](https://confluence.atlassian.com/enterprise/jira-data-center-472219731.html) cluster. You can specify the following properties to start Jira as a Data Center node, instead of manually configuring a cluster.properties file, See [Installing Jira Data Center](https://confluence.atlassian.com/adminjiraserver071/installing-jira-data-center-802592197.html) for more information on each property and its possible configuration. + +* `CLUSTERED` (default: false) + + Set 'true' to enable clustering configuration to be used. This will create a **cluster.properties** file inside the container's `$JIRA_HOME` directory. + +* `JIRA_NODE_ID` (default: jira_node_) + + The unique ID for the node. By default, this will include the first eight characters of the Docker container ID, but can be overridden with a custom value. + +* `JIRA_SHARED_HOME` (default: $JIRA_HOME/shared) + + The location of the shared home directory for all Jira nodes. + +* `EHCACHE_PEER_DISCOVERY` (default: default) + + Describes how nodes find each other. + +* `EHCACHE_LISTENER_HOSTNAME` (default: NONE) + + The hostname of the current node for cache communication. Jira Data Center will resolve this this internally if the parameter isn't set. + +* `EHCACHE_LISTENER_PORT` (default: 40001) + + The port the node is going to be listening to. + +* `EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS` (default: 2000) + + The default timeout for the Ehcache listener. + +* `EHCACHE_MULTICAST_ADDRESS` (default: NONE) + + A valid multicast group address. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_PORT` (default: NONE) + + The dedicated port for the multicast heartbeat traffic.Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_TIMETOLIVE` (default: NONE) + + A value between 0 and 255 which determines how far the packets will propagate. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_HOSTNAME` (default: NONE) + + The hostname or IP of the interface to be used for sending and receiving multicast packets. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +# Upgrade + +To upgrade to a more recent version of JIRA you can simply stop the `jira` container and start a new one based on a more recent image: + + $> docker stop jira + $> docker rm jira + $> docker run ... (See above) + +As your data is stored in the data volume directory on the host it will still be available after the upgrade. + +_Note: Please make sure that you **don't** accidentally remove the `jira` container and its volumes using the `-v` option._ + +# Backup + +For evaluations you can use the built-in database that will store its files in the JIRA home directory. In that case it is sufficient to create a backup archive of the docker volume. + +If you're using an external database, you can configure JIRA to make a backup automatically each night. This will back up the current state, including the database to the `jiraVolume` docker volume, which can then be archived. Alternatively you can backup the database separately, and continue to create a backup archive of the docker volume to back up the JIRA Home directory. + +Read more about data recovery and backups: [https://confluence.atlassian.com/adminjiraserver071/backing-up-data-802592964.html](https://confluence.atlassian.com/adminjiraserver071/backing-up-data-802592964.html) + +# Versioning + +The `latest` tag matches the most recent release of Atlassian JIRA Software. Thus `epicmorg/jira:latest` will use the newest version of JIRA available. + +## Versions available + +* `epicmorg/jira:latest` +* `epicmorg/jira:7.10.0` + +# Support + +This Docker container is unsupported and is intended for illustration purposes only. diff --git a/atlassian/jira/8.5.2/entrypoint.sh b/atlassian/jira/8.5.2/entrypoint.sh new file mode 100755 index 000000000..50ee4ecd1 --- /dev/null +++ b/atlassian/jira/8.5.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/atlassian/jira/8.5.3/.docker-repository.yml b/atlassian/jira/8.5.3/.docker-repository.yml new file mode 100644 index 000000000..8dc515604 --- /dev/null +++ b/atlassian/jira/8.5.3/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/jira diff --git a/atlassian/jira/8.5.3/.dockerignore b/atlassian/jira/8.5.3/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/atlassian/jira/8.5.3/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/atlassian/jira/8.5.3/Dockerfile b/atlassian/jira/8.5.3/Dockerfile new file mode 100644 index 000000000..30bc99420 --- /dev/null +++ b/atlassian/jira/8.5.3/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/prod:jdk11 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ARG JIRA_VERSION=8.5.3 +ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.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 +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \ + && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ + && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ + && sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/atlassian/jira/8.5.3/Makefile b/atlassian/jira/8.5.3/Makefile new file mode 100644 index 000000000..431d0ee96 --- /dev/null +++ b/atlassian/jira/8.5.3/Makefile @@ -0,0 +1,4 @@ +all: jr + +jr: + docker build --compress -t epicmorg/jira:8.5.3 . diff --git a/atlassian/jira/8.5.3/README.md b/atlassian/jira/8.5.3/README.md new file mode 100644 index 000000000..4cab96ead --- /dev/null +++ b/atlassian/jira/8.5.3/README.md @@ -0,0 +1,151 @@ +![Atlassian JIRA](https://www.atlassian.com/dam/wac/legacy/jira_logo_landing.png) + +JIRA Software is a software development tool used by agile teams. + +Learn more about JIRA Software: + +# Overview + +This Docker container makes it easy to get an instance of JIRA Software up and running. + +# Quick Start + +For the `JIRA_HOME` directory that is used to store application data (amongst other things) we recommend mounting a host directory as a [data volume](https://docs.docker.com/engine/tutorials/dockervolumes/#/data-volumes), or via a named volume if using a docker version >= 1.9. + +To get started you can use a data volume, or named volumes. In this example we'll use named volumes. + + $> docker volume create --name jiraVolume + $> docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 epicmorg/jira + + +**Success**. JIRA is now available on [http://localhost:8080](http://localhost:8080)* + +Please ensure your container has the necessary resources allocated to it. We recommend 2GiB of memory allocated to accommodate the application server. See [System Requirements](https://confluence.atlassian.com/adminjiraserver071/jira-applications-installation-requirements-802592164.html) for further information. + + +_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):8080` instead._ + +## Memory / Heap Size + +If you need to override JIRA's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables. + +* `JVM_MINIMUM_MEMORY` (default: 384m) + + The minimum heap size of the JVM + +* `JVM_MAXIMUM_MEMORY` (default: 768m) + + The maximum heap size of the JVM + +## Reverse Proxy Settings + +If JIRA is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/adminjiraserver072/integrating-jira-with-apache-using-ssl-828788158.html), then you need to specify extra options to make JIRA aware of the setup. They can be controlled via the below environment variables. + +* `CATALINA_CONNECTOR_PROXYNAME` (default: NONE) + + The reverse proxy's fully qualified hostname. + +* `CATALINA_CONNECTOR_PROXYPORT` (default: NONE) + + The reverse proxy's port number via which JIRA is accessed. + +* `CATALINA_CONNECTOR_SCHEME` (default: http) + + The protocol via which JIRA is accessed. + +* `CATALINA_CONNECTOR_SECURE` (default: false) + + Set 'true' if CATALINA_CONNECTOR_SCHEME is 'https'. + +## JVM configuration + +If you need to pass additional JVM arguments to JIRA, such as specifying a custom trust store, you can add them via the below environment variable + +* `JVM_SUPPORT_RECOMMENDED_ARGS` + + Additional JVM arguments for JIRA + +Example: + + $> docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 epicmorg/jira + +## Data Center configuration + +This docker image can be run as part of a [Data Center](https://confluence.atlassian.com/enterprise/jira-data-center-472219731.html) cluster. You can specify the following properties to start Jira as a Data Center node, instead of manually configuring a cluster.properties file, See [Installing Jira Data Center](https://confluence.atlassian.com/adminjiraserver071/installing-jira-data-center-802592197.html) for more information on each property and its possible configuration. + +* `CLUSTERED` (default: false) + + Set 'true' to enable clustering configuration to be used. This will create a **cluster.properties** file inside the container's `$JIRA_HOME` directory. + +* `JIRA_NODE_ID` (default: jira_node_) + + The unique ID for the node. By default, this will include the first eight characters of the Docker container ID, but can be overridden with a custom value. + +* `JIRA_SHARED_HOME` (default: $JIRA_HOME/shared) + + The location of the shared home directory for all Jira nodes. + +* `EHCACHE_PEER_DISCOVERY` (default: default) + + Describes how nodes find each other. + +* `EHCACHE_LISTENER_HOSTNAME` (default: NONE) + + The hostname of the current node for cache communication. Jira Data Center will resolve this this internally if the parameter isn't set. + +* `EHCACHE_LISTENER_PORT` (default: 40001) + + The port the node is going to be listening to. + +* `EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS` (default: 2000) + + The default timeout for the Ehcache listener. + +* `EHCACHE_MULTICAST_ADDRESS` (default: NONE) + + A valid multicast group address. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_PORT` (default: NONE) + + The dedicated port for the multicast heartbeat traffic.Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_TIMETOLIVE` (default: NONE) + + A value between 0 and 255 which determines how far the packets will propagate. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +* `EHCACHE_MULTICAST_HOSTNAME` (default: NONE) + + The hostname or IP of the interface to be used for sending and receiving multicast packets. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' insted of 'default'. + +# Upgrade + +To upgrade to a more recent version of JIRA you can simply stop the `jira` container and start a new one based on a more recent image: + + $> docker stop jira + $> docker rm jira + $> docker run ... (See above) + +As your data is stored in the data volume directory on the host it will still be available after the upgrade. + +_Note: Please make sure that you **don't** accidentally remove the `jira` container and its volumes using the `-v` option._ + +# Backup + +For evaluations you can use the built-in database that will store its files in the JIRA home directory. In that case it is sufficient to create a backup archive of the docker volume. + +If you're using an external database, you can configure JIRA to make a backup automatically each night. This will back up the current state, including the database to the `jiraVolume` docker volume, which can then be archived. Alternatively you can backup the database separately, and continue to create a backup archive of the docker volume to back up the JIRA Home directory. + +Read more about data recovery and backups: [https://confluence.atlassian.com/adminjiraserver071/backing-up-data-802592964.html](https://confluence.atlassian.com/adminjiraserver071/backing-up-data-802592964.html) + +# Versioning + +The `latest` tag matches the most recent release of Atlassian JIRA Software. Thus `epicmorg/jira:latest` will use the newest version of JIRA available. + +## Versions available + +* `epicmorg/jira:latest` +* `epicmorg/jira:7.10.0` + +# Support + +This Docker container is unsupported and is intended for illustration purposes only. diff --git a/atlassian/jira/8.5.3/entrypoint.sh b/atlassian/jira/8.5.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/atlassian/jira/8.5.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/atlassian/jira/README.md b/atlassian/jira/README.md index edb737cc1..c23895a07 100644 --- a/atlassian/jira/README.md +++ b/atlassian/jira/README.md @@ -4,5 +4,6 @@ All presented images avalible on our repo in docker hub. ## LTS releases: -* Latest version of Jira `7.13.3` +* Latest version of `Jira 8` branch is `8.5.3` +* Latest version of `Jira 7` branch is `7.13.3` diff --git a/atlassian/jira/latest/Dockerfile b/atlassian/jira/latest/Dockerfile index 06753de1a..c03ba4349 100644 --- a/atlassian/jira/latest/Dockerfile +++ b/atlassian/jira/latest/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/prod +FROM epicmorg/prod:jdk11 LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/epicmorg/devel/.docker-repository.yml b/epicmorg/devel/jdk11/.docker-repository.yml similarity index 100% rename from epicmorg/devel/.docker-repository.yml rename to epicmorg/devel/jdk11/.docker-repository.yml diff --git a/epicmorg/devel/jdk11/.dockerignore b/epicmorg/devel/jdk11/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/devel/jdk11/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/devel/jdk11/Dockerfile b/epicmorg/devel/jdk11/Dockerfile new file mode 100644 index 000000000..e97bdf420 --- /dev/null +++ b/epicmorg/devel/jdk11/Dockerfile @@ -0,0 +1,23 @@ +FROM epicmorg/devel +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java11 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ + mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/epicmorg/devel/jdk11/Makefile b/epicmorg/devel/jdk11/Makefile new file mode 100644 index 000000000..62e0280e0 --- /dev/null +++ b/epicmorg/devel/jdk11/Makefile @@ -0,0 +1,5 @@ +all: emgdev +emgdev: + docker build --compress -t epicmorg/devel:jdk11 . + docker push epicmorg/devel:jdk11 + diff --git a/epicmorg/devel/jdk8/.docker-repository.yml b/epicmorg/devel/jdk8/.docker-repository.yml new file mode 100644 index 000000000..9ab554e4d --- /dev/null +++ b/epicmorg/devel/jdk8/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/devel diff --git a/epicmorg/devel/jdk8/.dockerignore b/epicmorg/devel/jdk8/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/devel/jdk8/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/devel/jdk8/Dockerfile b/epicmorg/devel/jdk8/Dockerfile new file mode 100644 index 000000000..a9cf2ba58 --- /dev/null +++ b/epicmorg/devel/jdk8/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/devel +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java8 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-8-hotspot + + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/epicmorg/devel/jdk8/Makefile b/epicmorg/devel/jdk8/Makefile new file mode 100644 index 000000000..17f27ca0e --- /dev/null +++ b/epicmorg/devel/jdk8/Makefile @@ -0,0 +1,5 @@ +all: emgdev +emgdev: + docker build --compress -t epicmorg/devel:jdk8 . + docker push epicmorg/devel:jdk8 + diff --git a/epicmorg/devel/main/.docker-repository.yml b/epicmorg/devel/main/.docker-repository.yml new file mode 100644 index 000000000..9ab554e4d --- /dev/null +++ b/epicmorg/devel/main/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/devel diff --git a/epicmorg/devel/main/.dockerignore b/epicmorg/devel/main/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/devel/main/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/devel/Dockerfile b/epicmorg/devel/main/Dockerfile similarity index 100% rename from epicmorg/devel/Dockerfile rename to epicmorg/devel/main/Dockerfile diff --git a/epicmorg/devel/Makefile b/epicmorg/devel/main/Makefile similarity index 100% rename from epicmorg/devel/Makefile rename to epicmorg/devel/main/Makefile diff --git a/epicmorg/devel/sources.list b/epicmorg/devel/main/sources.list similarity index 100% rename from epicmorg/devel/sources.list rename to epicmorg/devel/main/sources.list diff --git a/epicmorg/prod/.docker-repository.yml b/epicmorg/prod/jdk11/.docker-repository.yml similarity index 100% rename from epicmorg/prod/.docker-repository.yml rename to epicmorg/prod/jdk11/.docker-repository.yml diff --git a/epicmorg/prod/jdk11/.dockerignore b/epicmorg/prod/jdk11/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/prod/jdk11/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/prod/jdk11/Dockerfile b/epicmorg/prod/jdk11/Dockerfile new file mode 100644 index 000000000..4601e9a69 --- /dev/null +++ b/epicmorg/prod/jdk11/Dockerfile @@ -0,0 +1,22 @@ +FROM epicmorg/prod +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java11 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ + mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/epicmorg/prod/jdk11/Makefile b/epicmorg/prod/jdk11/Makefile new file mode 100644 index 000000000..0e1191be5 --- /dev/null +++ b/epicmorg/prod/jdk11/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/prod:jdk11 . + docker push epicmorg/prod:jdk11 + diff --git a/epicmorg/prod/jdk8/.docker-repository.yml b/epicmorg/prod/jdk8/.docker-repository.yml new file mode 100644 index 000000000..1e50bcd0a --- /dev/null +++ b/epicmorg/prod/jdk8/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/prod diff --git a/epicmorg/prod/jdk8/.dockerignore b/epicmorg/prod/jdk8/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/prod/jdk8/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/prod/jdk8/Dockerfile b/epicmorg/prod/jdk8/Dockerfile new file mode 100644 index 000000000..4d5d8c7b4 --- /dev/null +++ b/epicmorg/prod/jdk8/Dockerfile @@ -0,0 +1,19 @@ +FROM epicmorg/prod +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java8 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-8-hotspot + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb diff --git a/epicmorg/prod/jdk8/Makefile b/epicmorg/prod/jdk8/Makefile new file mode 100644 index 000000000..7ee8c155f --- /dev/null +++ b/epicmorg/prod/jdk8/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/prod:jdk8 . + docker push epicmorg/prod:jdk8 + diff --git a/epicmorg/prod/main/.docker-repository.yml b/epicmorg/prod/main/.docker-repository.yml new file mode 100644 index 000000000..1e50bcd0a --- /dev/null +++ b/epicmorg/prod/main/.docker-repository.yml @@ -0,0 +1 @@ +repository: epicmorg/prod diff --git a/epicmorg/prod/main/.dockerignore b/epicmorg/prod/main/.dockerignore new file mode 100644 index 000000000..99176b278 --- /dev/null +++ b/epicmorg/prod/main/.dockerignore @@ -0,0 +1,3 @@ +.git +scripts +.idea \ No newline at end of file diff --git a/epicmorg/prod/Dockerfile b/epicmorg/prod/main/Dockerfile similarity index 61% rename from epicmorg/prod/Dockerfile rename to epicmorg/prod/main/Dockerfile index a9c4bef17..e472cfb5e 100644 --- a/epicmorg/prod/Dockerfile +++ b/epicmorg/prod/main/Dockerfile @@ -60,22 +60,6 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio wget \ zip -################################################################## -# installing java8 -################################################################## -#RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A66C5D02 && \ -# echo 'deb https://rpardini.github.io/adoptopenjdk-deb-installer stable main' > /etc/apt/sources.list.d/rpardini-aoj.list && \ -# apt-get update && \ -# apt-get install -y --allow-unauthenticated adoptopenjdk-8-installer - -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ - echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ - apt-get update && \ - apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ - mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ - ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ - ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib - ################################################################## # cleaninig up ################################################################## diff --git a/epicmorg/prod/Makefile b/epicmorg/prod/main/Makefile similarity index 100% rename from epicmorg/prod/Makefile rename to epicmorg/prod/main/Makefile diff --git a/epicmorg/prod/deb-multimedia-keyring.gpg b/epicmorg/prod/main/deb-multimedia-keyring.gpg similarity index 100% rename from epicmorg/prod/deb-multimedia-keyring.gpg rename to epicmorg/prod/main/deb-multimedia-keyring.gpg diff --git a/epicmorg/prod/locale.gen b/epicmorg/prod/main/locale.gen similarity index 100% rename from epicmorg/prod/locale.gen rename to epicmorg/prod/main/locale.gen diff --git a/epicmorg/prod/locale.gen.full b/epicmorg/prod/main/locale.gen.full similarity index 100% rename from epicmorg/prod/locale.gen.full rename to epicmorg/prod/main/locale.gen.full diff --git a/epicmorg/prod/sources.list b/epicmorg/prod/main/sources.list similarity index 100% rename from epicmorg/prod/sources.list rename to epicmorg/prod/main/sources.list diff --git a/teamcity-agent/Dockerfile b/teamcity-agent/Dockerfile index cc20494f6..ac578d7fb 100644 --- a/teamcity-agent/Dockerfile +++ b/teamcity-agent/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/devel +FROM epicmorg/devel:jdk11 LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive