diff --git a/.github/logo.png b/.github/logo.png new file mode 100644 index 000000000..1934a4a89 Binary files /dev/null and b/.github/logo.png differ diff --git a/.travis.yml b/.travis.yml index 075c10544..58f397ed4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,38 +12,38 @@ matrix: ######################################### #### Forked and fixed images ######################################### - - name: Zabbix [Agent + Java Gateway + Server with MySQL + Web Apache2 with MySQL] + - name: Zabbix Agent script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/zabbix-agent:latest zabbix/agent - docker push epicmorg/zabbix-agent:latest - + + - name: Zabbix Java Gateway + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/zabbix-java-gateway:latest zabbix/java-gateway - docker push epicmorg/zabbix-java-gateway:latest - + + - name: Zabbix Server with MySQL + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/zabbix-server-mysql:latest zabbix/server - docker push epicmorg/zabbix-server-mysql:latest - + + - name: Zabbix Web Apache2 with MySQL + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/zabbix-web-apache-mysql:latest zabbix/web - docker push epicmorg/zabbix-web-apache-mysql:latest ########## - - name: NextCloud (latest, 16, 17, 18) + - name: NextCloud (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/nextcloud:latest nextcloud/latest - docker push epicmorg/nextcloud:latest - - docker build --compress -t epicmorg/nextcloud:16 nextcloud/16 - - docker push epicmorg/nextcloud:16 - - - docker build --compress -t epicmorg/nextcloud:17 nextcloud/17 - - docker push epicmorg/nextcloud:17 - - - docker build --compress -t epicmorg/nextcloud:18 nextcloud/18 - - docker push epicmorg/nextcloud:18 - ######################################### #### Our High priority images ######################################### @@ -54,43 +54,97 @@ matrix: # - docker build --compress -t user/repo:tag path/to/folder/contains/dockerfile # - docker push user/repo:tag - - name: Base Production + JDK 8 + JDK 11 + - name: Base Production script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:latest epicmorg/prod/main - docker push epicmorg/prod:latest - + + - name: Base Production + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/prod:jdk6 epicmorg/prod/jdk6 + - docker push epicmorg/prod:jdk6 + + - name: Base Production + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/prod:jdk7 epicmorg/prod/jdk7 + - docker push epicmorg/prod:jdk7 + + - 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: Edge + JDK 8 + JDK 11 + - name: Base Edge script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:latest epicmorg/edge/main - docker push epicmorg/edge:latest - + + - name: Base Edge + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/edge:jdk6 epicmorg/edge/jdk6 + - docker push epicmorg/edge:jdk6 + + - name: Base Edge + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/edge:jdk7 epicmorg/edge/jdk7 + - docker push epicmorg/edge:jdk7 + + - name: Base Edge + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk8 epicmorg/edge/jdk8 - docker push epicmorg/edge:jdk8 - + + - name: Base Edge + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk11 epicmorg/edge/jdk11 - docker push epicmorg/edge:jdk11 ########## - - name: Base Develop + JDK 8 + JDK 11 + - name: Base Develop script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:latest epicmorg/devel/main - docker push epicmorg/devel:latest - + + - name: Base Develop + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/devel:jdk6 epicmorg/devel/jdk6 + - docker push epicmorg/devel:jdk6 + + - name: Base Develop + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/devel:jdk7 epicmorg/devel/jdk7 + - docker push epicmorg/devel:jdk7 + + - 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 @@ -114,7 +168,6 @@ matrix: - docker build --compress -t epicmorg/balancer:php balancer/php - docker push epicmorg/balancer:php -########## - name: Apache + PHP7.3 script: @@ -130,1356 +183,78 @@ matrix: ########## - - name: Bitbucket (latest) - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest - - docker push epicmorg/bitbucket:latest - - docker build --compress -t epicmorg/bitbucket:latest-jdk11 -f atlassian/bitbucket/latest/Dockerfile.jdk11 atlassian/bitbucket/latest - - docker push epicmorg/bitbucket:latest-jdk11 - - - name: Confluence (latest) + - name: PostgresSQL (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:latest atlassian/confluence/latest - - docker push epicmorg/confluence:latest - - docker build --compress -t epicmorg/confluence:latest-jdk11 -f atlassian/confluence/latest/Dockerfile.jdk11 atlassian/confluence/latest - - docker push epicmorg/confluence:latest-jdk11 + - docker build --compress -t epicmorg/postgres:latest postgres/latest + - docker push epicmorg/postgres:latest - - name: Jira (latest) - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:latest atlassian/jira/latest - - docker push epicmorg/jira:latest - - docker build --compress -t epicmorg/jira:latest-jdk11 -f atlassian/jira/latest/Dockerfile.jdk11 atlassian/jira/latest - - docker push epicmorg/jira:latest-jdk11 - - ########## - - name: qBitTorrent [latest + unstable + stable] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/qbittorrent:latest qbittorrent/latest - - docker push epicmorg/qbittorrent:latest - - - docker build --compress -t epicmorg/qbittorrent:unstable qbittorrent/latest - - docker push epicmorg/qbittorrent:unstable - - - docker build --compress -t epicmorg/qbittorrent:stable qbittorrent/stable - - docker push epicmorg/qbittorrent:stable - -######################################### -#### Our Bitbucket images -######################################### +########## - - name: Bitbucket 6.0.x [default jdk8 + tag jdk11] + - name: Bitbucket + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.0.0 atlassian/bitbucket/6.0.0 - - docker push epicmorg/bitbucket:6.0.0 - - docker build --compress -t epicmorg/bitbucket:6.0.0-jdk11 -f atlassian/bitbucket/6.0.0/Dockerfile.jdk11 atlassian/bitbucket/6.0.0 - - docker push epicmorg/bitbucket:6.0.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.1 atlassian/bitbucket/6.0.1 - - docker push epicmorg/bitbucket:6.0.1 - - docker build --compress -t epicmorg/bitbucket:6.0.1-jdk11 -f atlassian/bitbucket/6.0.1/Dockerfile.jdk11 atlassian/bitbucket/6.0.1 - - docker push epicmorg/bitbucket:6.0.1-jdk11 + - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest + - docker push epicmorg/bitbucket:latest - - docker build --compress -t epicmorg/bitbucket:6.0.2 atlassian/bitbucket/6.0.2 - - docker push epicmorg/bitbucket:6.0.2 - - docker build --compress -t epicmorg/bitbucket:6.0.2-jdk11 -f atlassian/bitbucket/6.0.2/Dockerfile.jdk11 atlassian/bitbucket/6.0.2 - - docker push epicmorg/bitbucket:6.0.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.3 atlassian/bitbucket/6.0.3 - - docker push epicmorg/bitbucket:6.0.3 - - docker build --compress -t epicmorg/bitbucket:6.0.3-jdk11 -f atlassian/bitbucket/6.0.3/Dockerfile.jdk11 atlassian/bitbucket/6.0.3 - - docker push epicmorg/bitbucket:6.0.3-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.4 atlassian/bitbucket/6.0.4 - - docker push epicmorg/bitbucket:6.0.4 - - docker build --compress -t epicmorg/bitbucket:6.0.4-jdk11 -f atlassian/bitbucket/6.0.4/Dockerfile.jdk11 atlassian/bitbucket/6.0.4 - - docker push epicmorg/bitbucket:6.0.4-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.5 atlassian/bitbucket/6.0.5 - - docker push epicmorg/bitbucket:6.0.5 - - docker build --compress -t epicmorg/bitbucket:6.0.5-jdk11 -f atlassian/bitbucket/6.0.5/Dockerfile.jdk11 atlassian/bitbucket/6.0.5 - - docker push epicmorg/bitbucket:6.0.5-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.6 atlassian/bitbucket/6.0.6 - - docker push epicmorg/bitbucket:6.0.6 - - docker build --compress -t epicmorg/bitbucket:6.0.6-jdk11 -f atlassian/bitbucket/6.0.6/Dockerfile.jdk11 atlassian/bitbucket/6.0.6 - - docker push epicmorg/bitbucket:6.0.6-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.7 atlassian/bitbucket/6.0.7 - - docker push epicmorg/bitbucket:6.0.7 - - docker build --compress -t epicmorg/bitbucket:6.0.7-jdk11 -f atlassian/bitbucket/6.0.7/Dockerfile.jdk11 atlassian/bitbucket/6.0.7 - - docker push epicmorg/bitbucket:6.0.7-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.9 atlassian/bitbucket/6.0.9 - - docker push epicmorg/bitbucket:6.0.9 - - docker build --compress -t epicmorg/bitbucket:6.0.9-jdk11 -f atlassian/bitbucket/6.0.9/Dockerfile.jdk11 atlassian/bitbucket/6.0.9 - - docker push epicmorg/bitbucket:6.0.9-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.10 atlassian/bitbucket/6.0.10 - - docker push epicmorg/bitbucket:6.0.10 - - docker build --compress -t epicmorg/bitbucket:6.0.10-jdk11 -f atlassian/bitbucket/6.0.10/Dockerfile.jdk11 atlassian/bitbucket/6.0.10 - - docker push epicmorg/bitbucket:6.0.10-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.0.11 atlassian/bitbucket/6.0.11 - - docker push epicmorg/bitbucket:6.0.11 - - docker build --compress -t epicmorg/bitbucket:6.0.11-jdk11 -f atlassian/bitbucket/6.0.11/Dockerfile.jdk11 atlassian/bitbucket/6.0.11 - - docker push epicmorg/bitbucket:6.0.11-jdk11 - -########## - - - name: Bitbucket 6.1.x [default jdk8 + tag jdk11] + - name: Bitbucket + JDK 11 (latest-jdk11) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.1.0 atlassian/bitbucket/6.1.0 - - docker push epicmorg/bitbucket:6.1.0 - - docker build --compress -t epicmorg/bitbucket:6.1.0-jdk11 -f atlassian/bitbucket/6.1.0/Dockerfile.jdk11 atlassian/bitbucket/6.1.0 - - docker push epicmorg/bitbucket:6.1.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.1 atlassian/bitbucket/6.1.1 - - docker push epicmorg/bitbucket:6.1.1 - - docker build --compress -t epicmorg/bitbucket:6.1.1-jdk11 -f atlassian/bitbucket/6.1.1/Dockerfile.jdk11 atlassian/bitbucket/6.1.1 - - docker push epicmorg/bitbucket:6.1.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.2 atlassian/bitbucket/6.1.2 - - docker push epicmorg/bitbucket:6.1.2 - - docker build --compress -t epicmorg/bitbucket:6.1.2-jdk11 -f atlassian/bitbucket/6.1.2/Dockerfile.jdk11 atlassian/bitbucket/6.1.2 - - docker push epicmorg/bitbucket:6.1.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.3 atlassian/bitbucket/6.1.3 - - docker push epicmorg/bitbucket:6.1.3 - - docker build --compress -t epicmorg/bitbucket:6.1.3-jdk11 -f atlassian/bitbucket/6.1.3/Dockerfile.jdk11 atlassian/bitbucket/6.1.3 - - docker push epicmorg/bitbucket:6.1.3-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.4 atlassian/bitbucket/6.1.4 - - docker push epicmorg/bitbucket:6.1.4 - - docker build --compress -t epicmorg/bitbucket:6.1.4-jdk11 -f atlassian/bitbucket/6.1.4/Dockerfile.jdk11 atlassian/bitbucket/6.1.4 - - docker push epicmorg/bitbucket:6.1.4-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.5 atlassian/bitbucket/6.1.5 - - docker push epicmorg/bitbucket:6.1.5 - - docker build --compress -t epicmorg/bitbucket:6.1.5-jdk11 -f atlassian/bitbucket/6.1.5/Dockerfile.jdk11 atlassian/bitbucket/6.1.5 - - docker push epicmorg/bitbucket:6.1.5-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.6 atlassian/bitbucket/6.1.6 - - docker push epicmorg/bitbucket:6.1.6 - - docker build --compress -t epicmorg/bitbucket:6.1.6-jdk11 -f atlassian/bitbucket/6.1.6/Dockerfile.jdk11 atlassian/bitbucket/6.1.6 - - docker push epicmorg/bitbucket:6.1.6-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.7 atlassian/bitbucket/6.1.7 - - docker push epicmorg/bitbucket:6.1.7 - - docker build --compress -t epicmorg/bitbucket:6.1.7-jdk11 -f atlassian/bitbucket/6.1.7/Dockerfile.jdk11 atlassian/bitbucket/6.1.7 - - docker push epicmorg/bitbucket:6.1.7-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.8 atlassian/bitbucket/6.1.8 - - docker push epicmorg/bitbucket:6.1.8 - - docker build --compress -t epicmorg/bitbucket:6.1.8-jdk11 -f atlassian/bitbucket/6.1.8/Dockerfile.jdk11 atlassian/bitbucket/6.1.8 - - docker push epicmorg/bitbucket:6.1.8-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.1.9 atlassian/bitbucket/6.1.9 - - docker push epicmorg/bitbucket:6.1.9 - - docker build --compress -t epicmorg/bitbucket:6.1.9-jdk11 -f atlassian/bitbucket/6.1.9/Dockerfile.jdk11 atlassian/bitbucket/6.1.9 - - docker push epicmorg/bitbucket:6.1.9-jdk11 - -########## + - docker build --compress -t epicmorg/bitbucket:latest-jdk11 -f atlassian/bitbucket/latest/Dockerfile.jdk11 atlassian/bitbucket/latest + - docker push epicmorg/bitbucket:latest-jdk11 - - name: Bitbucket 6.2.x [default jdk8 + tag jdk11] + - name: Confluence + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.2.0 atlassian/bitbucket/6.2.0 - - docker push epicmorg/bitbucket:6.2.0 - - docker build --compress -t epicmorg/bitbucket:6.2.0-jdk11 -f atlassian/bitbucket/6.2.0/Dockerfile.jdk11 atlassian/bitbucket/6.2.0 - - docker push epicmorg/bitbucket:6.2.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.1 atlassian/bitbucket/6.2.1 - - docker push epicmorg/bitbucket:6.2.1 - - docker build --compress -t epicmorg/bitbucket:6.2.1-jdk11 -f atlassian/bitbucket/6.2.1/Dockerfile.jdk11 atlassian/bitbucket/6.2.1 - - docker push epicmorg/bitbucket:6.2.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.2 atlassian/bitbucket/6.2.2 - - docker push epicmorg/bitbucket:6.2.2 - - docker build --compress -t epicmorg/bitbucket:6.2.2-jdk11 -f atlassian/bitbucket/6.2.2/Dockerfile.jdk11 atlassian/bitbucket/6.2.2 - - docker push epicmorg/bitbucket:6.2.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.3 atlassian/bitbucket/6.2.3 - - docker push epicmorg/bitbucket:6.2.3 - - docker build --compress -t epicmorg/bitbucket:6.2.3-jdk11 -f atlassian/bitbucket/6.2.3/Dockerfile.jdk11 atlassian/bitbucket/6.2.3 - - docker push epicmorg/bitbucket:6.2.3-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.4 atlassian/bitbucket/6.2.4 - - docker push epicmorg/bitbucket:6.2.4 - - docker build --compress -t epicmorg/bitbucket:6.2.4-jdk11 -f atlassian/bitbucket/6.2.4/Dockerfile.jdk11 atlassian/bitbucket/6.2.4 - - docker push epicmorg/bitbucket:6.2.4-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.5 atlassian/bitbucket/6.2.5 - - docker push epicmorg/bitbucket:6.2.5 - - docker build --compress -t epicmorg/bitbucket:6.2.5-jdk11 -f atlassian/bitbucket/6.2.5/Dockerfile.jdk11 atlassian/bitbucket/6.2.5 - - docker push epicmorg/bitbucket:6.2.5-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.6 atlassian/bitbucket/6.2.6 - - docker push epicmorg/bitbucket:6.2.6 - - docker build --compress -t epicmorg/bitbucket:6.2.6-jdk11 -f atlassian/bitbucket/6.2.6/Dockerfile.jdk11 atlassian/bitbucket/6.2.6 - - docker push epicmorg/bitbucket:6.2.6-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.2.7 atlassian/bitbucket/6.2.7 - - docker push epicmorg/bitbucket:6.2.7 - - docker build --compress -t epicmorg/bitbucket:6.2.7-jdk11 -f atlassian/bitbucket/6.2.7/Dockerfile.jdk11 atlassian/bitbucket/6.2.7 - - docker push epicmorg/bitbucket:6.2.7-jdk11 - -########## + - docker build --compress -t epicmorg/confluence:latest atlassian/confluence/latest + - docker push epicmorg/confluence:latest - - name: Bitbucket 6.3.x [default jdk8 + tag jdk11] + - name: Confluence + JDK 11 (latest-jdk11) script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.3.0 atlassian/bitbucket/6.3.0 - - docker push epicmorg/bitbucket:6.3.0 - - docker build --compress -t epicmorg/bitbucket:6.3.0-jdk11 -f atlassian/bitbucket/6.3.0/Dockerfile.jdk11 atlassian/bitbucket/6.3.0 - - docker push epicmorg/bitbucket:6.3.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.1 atlassian/bitbucket/6.3.1 - - docker push epicmorg/bitbucket:6.3.1 - - docker build --compress -t epicmorg/bitbucket:6.3.1-jdk11 -f atlassian/bitbucket/6.3.1/Dockerfile.jdk11 atlassian/bitbucket/6.3.1 - - docker push epicmorg/bitbucket:6.3.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.2 atlassian/bitbucket/6.3.2 - - docker push epicmorg/bitbucket:6.3.2 - - docker build --compress -t epicmorg/bitbucket:6.3.2-jdk11 -f atlassian/bitbucket/6.3.2/Dockerfile.jdk11 atlassian/bitbucket/6.3.2 - - docker push epicmorg/bitbucket:6.3.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.3 atlassian/bitbucket/6.3.3 - - docker push epicmorg/bitbucket:6.3.3 - - docker build --compress -t epicmorg/bitbucket:6.3.3-jdk11 -f atlassian/bitbucket/6.3.3/Dockerfile.jdk11 atlassian/bitbucket/6.3.3 - - docker push epicmorg/bitbucket:6.3.3-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.4 atlassian/bitbucket/6.3.4 - - docker push epicmorg/bitbucket:6.3.4 - - docker build --compress -t epicmorg/bitbucket:6.3.4-jdk11 -f atlassian/bitbucket/6.3.4/Dockerfile.jdk11 atlassian/bitbucket/6.3.4 - - docker push epicmorg/bitbucket:6.3.4-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.5 atlassian/bitbucket/6.3.5 - - docker push epicmorg/bitbucket:6.3.5 - - docker build --compress -t epicmorg/bitbucket:6.3.5-jdk11 -f atlassian/bitbucket/6.3.5/Dockerfile.jdk11 atlassian/bitbucket/6.3.5 - - docker push epicmorg/bitbucket:6.3.5-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.3.6 atlassian/bitbucket/6.3.6 - - docker push epicmorg/bitbucket:6.3.6 - - docker build --compress -t epicmorg/bitbucket:6.3.6-jdk11 -f atlassian/bitbucket/6.3.6/Dockerfile.jdk11 atlassian/bitbucket/6.3.6 - - docker push epicmorg/bitbucket:6.3.6-jdk11 - -########## + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/confluence:latest-jdk11 -f atlassian/confluence/latest/Dockerfile.jdk11 atlassian/confluence/latest + - docker push epicmorg/confluence:latest-jdk11 - - name: Bitbucket 6.4.x [default jdk8 + tag jdk11] + - name: Jira + JDK 8 (latest) script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.4.0 atlassian/bitbucket/6.4.0 - - docker push epicmorg/bitbucket:6.4.0 - - docker build --compress -t epicmorg/bitbucket:6.4.0-jdk11 -f atlassian/bitbucket/6.4.0/Dockerfile.jdk11 atlassian/bitbucket/6.4.0 - - docker push epicmorg/bitbucket:6.4.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.4.1 atlassian/bitbucket/6.4.1 - - docker push epicmorg/bitbucket:6.4.1 - - docker build --compress -t epicmorg/bitbucket:6.4.1-jdk11 -f atlassian/bitbucket/6.4.1/Dockerfile.jdk11 atlassian/bitbucket/6.4.1 - - docker push epicmorg/bitbucket:6.4.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.4.2 atlassian/bitbucket/6.4.2 - - docker push epicmorg/bitbucket:6.4.2 - - docker build --compress -t epicmorg/bitbucket:6.4.2-jdk11 -f atlassian/bitbucket/6.4.2/Dockerfile.jdk11 atlassian/bitbucket/6.4.2 - - docker push epicmorg/bitbucket:6.4.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.4.3 atlassian/bitbucket/6.4.3 - - docker push epicmorg/bitbucket:6.4.3 - - docker build --compress -t epicmorg/bitbucket:6.4.3-jdk11 -f atlassian/bitbucket/6.4.3/Dockerfile.jdk11 atlassian/bitbucket/6.4.3 - - docker push epicmorg/bitbucket:6.4.3-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.4.4 atlassian/bitbucket/6.4.4 - - docker push epicmorg/bitbucket:6.4.4 - - docker build --compress -t epicmorg/bitbucket:6.4.4-jdk11 -f atlassian/bitbucket/6.4.4/Dockerfile.jdk11 atlassian/bitbucket/6.4.4 - - docker push epicmorg/bitbucket:6.4.4-jdk11 - -########## - - - name: Bitbucket 6.5.x [default jdk8 + tag jdk11] + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/jira:latest atlassian/jira/latest + - docker push epicmorg/jira:latest + + - name: Jira + JDK 11 (latest-jdk11) script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.5.0 atlassian/bitbucket/6.5.0 - - docker push epicmorg/bitbucket:6.5.0 - - docker build --compress -t epicmorg/bitbucket:6.5.0-jdk11 -f atlassian/bitbucket/6.5.0/Dockerfile.jdk11 atlassian/bitbucket/6.5.0 - - docker push epicmorg/bitbucket:6.5.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.5.1 atlassian/bitbucket/6.5.1 - - docker push epicmorg/bitbucket:6.5.1 - - docker build --compress -t epicmorg/bitbucket:6.5.1-jdk11 -f atlassian/bitbucket/6.5.1/Dockerfile.jdk11 atlassian/bitbucket/6.5.1 - - docker push epicmorg/bitbucket:6.5.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.5.2 atlassian/bitbucket/6.5.2 - - docker push epicmorg/bitbucket:6.5.2 - - docker build --compress -t epicmorg/bitbucket:6.5.2-jdk11 -f atlassian/bitbucket/6.5.2/Dockerfile.jdk11 atlassian/bitbucket/6.5.2 - - docker push epicmorg/bitbucket:6.5.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.5.3 atlassian/bitbucket/6.5.3 - - docker push epicmorg/bitbucket:6.5.3 - - docker build --compress -t epicmorg/bitbucket:6.5.3-jdk11 -f atlassian/bitbucket/6.5.3/Dockerfile.jdk11 atlassian/bitbucket/6.5.3 - - docker push epicmorg/bitbucket:6.5.3-jdk11 - -########## + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - docker build --compress -t epicmorg/jira:latest-jdk11 -f atlassian/jira/latest/Dockerfile.jdk11 atlassian/jira/latest + - docker push epicmorg/jira:latest-jdk11 - - name: Bitbucket 6.6.x [default jdk8 + tag jdk11] + - name: Postgres (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.6.0 atlassian/bitbucket/6.6.0 - - docker push epicmorg/bitbucket:6.6.0 - - docker build --compress -t epicmorg/bitbucket:6.6.0-jdk11 -f atlassian/bitbucket/6.6.0/Dockerfile.jdk11 atlassian/bitbucket/6.6.0 - - docker push epicmorg/bitbucket:6.6.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.6.1 atlassian/bitbucket/6.6.1 - - docker push epicmorg/bitbucket:6.6.1 - - docker build --compress -t epicmorg/bitbucket:6.6.1-jdk11 -f atlassian/bitbucket/6.6.1/Dockerfile.jdk11 atlassian/bitbucket/6.6.1 - - docker push epicmorg/bitbucket:6.6.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.6.2 atlassian/bitbucket/6.6.2 - - docker push epicmorg/bitbucket:6.6.2 - - docker build --compress -t epicmorg/bitbucket:6.6.2-jdk11 -f atlassian/bitbucket/6.6.2/Dockerfile.jdk11 atlassian/bitbucket/6.6.2 - - docker push epicmorg/bitbucket:6.6.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.6.3 atlassian/bitbucket/6.6.3 - - docker push epicmorg/bitbucket:6.6.3 - - docker build --compress -t epicmorg/bitbucket:6.6.3-jdk11 -f atlassian/bitbucket/6.6.3/Dockerfile.jdk11 atlassian/bitbucket/6.6.3 - - docker push epicmorg/bitbucket:6.6.3-jdk11 + - docker build --compress -t epicmorg/postgres:latest postgres/latest + - docker push epicmorg/postgres:latest -########## + ########## - - name: Bitbucket 6.7.x [default jdk8 + tag jdk11] + - name: qBitTorrent (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.7.0 atlassian/bitbucket/6.7.0 - - docker push epicmorg/bitbucket:6.7.0 - - docker build --compress -t epicmorg/bitbucket:6.7.0-jdk11 -f atlassian/bitbucket/6.7.0/Dockerfile.jdk11 atlassian/bitbucket/6.7.0 - - docker push epicmorg/bitbucket:6.7.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.7.1 atlassian/bitbucket/6.7.1 - - docker push epicmorg/bitbucket:6.7.1 - - docker build --compress -t epicmorg/bitbucket:6.7.1-jdk11 -f atlassian/bitbucket/6.7.1/Dockerfile.jdk11 atlassian/bitbucket/6.7.1 - - docker push epicmorg/bitbucket:6.7.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.7.2 atlassian/bitbucket/6.7.2 - - docker push epicmorg/bitbucket:6.7.2 - - docker build --compress -t epicmorg/bitbucket:6.7.2-jdk11 -f atlassian/bitbucket/6.7.2/Dockerfile.jdk11 atlassian/bitbucket/6.7.2 - - docker push epicmorg/bitbucket:6.7.2-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.7.3 atlassian/bitbucket/6.7.3 - - docker push epicmorg/bitbucket:6.7.3 - - docker build --compress -t epicmorg/bitbucket:6.7.3-jdk11 -f atlassian/bitbucket/6.7.3/Dockerfile.jdk11 atlassian/bitbucket/6.7.3 - - docker push epicmorg/bitbucket:6.7.3-jdk11 - -########## + - docker build --compress -t epicmorg/qbittorrent:latest qbittorrent/latest + - docker push epicmorg/qbittorrent:latest - - name: Bitbucket 6.8.x [default jdk8 + tag jdk11] + - name: qBitTorrent (unstable) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.8.0 atlassian/bitbucket/6.8.0 - - docker push epicmorg/bitbucket:6.8.0 - - docker build --compress -t epicmorg/bitbucket:6.8.0-jdk11 -f atlassian/bitbucket/6.8.0/Dockerfile.jdk11 atlassian/bitbucket/6.8.0 - - docker push epicmorg/bitbucket:6.8.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.8.1 atlassian/bitbucket/6.8.1 - - docker push epicmorg/bitbucket:6.8.1 - - docker build --compress -t epicmorg/bitbucket:6.8.1-jdk11 -f atlassian/bitbucket/6.8.1/Dockerfile.jdk11 atlassian/bitbucket/6.8.1 - - docker push epicmorg/bitbucket:6.8.1-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.8.2 atlassian/bitbucket/6.8.2 - - docker push epicmorg/bitbucket:6.8.2 - - docker build --compress -t epicmorg/bitbucket:6.8.2-jdk11 -f atlassian/bitbucket/6.8.2/Dockerfile.jdk11 atlassian/bitbucket/6.8.2 - - docker push epicmorg/bitbucket:6.8.2-jdk11 - -########## + - docker build --compress -t epicmorg/qbittorrent:unstable qbittorrent/latest + - docker push epicmorg/qbittorrent:unstable - - name: Bitbucket 6.9.x [default jdk8 + tag jdk11] + - name: qBitTorrent (stable) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.9.0 atlassian/bitbucket/6.9.0 - - docker push epicmorg/bitbucket:6.9.0 - - docker build --compress -t epicmorg/bitbucket:6.9.0-jdk11 -f atlassian/bitbucket/6.9.0/Dockerfile.jdk11 atlassian/bitbucket/6.9.0 - - docker push epicmorg/bitbucket:6.9.0-jdk11 - - - docker build --compress -t epicmorg/bitbucket:6.9.1 atlassian/bitbucket/6.9.1 - - docker push epicmorg/bitbucket:6.9.1 - - docker build --compress -t epicmorg/bitbucket:6.9.1-jdk11 -f atlassian/bitbucket/6.9.1/Dockerfile.jdk11 atlassian/bitbucket/6.9.1 - - docker push epicmorg/bitbucket:6.9.1-jdk11 + - docker build --compress -t epicmorg/qbittorrent:stable qbittorrent/stable + - docker push epicmorg/qbittorrent:stable -########## - - - name: Bitbucket 6.10.x LTS [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:6.10.0 atlassian/bitbucket/6.10.0 - - docker push epicmorg/bitbucket:6.10.0 - - docker build --compress -t epicmorg/bitbucket:6.10.0-jdk11 -f atlassian/bitbucket/6.10.0/Dockerfile.jdk11 atlassian/bitbucket/6.10.0 - - docker push epicmorg/bitbucket:6.10.0-jdk11 - ######################################### -#### Our Confluence images +#### Our minor priority images ######################################### - - name: Confluence 6.0.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.0.1 atlassian/confluence/6.0.1 - - docker push epicmorg/confluence:6.0.1 - - - docker build --compress -t epicmorg/confluence:6.0.2 atlassian/confluence/6.0.2 - - docker push epicmorg/confluence:6.0.2 - - - docker build --compress -t epicmorg/confluence:6.0.3 atlassian/confluence/6.0.3 - - docker push epicmorg/confluence:6.0.3 - - - docker build --compress -t epicmorg/confluence:6.0.4 atlassian/confluence/6.0.4 - - docker push epicmorg/confluence:6.0.4 - - - docker build --compress -t epicmorg/confluence:6.0.5 atlassian/confluence/6.0.5 - - docker push epicmorg/confluence:6.0.1 - - - docker build --compress -t epicmorg/confluence:6.0.6 atlassian/confluence/6.0.6 - - docker push epicmorg/confluence:6.0.1 - - - docker build --compress -t epicmorg/confluence:6.0.7 atlassian/confluence/6.0.7 - - docker push epicmorg/confluence:6.0.7 - -########## - - - name: Confluence 6.1.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.1.0 atlassian/confluence/6.1.0 - - docker push epicmorg/confluence:6.1.0 - - - docker build --compress -t epicmorg/confluence:6.1.1 atlassian/confluence/6.1.1 - - docker push epicmorg/confluence:6.1.1 - - - docker build --compress -t epicmorg/confluence:6.1.2 atlassian/confluence/6.1.2 - - docker push epicmorg/confluence:6.1.2 - - - docker build --compress -t epicmorg/confluence:6.1.3 atlassian/confluence/6.1.3 - - docker push epicmorg/confluence:6.1.3 - - - docker build --compress -t epicmorg/confluence:6.1.4 atlassian/confluence/6.1.4 - - docker push epicmorg/confluence:6.1.4 - -########## - - - name: Confluence 6.2.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.2.0 atlassian/confluence/6.2.0 - - docker push epicmorg/confluence:6.2.0 - - - docker build --compress -t epicmorg/confluence:6.2.1 atlassian/confluence/6.2.1 - - docker push epicmorg/confluence:6.2.1 - - - docker build --compress -t epicmorg/confluence:6.2.3 atlassian/confluence/6.2.3 - - docker push epicmorg/confluence:6.2.3 - - - docker build --compress -t epicmorg/confluence:6.2.4 atlassian/confluence/6.2.4 - - docker push epicmorg/confluence:6.2.4 - -########## - - - name: Confluence 6.3.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.3.1 atlassian/confluence/6.3.1 - - docker push epicmorg/confluence:6.3.1 - - - docker build --compress -t epicmorg/confluence:6.3.2 atlassian/confluence/6.3.2 - - docker push epicmorg/confluence:6.3.2 - - - docker build --compress -t epicmorg/confluence:6.3.3 atlassian/confluence/6.3.3 - - docker push epicmorg/confluence:6.3.3 - - - docker build --compress -t epicmorg/confluence:6.3.4 atlassian/confluence/6.3.4 - - docker push epicmorg/confluence:6.3.4 - -########## - - - name: Confluence 6.4.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.4.0 atlassian/confluence/6.4.0 - - docker push epicmorg/confluence:6.4.0 - - - docker build --compress -t epicmorg/confluence:6.4.1 atlassian/confluence/6.4.1 - - docker push epicmorg/confluence:6.4.1 - - - docker build --compress -t epicmorg/confluence:6.4.2 atlassian/confluence/6.4.2 - - docker push epicmorg/confluence:6.4.2 - - - docker build --compress -t epicmorg/confluence:6.4.3 atlassian/confluence/6.4.3 - - docker push epicmorg/confluence:6.4.3 - -########## - - - name: Confluence 6.5.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.5.0 atlassian/confluence/6.5.0 - - docker push epicmorg/confluence:6.5.0 - - - docker build --compress -t epicmorg/confluence:6.5.1 atlassian/confluence/6.5.1 - - docker push epicmorg/confluence:6.5.1 - - - docker build --compress -t epicmorg/confluence:6.5.2 atlassian/confluence/6.5.2 - - docker push epicmorg/confluence:6.5.2 - - - docker build --compress -t epicmorg/confluence:6.5.3 atlassian/confluence/6.5.3 - - docker push epicmorg/confluence:6.5.3 - -########## - - - name: Confluence 6.6.x LTS - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.6.0 atlassian/confluence/6.6.0 - - docker push epicmorg/confluence:6.6.0 - - - docker build --compress -t epicmorg/confluence:6.6.1 atlassian/confluence/6.6.1 - - docker push epicmorg/confluence:6.6.1 - - - docker build --compress -t epicmorg/confluence:6.6.2 atlassian/confluence/6.6.2 - - docker push epicmorg/confluence:6.6.2 - - - docker build --compress -t epicmorg/confluence:6.6.3 atlassian/confluence/6.6.3 - - docker push epicmorg/confluence:6.6.3 - - - docker build --compress -t epicmorg/confluence:6.6.4 atlassian/confluence/6.6.4 - - docker push epicmorg/confluence:6.6.4 - - - docker build --compress -t epicmorg/confluence:6.6.5 atlassian/confluence/6.6.5 - - docker push epicmorg/confluence:6.6.5 - - - docker build --compress -t epicmorg/confluence:6.6.6 atlassian/confluence/6.6.6 - - docker push epicmorg/confluence:6.6.6 - - - docker build --compress -t epicmorg/confluence:6.6.7 atlassian/confluence/6.6.7 - - docker push epicmorg/confluence:6.6.7 - - - docker build --compress -t epicmorg/confluence:6.6.8 atlassian/confluence/6.6.8 - - docker push epicmorg/confluence:6.6.8 - - - docker build --compress -t epicmorg/confluence:6.6.9 atlassian/confluence/6.6.9 - - docker push epicmorg/confluence:6.6.9 - - - docker build --compress -t epicmorg/confluence:6.6.10 atlassian/confluence/6.6.10 - - docker push epicmorg/confluence:6.6.10 - - - docker build --compress -t epicmorg/confluence:6.6.11 atlassian/confluence/6.6.11 - - docker push epicmorg/confluence:6.6.11 - - - docker build --compress -t epicmorg/confluence:6.6.12 atlassian/confluence/6.6.12 - - docker push epicmorg/confluence:6.6.12 - - - docker build --compress -t epicmorg/confluence:6.6.13 atlassian/confluence/6.6.13 - - docker push epicmorg/confluence:6.6.13 - - - docker build --compress -t epicmorg/confluence:6.6.14 atlassian/confluence/6.6.14 - - docker push epicmorg/confluence:6.6.14 - - - docker build --compress -t epicmorg/confluence:6.6.15 atlassian/confluence/6.6.15 - - docker push epicmorg/confluence:6.6.15 - - - docker build --compress -t epicmorg/confluence:6.6.17 atlassian/confluence/6.6.17 - - docker push epicmorg/confluence:6.6.17 - -########## - - - name: Confluence 6.7.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.7.0 atlassian/confluence/6.7.0 - - docker push epicmorg/confluence:6.7.0 - - - docker build --compress -t epicmorg/confluence:6.7.1 atlassian/confluence/6.7.1 - - docker push epicmorg/confluence:6.7.1 - - - docker build --compress -t epicmorg/confluence:6.7.2 atlassian/confluence/6.7.2 - - docker push epicmorg/confluence:6.7.2 - - - docker build --compress -t epicmorg/confluence:6.7.3 atlassian/confluence/6.7.3 - - docker push epicmorg/confluence:6.7.3 - -########## - - - name: Confluence 6.8.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - docker build --compress -t epicmorg/confluence:6.8.0 atlassian/confluence/6.8.0 - - docker push epicmorg/confluence:6.8.0 - - - docker build --compress -t epicmorg/confluence:6.8.1 atlassian/confluence/6.8.1 - - docker push epicmorg/confluence:6.8.1 - - - docker build --compress -t epicmorg/confluence:6.8.2 atlassian/confluence/6.8.2 - - docker push epicmorg/confluence:6.8.2 - - - docker build --compress -t epicmorg/confluence:6.8.3 atlassian/confluence/6.8.3 - - docker push epicmorg/confluence:6.8.3 - - - docker build --compress -t epicmorg/confluence:6.8.5 atlassian/confluence/6.8.5 - - docker push epicmorg/confluence:6.8.5 - -########## - - - name: Confluence 6.9.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.9.0 atlassian/confluence/6.9.0 - - docker push epicmorg/confluence:6.9.0 - - - docker build --compress -t epicmorg/confluence:6.9.1 atlassian/confluence/6.9.1 - - docker push epicmorg/confluence:6.9.1 - - - docker build --compress -t epicmorg/confluence:6.9.3 atlassian/confluence/6.9.3 - - docker push epicmorg/confluence:6.9.3 - -########## - - - name: Confluence 6.10.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.10.0 atlassian/confluence/6.10.0 - - docker push epicmorg/confluence:6.10.0 - - - docker build --compress -t epicmorg/confluence:6.10.1 atlassian/confluence/6.10.1 - - docker push epicmorg/confluence:6.10.1 - - - docker build --compress -t epicmorg/confluence:6.10.2 atlassian/confluence/6.10.2 - - docker push epicmorg/confluence:6.10.2 - - - docker build --compress -t epicmorg/confluence:6.10.3 atlassian/confluence/6.10.3 - - docker push epicmorg/confluence:6.10.3 - -########## - - - name: Confluence 6.11.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.11.0 atlassian/confluence/6.11.0 - - docker push epicmorg/confluence:6.11.0 - - - docker build --compress -t epicmorg/confluence:6.11.1 atlassian/confluence/6.11.1 - - docker push epicmorg/confluence:6.11.1 - - - docker build --compress -t epicmorg/confluence:6.11.2 atlassian/confluence/6.11.2 - - docker push epicmorg/confluence:6.11.2 - -########## - - - name: Confluence 6.12.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.12.0 atlassian/confluence/6.12.0 - - docker push epicmorg/confluence:6.12.0 - - - docker build --compress -t epicmorg/confluence:6.12.1 atlassian/confluence/6.12.1 - - docker push epicmorg/confluence:6.12.1 - - - docker build --compress -t epicmorg/confluence:6.12.2 atlassian/confluence/6.12.2 - - docker push epicmorg/confluence:6.12.2 - - - docker build --compress -t epicmorg/confluence:6.12.3 atlassian/confluence/6.12.3 - - docker push epicmorg/confluence:6.12.3 - - - docker build --compress -t epicmorg/confluence:6.12.4 atlassian/confluence/6.12.4 - - docker push epicmorg/confluence:6.12.4 - -########## - - - name: Confluence 6.13.x LTS - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.13.0 atlassian/confluence/6.13.0 - - docker push epicmorg/confluence:6.13.0 - - - docker build --compress -t epicmorg/confluence:6.13.1 atlassian/confluence/6.13.1 - - docker push epicmorg/confluence:6.13.1 - - - docker build --compress -t epicmorg/confluence:6.13.2 atlassian/confluence/6.13.2 - - docker push epicmorg/confluence:6.13.2 - - - docker build --compress -t epicmorg/confluence:6.13.3 atlassian/confluence/6.13.3 - - docker push epicmorg/confluence:6.13.3 - - - docker build --compress -t epicmorg/confluence:6.13.4 atlassian/confluence/6.13.4 - - docker push epicmorg/confluence:6.13.4 - - - docker build --compress -t epicmorg/confluence:6.13.5 atlassian/confluence/6.13.5 - - docker push epicmorg/confluence:6.13.5 - - - docker build --compress -t epicmorg/confluence:6.13.6 atlassian/confluence/6.13.6 - - docker push epicmorg/confluence:6.13.6 - - - docker build --compress -t epicmorg/confluence:6.13.7 atlassian/confluence/6.13.7 - - docker push epicmorg/confluence:6.13.7 - - - docker build --compress -t epicmorg/confluence:6.13.8 atlassian/confluence/6.13.8 - - docker push epicmorg/confluence:6.13.8 - - - docker build --compress -t epicmorg/confluence:6.13.9 atlassian/confluence/6.13.9 - - docker push epicmorg/confluence:6.13.9 - - - docker build --compress -t epicmorg/confluence:6.13.10 atlassian/confluence/6.13.10 - - docker push epicmorg/confluence:6.13.10 - -########## - - - name: Confluence 6.14.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.14.0 atlassian/confluence/6.14.0 - - docker push epicmorg/confluence:6.14.0 - - - docker build --compress -t epicmorg/confluence:6.14.1 atlassian/confluence/6.14.1 - - docker push epicmorg/confluence:6.14.1 - - - docker build --compress -t epicmorg/confluence:6.14.2 atlassian/confluence/6.14.2 - - docker push epicmorg/confluence:6.14.2 - - - docker build --compress -t epicmorg/confluence:6.14.3 atlassian/confluence/6.14.3 - - docker push epicmorg/confluence:6.14.3 - -########## - - - name: Confluence 6.15.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:6.15.1 atlassian/confluence/6.15.1 - - docker push epicmorg/confluence:6.15.1 - - - docker build --compress -t epicmorg/confluence:6.15.2 atlassian/confluence/6.15.2 - - docker push epicmorg/confluence:6.15.2 - - - docker build --compress -t epicmorg/confluence:6.15.4 atlassian/confluence/6.15.4 - - docker push epicmorg/confluence:6.15.4 - - - docker build --compress -t epicmorg/confluence:6.15.6 atlassian/confluence/6.15.6 - - docker push epicmorg/confluence:6.15.6 - - - docker build --compress -t epicmorg/confluence:6.15.7 atlassian/confluence/6.15.7 - - docker push epicmorg/confluence:6.15.7 - - - docker build --compress -t epicmorg/confluence:6.15.8 atlassian/confluence/6.15.8 - - docker push epicmorg/confluence:6.15.8 - - - docker build --compress -t epicmorg/confluence:6.15.9 atlassian/confluence/6.15.9 - - docker push epicmorg/confluence:6.15.9 - - - docker build --compress -t epicmorg/confluence:6.15.10 atlassian/confluence/6.15.10 - - docker push epicmorg/confluence:6.15.10 - -########## - - - name: Confluence 7.0.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:7.0.1 atlassian/confluence/7.0.1 - - docker push epicmorg/confluence:7.0.1 - - - docker build --compress -t epicmorg/confluence:7.0.2 atlassian/confluence/7.0.2 - - docker push epicmorg/confluence:7.0.2 - - - docker build --compress -t epicmorg/confluence:7.0.3 atlassian/confluence/7.0.3 - - docker push epicmorg/confluence:7.0.3 - - - docker build --compress -t epicmorg/confluence:7.0.4 atlassian/confluence/7.0.4 - - docker push epicmorg/confluence:7.0.4 - - - docker build --compress -t epicmorg/confluence:7.0.5 atlassian/confluence/7.0.5 - - docker push epicmorg/confluence:7.0.5 - -########## - - - name: Confluence 7.1.x [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/confluence:7.1.0 atlassian/confluence/7.1.0 - - docker push epicmorg/confluence:7.1.0 - - docker build --compress -t epicmorg/confluence:7.1.0-jdk11 -f atlassian/confluence/7.1.0/Dockerfile.jdk11 atlassian/confluence/7.1.0 - - docker push epicmorg/confluence:7.1.0-jdk11 - - - docker build --compress -t epicmorg/confluence:7.1.1 atlassian/confluence/7.1.1 - - docker push epicmorg/confluence:7.1.1 - - docker build --compress -t epicmorg/confluence:7.1.1-jdk11 -f atlassian/confluence/7.1.1/Dockerfile.jdk11 atlassian/confluence/7.1.1 - - docker push epicmorg/confluence:7.1.1-jdk11 - - - docker build --compress -t epicmorg/confluence:7.1.2 atlassian/confluence/7.1.2 - - docker push epicmorg/confluence:7.1.2 - - docker build --compress -t epicmorg/confluence:7.1.2-jdk11 -f atlassian/confluence/7.1.2/Dockerfile.jdk11 atlassian/confluence/7.1.2 - - docker push epicmorg/confluence:7.1.2-jdk11 - -########## - - - name: Confluence 7.2.x [default jdk8 + tag jdk11] - 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 - - docker build --compress -t epicmorg/confluence:7.2.0-jdk11 -f atlassian/confluence/7.2.0/Dockerfile.jdk11 atlassian/confluence/7.2.0 - - docker push epicmorg/confluence:7.2.0-jdk11 - - - docker build --compress -t epicmorg/confluence:7.2.1 atlassian/confluence/7.2.0 - - docker push epicmorg/confluence:7.2.1 - - docker build --compress -t epicmorg/confluence:7.2.1-jdk11 -f atlassian/confluence/7.2.1/Dockerfile.jdk11 atlassian/confluence/7.2.1 - - docker push epicmorg/confluence:7.2.1-jdk11 - -######################################### -#### Our Jira images -######################################### - - name: Jira 7.0.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.0.0 atlassian/jira/7.0.0 - - docker push epicmorg/jira:7.0.0 - - - docker build --compress -t epicmorg/jira:7.0.2 atlassian/jira/7.0.2 - - docker push epicmorg/jira:7.0.2 - - - docker build --compress -t epicmorg/jira:7.0.4 atlassian/jira/7.0.4 - - docker push epicmorg/jira:7.0.4 - - - docker build --compress -t epicmorg/jira:7.0.5 atlassian/jira/7.0.5 - - docker push epicmorg/jira:7.0.5 - - - docker build --compress -t epicmorg/jira:7.0.10 atlassian/jira/7.0.10 - - docker push epicmorg/jira:7.0.10 - - - docker build --compress -t epicmorg/jira:7.0.11 atlassian/jira/7.0.11 - - docker push epicmorg/jira:7.0.11 - -########## - - - name: Jira 7.1.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.1.0 atlassian/jira/7.1.0 - - docker push epicmorg/jira:7.1.0 - - - docker build --compress -t epicmorg/jira:7.1.1 atlassian/jira/7.1.1 - - docker push epicmorg/jira:7.1.1 - - - docker build --compress -t epicmorg/jira:7.1.2 atlassian/jira/7.1.2 - - docker push epicmorg/jira:7.1.2 - - - docker build --compress -t epicmorg/jira:7.1.4 atlassian/jira/7.1.4 - - docker push epicmorg/jira:7.1.4 - - - docker build --compress -t epicmorg/jira:7.1.6 atlassian/jira/7.1.6 - - docker push epicmorg/jira:7.1.6 - - - docker build --compress -t epicmorg/jira:7.1.7 atlassian/jira/7.1.7 - - docker push epicmorg/jira:7.1.7 - - - docker build --compress -t epicmorg/jira:7.1.8 atlassian/jira/7.1.8 - - docker push epicmorg/jira:7.1.8 - - - docker build --compress -t epicmorg/jira:7.1.9 atlassian/jira/7.1.9 - - docker push epicmorg/jira:7.1.9 - - - docker build --compress -t epicmorg/jira:7.1.10 atlassian/jira/7.1.10 - - docker push epicmorg/jira:7.1.10 - -########## - - - name: Jira 7.2.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.2.0 atlassian/jira/7.2.0 - - docker push epicmorg/jira:7.2.0 - - - docker build --compress -t epicmorg/jira:7.2.1 atlassian/jira/7.2.1 - - docker push epicmorg/jira:7.2.1 - - - docker build --compress -t epicmorg/jira:7.2.2 atlassian/jira/7.2.2 - - docker push epicmorg/jira:7.2.2 - - - docker build --compress -t epicmorg/jira:7.2.3 atlassian/jira/7.2.3 - - docker push epicmorg/jira:7.2.3 - - - docker build --compress -t epicmorg/jira:7.2.4 atlassian/jira/7.2.4 - - docker push epicmorg/jira:7.2.4 - - - docker build --compress -t epicmorg/jira:7.2.6 atlassian/jira/7.2.6 - - docker push epicmorg/jira:7.2.6 - - - docker build --compress -t epicmorg/jira:7.2.7 atlassian/jira/7.2.7 - - docker push epicmorg/jira:7.2.7 - - - docker build --compress -t epicmorg/jira:7.2.8 atlassian/jira/7.2.8 - - docker push epicmorg/jira:7.2.8 - - - docker build --compress -t epicmorg/jira:7.2.9 atlassian/jira/7.2.9 - - docker push epicmorg/jira:7.2.9 - - - docker build --compress -t epicmorg/jira:7.2.10 atlassian/jira/7.2.10 - - docker push epicmorg/jira:7.2.10 - - - docker build --compress -t epicmorg/jira:7.2.11 atlassian/jira/7.2.11 - - docker push epicmorg/jira:7.2.11 - - - docker build --compress -t epicmorg/jira:7.2.12 atlassian/jira/7.2.12 - - docker push epicmorg/jira:7.2.12 - - - docker build --compress -t epicmorg/jira:7.2.13 atlassian/jira/7.2.13 - - docker push epicmorg/jira:7.2.13 - - - docker build --compress -t epicmorg/jira:7.2.14 atlassian/jira/7.2.14 - - docker push epicmorg/jira:7.2.14 - - - docker build --compress -t epicmorg/jira:7.2.15 atlassian/jira/7.2.15 - - docker push epicmorg/jira:7.2.15 - -########## - - - name: Jira 7.3.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.3.0 atlassian/jira/7.3.0 - - docker push epicmorg/jira:7.3.0 - - - docker build --compress -t epicmorg/jira:7.3.1 atlassian/jira/7.3.1 - - docker push epicmorg/jira:7.3.1 - - - docker build --compress -t epicmorg/jira:7.3.2 atlassian/jira/7.3.2 - - docker push epicmorg/jira:7.3.2 - - - docker build --compress -t epicmorg/jira:7.3.3 atlassian/jira/7.3.3 - - docker push epicmorg/jira:7.3.3 - - - docker build --compress -t epicmorg/jira:7.3.4 atlassian/jira/7.3.4 - - docker push epicmorg/jira:7.3.4 - - - docker build --compress -t epicmorg/jira:7.3.5 atlassian/jira/7.3.5 - - docker push epicmorg/jira:7.3.5 - - - docker build --compress -t epicmorg/jira:7.3.6 atlassian/jira/7.3.6 - - docker push epicmorg/jira:7.3.6 - - - docker build --compress -t epicmorg/jira:7.3.7 atlassian/jira/7.3.7 - - docker push epicmorg/jira:7.3.7 - - - docker build --compress -t epicmorg/jira:7.3.8 atlassian/jira/7.3.8 - - docker push epicmorg/jira:7.3.8 - - - docker build --compress -t epicmorg/jira:7.3.9 atlassian/jira/7.3.9 - - docker push epicmorg/jira:7.3.9 - -########## - - - name: Jira 7.4.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.4.0 atlassian/jira/7.4.0 - - docker push epicmorg/jira:7.4.0 - - - docker build --compress -t epicmorg/jira:7.4.1 atlassian/jira/7.4.1 - - docker push epicmorg/jira:7.4.1 - - - docker build --compress -t epicmorg/jira:7.4.2 atlassian/jira/7.4.2 - - docker push epicmorg/jira:7.4.2 - - - docker build --compress -t epicmorg/jira:7.4.3 atlassian/jira/7.4.3 - - docker push epicmorg/jira:7.4.3 - - - docker build --compress -t epicmorg/jira:7.4.4 atlassian/jira/7.4.4 - - docker push epicmorg/jira:7.4.4 - - - docker build --compress -t epicmorg/jira:7.4.5 atlassian/jira/7.4.5 - - docker push epicmorg/jira:7.4.5 - - - docker build --compress -t epicmorg/jira:7.4.6 atlassian/jira/7.4.6 - - docker push epicmorg/jira:7.4.6 - -########## - - - name: Jira 7.5.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.5.0 atlassian/jira/7.5.0 - - docker push epicmorg/jira:7.5.0 - - - docker build --compress -t epicmorg/jira:7.5.1 atlassian/jira/7.5.1 - - docker push epicmorg/jira:7.5.1 - - - docker build --compress -t epicmorg/jira:7.5.2 atlassian/jira/7.5.2 - - docker push epicmorg/jira:7.5.2 - - - docker build --compress -t epicmorg/jira:7.5.3 atlassian/jira/7.5.3 - - docker push epicmorg/jira:7.5.3 - - - docker build --compress -t epicmorg/jira:7.5.4 atlassian/jira/7.5.4 - - docker push epicmorg/jira:7.5.4 - -########## - - - name: Jira 7.6.x LTS - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.6.0 atlassian/jira/7.6.0 - - docker push epicmorg/jira:7.6.0 - - - docker build --compress -t epicmorg/jira:7.6.1 atlassian/jira/7.6.1 - - docker push epicmorg/jira:7.6.1 - - - docker build --compress -t epicmorg/jira:7.6.2 atlassian/jira/7.6.2 - - docker push epicmorg/jira:7.6.2 - - - docker build --compress -t epicmorg/jira:7.6.3 atlassian/jira/7.6.3 - - docker push epicmorg/jira:7.6.3 - - - docker build --compress -t epicmorg/jira:7.6.4 atlassian/jira/7.6.4 - - docker push epicmorg/jira:7.6.4 - - - docker build --compress -t epicmorg/jira:7.6.6 atlassian/jira/7.6.6 - - docker push epicmorg/jira:7.6.6 - - - docker build --compress -t epicmorg/jira:7.6.7 atlassian/jira/7.6.7 - - docker push epicmorg/jira:7.6.7 - - - docker build --compress -t epicmorg/jira:7.6.8 atlassian/jira/7.6.8 - - docker push epicmorg/jira:7.6.8 - - - docker build --compress -t epicmorg/jira:7.6.9 atlassian/jira/7.6.9 - - docker push epicmorg/jira:7.6.9 - - - docker build --compress -t epicmorg/jira:7.6.10 atlassian/jira/7.6.10 - - docker push epicmorg/jira:7.6.10 - - - docker build --compress -t epicmorg/jira:7.6.11 atlassian/jira/7.6.11 - - docker push epicmorg/jira:7.6.11 - - - docker build --compress -t epicmorg/jira:7.6.12 atlassian/jira/7.6.12 - - docker push epicmorg/jira:7.6.12 - - - docker build --compress -t epicmorg/jira:7.6.13 atlassian/jira/7.6.13 - - docker push epicmorg/jira:7.6.13 - - - docker build --compress -t epicmorg/jira:7.6.14 atlassian/jira/7.6.14 - - docker push epicmorg/jira:7.6.14 - - - docker build --compress -t epicmorg/jira:7.6.15 atlassian/jira/7.6.15 - - docker push epicmorg/jira:7.6.15 - - - docker build --compress -t epicmorg/jira:7.6.16 atlassian/jira/7.6.16 - - docker push epicmorg/jira:7.6.16 - - - docker build --compress -t epicmorg/jira:7.6.17 atlassian/jira/7.6.17 - - docker push epicmorg/jira:7.6.17 - -########## - - - name: Jira 7.7.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.7.0 atlassian/jira/7.7.0 - - docker push epicmorg/jira:7.7.0 - - - docker build --compress -t epicmorg/jira:7.7.1 atlassian/jira/7.7.1 - - docker push epicmorg/jira:7.7.1 - - - docker build --compress -t epicmorg/jira:7.7.2 atlassian/jira/7.7.2 - - docker push epicmorg/jira:7.7.2 - - - docker build --compress -t epicmorg/jira:7.7.4 atlassian/jira/7.7.4 - - docker push epicmorg/jira:7.7.4 - -########## - - - name: Jira 7.8.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.8.0 atlassian/jira/7.8.0 - - docker push epicmorg/jira:7.8.0 - - - docker build --compress -t epicmorg/jira:7.8.1 atlassian/jira/7.8.1 - - docker push epicmorg/jira:7.8.1 - - - docker build --compress -t epicmorg/jira:7.8.2 atlassian/jira/7.8.2 - - docker push epicmorg/jira:7.8.2 - - - docker build --compress -t epicmorg/jira:7.8.4 atlassian/jira/7.8.4 - - docker push epicmorg/jira:7.8.4 - -########## - - - name: Jira 7.9.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.9.0 atlassian/jira/7.9.0 - - docker push epicmorg/jira:7.9.0 - - - docker build --compress -t epicmorg/jira:7.9.2 atlassian/jira/7.9.2 - - docker push epicmorg/jira:7.9.2 - -########## - - - name: Jira 7.10.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.10.0 atlassian/jira/7.10.0 - - docker push epicmorg/jira:7.10.0 - - - docker build --compress -t epicmorg/jira:7.10.1 atlassian/jira/7.10.1 - - docker push epicmorg/jira:7.10.1 - - - docker build --compress -t epicmorg/jira:7.10.2 atlassian/jira/7.10.2 - - docker push epicmorg/jira:7.10.2 - -########## - - - name: Jira 7.11.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.11.0 atlassian/jira/7.11.0 - - docker push epicmorg/jira:7.11.0 - - - docker build --compress -t epicmorg/jira:7.11.1 atlassian/jira/7.11.1 - - docker push epicmorg/jira:7.11.1 - - - docker build --compress -t epicmorg/jira:7.11.2 atlassian/jira/7.11.2 - - docker push epicmorg/jira:7.11.2 - -########## - - - name: Jira 7.12.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.12.0 atlassian/jira/7.12.0 - - docker push epicmorg/jira:7.12.0 - - - docker build --compress -t epicmorg/jira:7.12.1 atlassian/jira/7.12.1 - - docker push epicmorg/jira:7.12.1 - - - docker build --compress -t epicmorg/jira:7.12.3 atlassian/jira/7.12.3 - - docker push epicmorg/jira:7.12.3 - -########## - - - name: Jira 7.13.x LTS - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:7.13.0 atlassian/jira/7.13.0 - - docker push epicmorg/jira:7.13.0 - - - docker build --compress -t epicmorg/jira:7.13.1 atlassian/jira/7.13.1 - - docker push epicmorg/jira:7.13.1 - - - docker build --compress -t epicmorg/jira:7.13.2 atlassian/jira/7.13.2 - - docker push epicmorg/jira:7.13.2 - - - docker build --compress -t epicmorg/jira:7.13.3 atlassian/jira/7.13.3 - - docker push epicmorg/jira:7.13.3 - - - docker build --compress -t epicmorg/jira:7.13.4 atlassian/jira/7.13.4 - - docker push epicmorg/jira:7.13.4 - - - docker build --compress -t epicmorg/jira:7.13.5 atlassian/jira/7.13.5 - - docker push epicmorg/jira:7.13.5 - - - docker build --compress -t epicmorg/jira:7.13.6 atlassian/jira/7.13.6 - - docker push epicmorg/jira:7.13.6 - - - docker build --compress -t epicmorg/jira:7.13.8 atlassian/jira/7.13.8 - - docker push epicmorg/jira:7.13.8 - - - docker build --compress -t epicmorg/jira:7.13.9 atlassian/jira/7.13.9 - - docker push epicmorg/jira:7.13.9 - - - docker build --compress -t epicmorg/jira:7.13.11 atlassian/jira/7.13.11 - - docker push epicmorg/jira:7.13.11 - -########## - - - name: Jira 8.0.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.0.0 atlassian/jira/8.0.0 - - docker push epicmorg/jira:8.0.0 - - - docker build --compress -t epicmorg/jira:8.0.2 atlassian/jira/8.0.2 - - docker push epicmorg/jira:8.0.2 - - - docker build --compress -t epicmorg/jira:8.0.3 atlassian/jira/8.0.3 - - docker push epicmorg/jira:8.0.3 - -########## - - - name: Jira 8.1.x - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.1.0 atlassian/jira/8.1.0 - - docker push epicmorg/jira:8.1.0 - - - docker build --compress -t epicmorg/jira:8.1.1 atlassian/jira/8.1.1 - - docker push epicmorg/jira:8.1.1 - - - docker build --compress -t epicmorg/jira:8.1.2 atlassian/jira/8.1.2 - - docker push epicmorg/jira:8.1.2 - - - docker build --compress -t epicmorg/jira:8.1.3 atlassian/jira/8.1.3 - - docker push epicmorg/jira:8.1.3 - -########## - - - name: Jira 8.2.x [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.2.0 atlassian/jira/8.2.0 - - docker push epicmorg/jira:8.2.0 - - docker build --compress -t epicmorg/jira:8.2.0-jdk11 -f atlassian/jira/8.2.0/Dockerfile.jdk11 atlassian/jira/8.2.0 - - docker push epicmorg/jira:8.2.0-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.1 atlassian/jira/8.2.1 - - docker push epicmorg/jira:8.2.1 - - docker build --compress -t epicmorg/jira:8.2.1-jdk11 -f atlassian/jira/8.2.1/Dockerfile.jdk11 atlassian/jira/8.2.1 - - docker push epicmorg/jira:8.2.1-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.2 atlassian/jira/8.2.2 - - docker push epicmorg/jira:8.2.2 - - docker build --compress -t epicmorg/jira:8.2.2-jdk11 -f atlassian/jira/8.2.2/Dockerfile.jdk11 atlassian/jira/8.2.2 - - docker push epicmorg/jira:8.2.2-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.3 atlassian/jira/8.2.3 - - docker push epicmorg/jira:8.2.3 - - docker build --compress -t epicmorg/jira:8.2.3-jdk11 -f atlassian/jira/8.2.3/Dockerfile.jdk11 atlassian/jira/8.2.3 - - docker push epicmorg/jira:8.2.3-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.4 atlassian/jira/8.2.4 - - docker push epicmorg/jira:8.2.4 - - docker build --compress -t epicmorg/jira:8.2.4-jdk11 -f atlassian/jira/8.2.4/Dockerfile.jdk11 atlassian/jira/8.2.4 - - docker push epicmorg/jira:8.2.4-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.5 atlassian/jira/8.2.5 - - docker push epicmorg/jira:8.2.5 - - docker build --compress -t epicmorg/jira:8.2.5-jdk11 -f atlassian/jira/8.2.5/Dockerfile.jdk11 atlassian/jira/8.2.5 - - docker push epicmorg/jira:8.2.5-jdk11 - - - docker build --compress -t epicmorg/jira:8.2.6 atlassian/jira/8.2.6 - - docker push epicmorg/jira:8.2.6 - - docker build --compress -t epicmorg/jira:8.2.6-jdk11 -f atlassian/jira/8.2.6/Dockerfile.jdk11 atlassian/jira/8.2.6 - - docker push epicmorg/jira:8.2.6-jdk11 - -########## - - - name: Jira 8.3.x [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.3.0 atlassian/jira/8.3.0 - - docker push epicmorg/jira:8.3.0 - - docker build --compress -t epicmorg/jira:8.3.0-jdk11 -f atlassian/jira/8.3.0/Dockerfile.jdk11 atlassian/jira/8.3.0 - - docker push epicmorg/jira:8.3.0-jdk11 - - - docker build --compress -t epicmorg/jira:8.3.1 atlassian/jira/8.3.1 - - docker push epicmorg/jira:8.3.1 - - docker build --compress -t epicmorg/jira:8.3.1-jdk11 -f atlassian/jira/8.3.1/Dockerfile.jdk11 atlassian/jira/8.3.1 - - docker push epicmorg/jira:8.3.1-jdk11 - - - docker build --compress -t epicmorg/jira:8.3.2 atlassian/jira/8.3.2 - - docker push epicmorg/jira:8.3.2 - - docker build --compress -t epicmorg/jira:8.3.2-jdk11 -f atlassian/jira/8.3.2/Dockerfile.jdk11 atlassian/jira/8.3.2 - - docker push epicmorg/jira:8.3.2-jdk11 - - - docker build --compress -t epicmorg/jira:8.3.3 atlassian/jira/8.3.3 - - docker push epicmorg/jira:8.3.3 - - docker build --compress -t epicmorg/jira:8.3.3-jdk11 -f atlassian/jira/8.3.3/Dockerfile.jdk11 atlassian/jira/8.3.3 - - docker push epicmorg/jira:8.3.3-jdk11 - - - docker build --compress -t epicmorg/jira:8.3.4 atlassian/jira/8.3.4 - - docker push epicmorg/jira:8.3.4 - - docker build --compress -t epicmorg/jira:8.3.4-jdk11 -f atlassian/jira/8.3.4/Dockerfile.jdk11 atlassian/jira/8.3.4 - - docker push epicmorg/jira:8.3.4-jdk11 - - - docker build --compress -t epicmorg/jira:8.3.5 atlassian/jira/8.3.5 - - docker push epicmorg/jira:8.3.5 - - docker build --compress -t epicmorg/jira:8.3.5-jdk11 -f atlassian/jira/8.3.5/Dockerfile.jdk11 atlassian/jira/8.3.5 - - docker push epicmorg/jira:8.3.5-jdk11 - -########## - - - name: Jira 8.4.x [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.4.0 atlassian/jira/8.4.0 - - docker push epicmorg/jira:8.4.0 - - docker build --compress -t epicmorg/jira:8.4.0-jdk11 -f atlassian/jira/8.4.0/Dockerfile.jdk11 atlassian/jira/8.4.0 - - docker push epicmorg/jira:8.4.0-jdk11 - - - docker build --compress -t epicmorg/jira:8.4.1 atlassian/jira/8.4.1 - - docker push epicmorg/jira:8.4.1 - - docker build --compress -t epicmorg/jira:8.4.1-jdk11 -f atlassian/jira/8.4.1/Dockerfile.jdk11 atlassian/jira/8.4.1 - - docker push epicmorg/jira:8.4.1-jdk11 - - - docker build --compress -t epicmorg/jira:8.4.2 atlassian/jira/8.4.2 - - docker push epicmorg/jira:8.4.2 - - docker build --compress -t epicmorg/jira:8.4.2-jdk11 -f atlassian/jira/8.4.2/Dockerfile.jdk11 atlassian/jira/8.4.2 - - docker push epicmorg/jira:8.4.2-jdk11 - - - docker build --compress -t epicmorg/jira:8.4.3 atlassian/jira/8.4.3 - - docker push epicmorg/jira:8.4.3 - - docker build --compress -t epicmorg/jira:8.4.3-jdk11 -f atlassian/jira/8.4.3/Dockerfile.jdk11 atlassian/jira/8.4.3 - - docker push epicmorg/jira:8.4.3-jdk11 - -########## - - - name: Jira 8.5.x LTS [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.5.0 atlassian/jira/8.5.0 - - docker push epicmorg/jira:8.5.0 - - docker build --compress -t epicmorg/jira:8.5.0-jdk11 -f atlassian/jira/8.5.0/Dockerfile.jdk11 atlassian/jira/8.5.0 - - docker push epicmorg/jira:8.5.0-jdk11 - - - docker build --compress -t epicmorg/jira:8.5.1 atlassian/jira/8.5.1 - - docker push epicmorg/jira:8.5.1 - - docker build --compress -t epicmorg/jira:8.5.1-jdk11 -f atlassian/jira/8.5.1/Dockerfile.jdk11 atlassian/jira/8.5.1 - - docker push epicmorg/jira:8.5.1-jdk11 - - - docker build --compress -t epicmorg/jira:8.5.2 atlassian/jira/8.5.2 - - docker push epicmorg/jira:8.5.2 - - docker build --compress -t epicmorg/jira:8.5.2-jdk11 -f atlassian/jira/8.5.2/Dockerfile.jdk11 atlassian/jira/8.5.2 - - docker push epicmorg/jira:8.5.2-jdk11 - - - docker build --compress -t epicmorg/jira:8.5.3 atlassian/jira/8.5.3 - - docker push epicmorg/jira:8.5.3 - - docker build --compress -t epicmorg/jira:8.5.3-jdk11 -f atlassian/jira/8.5.3/Dockerfile.jdk11 atlassian/jira/8.5.3 - - docker push epicmorg/jira:8.5.3-jdk11 - -########## - - - name: Jira 8.6.x [default jdk8 + tag jdk11] - script: - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/jira:8.6.0 atlassian/jira/8.6.0 - - docker push epicmorg/jira:8.6.0 - - docker build --compress -t epicmorg/jira:8.6.0-jdk11 -f atlassian/jira/8.6.0/Dockerfile.jdk11 atlassian/jira/8.6.0 - - docker push epicmorg/jira:8.6.0-jdk11 - - - docker build --compress -t epicmorg/jira:8.6.1 atlassian/jira/8.6.1 - - docker push epicmorg/jira:8.6.1 - - docker build --compress -t epicmorg/jira:8.6.1-jdk11 -f atlassian/jira/8.6.1/Dockerfile.jdk11 atlassian/jira/8.6.1 - - docker push epicmorg/jira:8.6.1-jdk11 - -######################################### -#### Our minor priority images -######################################### - - diff --git a/CHANGELOG.md b/CHANGELOG.md index 91da37311..abe40e7a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,12 @@ ## Changelog * `February 2020` + * **Big rework of repositories on github**. Containers was Splited to another sub-repositories. Now current repo will be contain only fresh and latest versions of images. All older versions will be appeared in sub-repos. More fater building, less bad load to CI. * `fixed` all `*.sh` chmods. (sorry) * fixed `balancer` final container with `edge`. * `websites` migrated to `edge`. why not? + * added `jdk6` and `jdk7` base images + * addded `PostgresSQL 9-12` * `January 2020` (01/13/2020 - 01/30/2020) * separated `base` images to `prod`, `prod:jdk8`, `prod:jdk11`, `devel`, `devel:jdk8`, `devel:jdk11` * teamcity - `devel:jdk11` diff --git a/README.md b/README.md index f3720a52c..296a877e8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,21 @@ # [![Travis (.org)](https://img.shields.io/travis/EpicMorg/docker-scripts?style=flat-square)](https://travis-ci.org/EpicMorg/docker-scripts) [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker-scripts?label=commits&style=flat-square)](https://github.com/EpicMorg/docker-scripts/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker-scripts?label=size&style=flat-square)](https://github.com/EpicMorg/docker-scripts/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker-scripts?style=flat-square)](https://github.com/EpicMorg/docker-scripts/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker-scripts.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) + +![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/logo.png) + +## Quick navigation for sub-repositories + + + +### Atlassian images +| Bitbucket | Confluence | Jira | EpicMorg | +|-------------:|:-------------:|:-----:|:-------| +| [![atlassian-bitbucket-6](https://img.shields.io/badge/Atlassian-Bitbucket%206-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-bitbucket-6) | [![confluence-7](https://img.shields.io/badge/Atlassian-Confluence%207-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-7) | [![atlassian-jira-8](https://img.shields.io/badge/Atlassian-Jira%208-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-8) | [![PostgreSQL](https://img.shields.io/badge/EpicMorg-PostgreSQL%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-postgres-backports) | +| ` ` | [![confluence-6](https://img.shields.io/badge/Atlassian-Confluence%206-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-6) | [![atlassian-jira-7](https://img.shields.io/badge/Atlassian-Jira%207-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-7) | [![Experimental](https://img.shields.io/badge/EpicMorg-Deprecated-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-experimental-images) | +| ` ` | [![confluence-5](https://img.shields.io/badge/Atlassian-Confluence%205-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-5) | [![atlassian-jira-6](https://img.shields.io/badge/Atlassian-Jira%206-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-6) | [![Deprecated](https://img.shields.io/badge/EpicMorg-Experimental-red?style=popout-square)](https://github.com/EpicMorgVault/docker-deprecated-images) | +| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-5) | [![NextCloud](https://img.shields.io/badge/EpicMorg-NextCloud%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-nextcloud-backports) | | + + # Containers Map ![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/docker-scripts.png) diff --git a/_deprecated/balancer/legacy/.docker-repository.yml b/_deprecated/balancer/legacy/.docker-repository.yml deleted file mode 100644 index 6bf9e2675..000000000 --- a/_deprecated/balancer/legacy/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/balancer diff --git a/_deprecated/balancer/legacy/.dockerignore b/_deprecated/balancer/legacy/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/_deprecated/balancer/legacy/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/_deprecated/balancer/legacy/Dockerfile b/_deprecated/balancer/legacy/Dockerfile deleted file mode 100644 index be9c256a2..000000000 --- a/_deprecated/balancer/legacy/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM debian:buster -MAINTAINER Anatoliy Zimovskiy - -ENV DEBIAN_FRONTEND noninteractive - -#editing sources list -RUN rm /etc/apt/sources.list -COPY sources.list /etc/apt/sources.list -COPY locale.gen /etc/locale.gen - -# fix errors -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections - -#installing utils -RUN apt-get update && apt-get install -y --allow-unauthenticated ca-certificates gnupg sudo apt-transport-https lsb-release apt-utils locales console-cyrillic wget curl htop mc tmux iftop cmatrix iputils-ping cmatrix-xfont lsof lynx fontconfig smbclient nano - -#installing nginx repo -RUN wget -O /etc/apt/trusted.gpg.d/nginx-mainline.gpg https://packages.sury.org/nginx-mainline/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/nginx-mainline/ buster main" > /etc/apt/sources.list.d/nginx-mainline.list' - -#installing packages -RUN apt-get update && apt-get install -y --allow-unauthenticated libgd-tools geoip-bin nginx-doc ssl-cert nginx-extras openssl libnginx-mod-http-cache-purge libnginx-mod-http-dav-ext libnginx-mod-http-geoip libnginx-mod-http-headers-more-filter libnginx-mod-http-lua libnginx-mod-http-uploadprogress libnginx-mod-mail libnginx-mod-stream libnginx-mod-http-xslt-filter - -RUN ln -sf /dev/stdout /var/log/nginx/access.log && \ - ln -sf /dev/stderr /var/log/nginx/error.log - -#After install fixes -RUN localedef en_US.UTF-8 -i en_US -f UTF-8 -RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 -RUN apt update -RUN apt upgrade -y -RUN apt dist-upgrade -y -RUN apt-get clean autoclean -RUN apt-get autoremove -y -RUN rm -rf /var/lib/apt/lists/* - -#final config -VOLUME ["/var/cache/nginx"] -EXPOSE 80 443 - -CMD ["nginx", "-g", "daemon off;"] diff --git a/_deprecated/balancer/legacy/Makefile b/_deprecated/balancer/legacy/Makefile deleted file mode 100644 index bd56b1ec0..000000000 --- a/_deprecated/balancer/legacy/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nginx - -nginx: - docker build --compress -t epicmorg/balancer:legacy . diff --git a/_deprecated/balancer/legacy/README.md b/_deprecated/balancer/legacy/README.md deleted file mode 100644 index 034784bc0..000000000 --- a/_deprecated/balancer/legacy/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Compose example - -```yml -version: '3.7' -services: - balancer: - image: epicmorg/balancer - restart: unless-stopped - ports: - - "0.0.0.0:80:80" - - "0.0.0.0:443:443" - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - /etc/letsencrypt:/etc/letsencrypt - - nginx:/etc/nginx - - nginx-usr:/usr/share/nginx/html - - /var/lib/nginx -# extra_hosts: -# - "example.com:192.168.0.11" - depends_on: - - websites - tmpfs: - - /tmp -volumes: - nginx: - external: true - nginx-usr: - external: true -``` diff --git a/_deprecated/staytus/.docker-repository.yml b/_deprecated/staytus/.docker-repository.yml deleted file mode 100644 index c455bd083..000000000 --- a/_deprecated/staytus/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/staytus diff --git a/_deprecated/staytus/.dockerignore b/_deprecated/staytus/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/_deprecated/staytus/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/_deprecated/staytus/Dockerfile b/_deprecated/staytus/Dockerfile deleted file mode 100644 index 6cfdc523c..000000000 --- a/_deprecated/staytus/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -FROM ruby:buster -LABEL maintainer="Tim Perry ; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -USER root - -COPY --from=epicmorg/prod /etc/locale.gen /etc/locale.gen -COPY --from=epicmorg/prod /etc/apt/sources.list /etc/apt/sources.list -COPY --from=epicmorg/prod /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg -COPY entrypoint.sh /entrypoint.sh - -RUN apt update && \ - apt dist-upgrade -y && \ - # node as the JS engine for uglifier - apt-get install -y nodejs git && \ - gem install bundler && \ - rm -rfv /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN cd /opt && \ - git clone https://github.com/adamcooke/staytus.git staytus && \ - cd /opt/staytus && \ - bundle install --deployment --without development:test - -# Persists copies of other relevant files (DB config, custom themes). Contents of this are copied -# to the relevant places each time the container is started -VOLUME /opt/staytus/persisted - -EXPOSE 5000 - -ENTRYPOINT /entrypoint.sh \ No newline at end of file diff --git a/_deprecated/staytus/Makefile b/_deprecated/staytus/Makefile deleted file mode 100644 index cb4650ff7..000000000 --- a/_deprecated/staytus/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: st - -st: - docker build --compress -t epicmorg/staytus:latest . diff --git a/_deprecated/staytus/README.md b/_deprecated/staytus/README.md deleted file mode 100644 index 4f64ed297..000000000 --- a/_deprecated/staytus/README.md +++ /dev/null @@ -1,37 +0,0 @@ -## Info -This is a custom improved image from this [original repository](https://github.com/adamcooke/staytus). - -## How to -* Install databese and setup user -* Install container and connect to database -* dont forget about static files! `/opt/staytus/public/assets` - -## Compose example - -```yml -version: '3.7' -services: - mysql: - container_name: mysql - image: mysql:5.7 - restart: always - staytus: - container_name: staytus - image: epicmorg/staytus - restart: always - ports: - - "5000:5000" - volumes: - - staytus-persisted:/opt/staytus/persisted - environment: - - DB_USER=root - - DB_PASSWORD=password - - DB_HOST=mysql #(dns or ip) - depends_on: - - mysql - tmpfs: - - /tmp -volumes: - staytus-persisted: - external: true -``` diff --git a/_deprecated/staytus/entrypoint.sh b/_deprecated/staytus/entrypoint.sh deleted file mode 100755 index 9325bdbdb..000000000 --- a/_deprecated/staytus/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -: ${DB_USER:=root} -: ${DB_PASSWORD:=root} -: ${DB_DATABSE:=staytus} -: ${DB_HOST:=127.0.0.1} -#: ${DB_PORT:=3306} - -cd /opt/staytus - -# Configure DB with random password, if not already configured -if [ ! -f /opt/staytus/persisted/config/database.yml ]; then - export DB_PASSWORD=${DB_PASSWORD} - - mysqladmin -u root -ptemp-password password ${DB_PASSWORD} - echo "CREATE DATABASE staytus CHARSET utf8 COLLATE utf8_unicode_ci" | mysql -u root -p${DB_PASSWORD} - - cp config/database.example.yml config/database.yml - sed -i "s/username:.*/username: ${DB_USER}/" config/database.yml - sed -i "s|password:.*|password: ${DB_PASSWORD}|" config/database.yml - sed -i "s|host:.*|host: ${DB_HOST}|" config/database.yml - sed -i "s|database:.*|database: ${DB_DATABSE}|" config/database.yml - - # Copy the config to persist it, and later copy back on each start, to persist this config file - # without persisting all of /config (which is mostly app code) - mkdir /opt/staytus/persisted/config - cp config/database.yml /opt/staytus/persisted/config/database.yml - - bundle exec rake staytus:build staytus:install -else - # Use the previously saved config from the persisted volume - cp /opt/staytus/persisted/config/database.yml config/database.yml - # TODO also copy themes back and forth too - - # If already configured, check if there are any migrations to run - bundle exec rake staytus:build staytus:upgrade -fi - -bundle exec foreman start \ No newline at end of file diff --git a/_experemental/ovm/.docker-repository.yml b/_experemental/ovm/.docker-repository.yml deleted file mode 100644 index 6bf9e2675..000000000 --- a/_experemental/ovm/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/balancer diff --git a/_experemental/ovm/.dockerignore b/_experemental/ovm/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/_experemental/ovm/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/_experemental/ovm/Dockerfile b/_experemental/ovm/Dockerfile deleted file mode 100644 index 887d1ae39..000000000 --- a/_experemental/ovm/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -FROM debian:buster -MAINTAINER Anatoliy Zimovskiy - -ENV DEBIAN_FRONTEND noninteractive - -#editing sources list -RUN rm /etc/apt/sources.list -COPY sources.list /etc/apt/sources.list - -COPY locale.gen /etc/locale.gen - -# fix errors -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections - -#installing utils -RUN apt-get update && apt-get install -y --allow-unauthenticated ca-certificates gnupg sudo apt-transport-https lsb-release apt-utils locales console-cyrillic wget curl htop mc tmux iftop cmatrix iputils-ping cmatrix-xfont lsof lynx fontconfig smbclient nano - - -#installing packages -RUN gpg --keyserver keyserver.ubuntu.com --recv 7E7A6C592EF35D13 -RUN gpg --keyserver keyserver.ubuntu.com --recv 24863F0C716B980B -RUN wget -qO - http://packages.openmediavault.org/public/archive.key | sudo apt-key add - -COPY openmediavault.list /etc/apt/sources.list.d/openmediavault.list -RUN apt-get update && apt-get install -y --allow-unauthenticated openmediavault-keyring postfix openmediavault - - -#After install fixes -#RUN localedef en_US.UTF-8 -i en_US -f UTF-8 -#RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 -#RUN apt update -#RUN apt upgrade -y -#RUN apt dist-upgrade -y -#RUN apt-get clean autoclean -#RUN apt-get autoremove -y -#RUN rm -rf /var/lib/apt/lists/* - -#final config -# We need to make sure rrdcached uses /data for it's data -COPY defaults/rrdcached /etc/default - -# Add our startup script last because we don't want changes -# to it to require a full container rebuild -COPY omv-startup /usr/sbin/omv-startup -RUN chmod +x /usr/sbin/omv-startup - -EXPOSE 8080 8443 - -VOLUME /data - -ENTRYPOINT /usr/sbin/omv-startup diff --git a/_experemental/ovm/Makefile b/_experemental/ovm/Makefile deleted file mode 100644 index 80be0b359..000000000 --- a/_experemental/ovm/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: ovm - -ovm: - docker build --compress -t epicmorg/ovm . diff --git a/_experemental/ovm/README.md b/_experemental/ovm/README.md deleted file mode 100644 index 034784bc0..000000000 --- a/_experemental/ovm/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Compose example - -```yml -version: '3.7' -services: - balancer: - image: epicmorg/balancer - restart: unless-stopped - ports: - - "0.0.0.0:80:80" - - "0.0.0.0:443:443" - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - /etc/letsencrypt:/etc/letsencrypt - - nginx:/etc/nginx - - nginx-usr:/usr/share/nginx/html - - /var/lib/nginx -# extra_hosts: -# - "example.com:192.168.0.11" - depends_on: - - websites - tmpfs: - - /tmp -volumes: - nginx: - external: true - nginx-usr: - external: true -``` diff --git a/_experemental/ovm/container.ini b/_experemental/ovm/container.ini deleted file mode 100644 index a18ed0174..000000000 --- a/_experemental/ovm/container.ini +++ /dev/null @@ -1,6 +0,0 @@ -[nginx] -httpPort = '8080'; -httpsPort = '8443'; - -[data] -alwaysClear = 'false'; diff --git a/_experemental/ovm/omv-startup b/_experemental/ovm/omv-startup deleted file mode 100644 index 48c7deb77..000000000 --- a/_experemental/ovm/omv-startup +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash - -set -e - -# Config parser code from https://github.com/chilladx/config-parser -config_parser () { - local iniFile="$1"; - local tmpFile=$( mktemp /tmp/`basename $iniFile`.XXXXXX ); - local intLines; - local binSED=$( which sed ); - - # copy the ini file to the temporary location - cp $iniFile $tmpFile; - - # remove tabs or spaces around the = - $binSED -i -e 's/[ \t]*=[ \t]*/=/g' $tmpFile; - - # transform section labels into function declaration - $binSED -i -e 's/\[\([A-Za-z0-9_]*\)\]/config.section.\1() \{/g' $tmpFile; - $binSED -i -e 's/config\.section\./\}\'$'\nconfig\.section\./g' $tmpFile; - - # remove first line - $binSED -i -e '1d' $tmpFile; - - # add the last brace - echo -e "\n}" >> $tmpFile; - - # now load the file - source $tmpFile; - - # clean up - rm -f $tmpFile; -} - -if [ -e /data/container.ini ]; then - config_parser "/data/container.ini" -fi - -if [[ "$(type -t config.section.data)" == "function" ]]; then - config.section.data -fi - -if [ "${alwaysClear}" = "true" ]; then - echo Clearing data because config says so... - - rm -Rf /data/etc - rm -Rf /data/var -fi - -if [ ! -e /data/etc ] || [ ! -e /data/var ]; then - FIRST_RUN=true - - if [ ! -e /data/etc ]; then - echo Creating initial configuration... - - mkdir -p /data/etc - - mv /etc/openmediavault /data/etc - mv /etc/default /data/etc - mv /etc/nginx /data/etc - fi - - if [ ! -e /data/var ]; then - echo Creating persistent data directory... - - mkdir /data/var - - mv /var/log /data/var/log - fi -else - FIRST_RUN=false - - rm -Rf /etc/openmediavault - rm -Rf /etc/default - rm -Rf /etc/nginx - - rm -Rf /var/log -fi - -echo Linking in configuration and data... -ln -s /data/etc/openmediavault /etc/openmediavault -ln -s /data/etc/default /etc/default -ln -s /data/etc/nginx /etc/nginx - -ln -s /data/var/log /var/log - -if [ "${FIRST_RUN}" = "true" ]; then - echo Initializing OpenMediaVault... - sed 's/OMV_DEBUG_\(.*\)=.*/OMV_DEBUG_\1="yes"/' -i /etc/default/openmediavault - omv-initsystem $(find /usr/share/openmediavault/initsystem ! -name '*rootfs' ! -name '*sysctl' -type f -printf "%f\n" | sort | xargs) -fi - -if [[ "$(type -t config.section.nginx)" == "function" ]]; then - config.section.nginx -fi - -if [ ! -z "${httpPort}" ]; then - sed -i "s|listen \(.*\):[0-9][0-9]* \(.*\)|listen \1:${httpPort} \2|g" /etc/nginx/sites-available/openmediavault-webgui -fi - -if [ ! -z "${httpsPort}" ]; then - sed -i "s|listen \(.*\):[0-9][0-9]* \(.*\) ssl \(.*\)|:listen \1:${httpsPort} \2 ssl \3|g" /etc/nginx/sites-available/openmediavault-webgui -fi - -SERVICES="motd openmediavault php5-fpm rrdcached rsyslog sudo anacron ntp openmediavault-engined cron postfix nginx collectd rc.local monit" - -for EACH in ${SERVICES}; do - /etc/init.d/${EACH} start -done - -if [[ -e /data/startup.sh ]]; then - /data/startup.sh -fi - -if [ -t 0 ]; then - /bin/bash -else - while true; do - sleep 1000 & wait $! - done -fi diff --git a/_experemental/ovm/openmediavault.list b/_experemental/ovm/openmediavault.list deleted file mode 100644 index 297a4a83b..000000000 --- a/_experemental/ovm/openmediavault.list +++ /dev/null @@ -1,2 +0,0 @@ -deb http://packages.openmediavault.org/public usul main partner -deb http://packages.openmediavault.org/public usul-proposed main diff --git a/atlassian/bitbucket/6.0.0/.docker-repository.yml b/atlassian/bitbucket/6.0.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.0/.dockerignore b/atlassian/bitbucket/6.0.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.0/Dockerfile b/atlassian/bitbucket/6.0.0/Dockerfile deleted file mode 100644 index c0937af82..000000000 --- a/atlassian/bitbucket/6.0.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.0/Dockerfile.jdk11 deleted file mode 100644 index e2d740f96..000000000 --- a/atlassian/bitbucket/6.0.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.0/Makefile b/atlassian/bitbucket/6.0.0/Makefile deleted file mode 100644 index be9158a83..000000000 --- a/atlassian/bitbucket/6.0.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.0 . diff --git a/atlassian/bitbucket/6.0.0/README.md b/atlassian/bitbucket/6.0.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.0/entrypoint.sh b/atlassian/bitbucket/6.0.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.1/.docker-repository.yml b/atlassian/bitbucket/6.0.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.1/.dockerignore b/atlassian/bitbucket/6.0.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.1/Dockerfile b/atlassian/bitbucket/6.0.1/Dockerfile deleted file mode 100644 index 22944df50..000000000 --- a/atlassian/bitbucket/6.0.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.1/Dockerfile.jdk11 deleted file mode 100644 index 062d04b0a..000000000 --- a/atlassian/bitbucket/6.0.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.1/Makefile b/atlassian/bitbucket/6.0.1/Makefile deleted file mode 100644 index 22fb605d9..000000000 --- a/atlassian/bitbucket/6.0.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.1 . diff --git a/atlassian/bitbucket/6.0.1/README.md b/atlassian/bitbucket/6.0.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.1/entrypoint.sh b/atlassian/bitbucket/6.0.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.10/.docker-repository.yml b/atlassian/bitbucket/6.0.10/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.10/.dockerignore b/atlassian/bitbucket/6.0.10/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.10/Dockerfile b/atlassian/bitbucket/6.0.10/Dockerfile deleted file mode 100644 index ed470780b..000000000 --- a/atlassian/bitbucket/6.0.10/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.10 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.10/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.10/Dockerfile.jdk11 deleted file mode 100644 index 7e46dc3d5..000000000 --- a/atlassian/bitbucket/6.0.10/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.10 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.10/Makefile b/atlassian/bitbucket/6.0.10/Makefile deleted file mode 100644 index c88d5aae1..000000000 --- a/atlassian/bitbucket/6.0.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.10 . diff --git a/atlassian/bitbucket/6.0.10/README.md b/atlassian/bitbucket/6.0.10/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.10/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.10/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.10/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.10/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.10/entrypoint.sh b/atlassian/bitbucket/6.0.10/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.10/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.11/.docker-repository.yml b/atlassian/bitbucket/6.0.11/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.11/.dockerignore b/atlassian/bitbucket/6.0.11/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.11/Dockerfile b/atlassian/bitbucket/6.0.11/Dockerfile deleted file mode 100644 index 162b6da0c..000000000 --- a/atlassian/bitbucket/6.0.11/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.11 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.11/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.11/Dockerfile.jdk11 deleted file mode 100644 index ff9ce227c..000000000 --- a/atlassian/bitbucket/6.0.11/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.11 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.11/Makefile b/atlassian/bitbucket/6.0.11/Makefile deleted file mode 100644 index bf4d23baf..000000000 --- a/atlassian/bitbucket/6.0.11/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.11 . diff --git a/atlassian/bitbucket/6.0.11/README.md b/atlassian/bitbucket/6.0.11/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.11/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.11/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.11/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.11/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.11/entrypoint.sh b/atlassian/bitbucket/6.0.11/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.11/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.2/.docker-repository.yml b/atlassian/bitbucket/6.0.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.2/.dockerignore b/atlassian/bitbucket/6.0.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.2/Dockerfile b/atlassian/bitbucket/6.0.2/Dockerfile deleted file mode 100644 index 1e019fed0..000000000 --- a/atlassian/bitbucket/6.0.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.2/Dockerfile.jdk11 deleted file mode 100644 index b2787c46d..000000000 --- a/atlassian/bitbucket/6.0.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.2/Makefile b/atlassian/bitbucket/6.0.2/Makefile deleted file mode 100644 index d075dbfb7..000000000 --- a/atlassian/bitbucket/6.0.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.2 . diff --git a/atlassian/bitbucket/6.0.2/README.md b/atlassian/bitbucket/6.0.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.2/entrypoint.sh b/atlassian/bitbucket/6.0.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.3/.docker-repository.yml b/atlassian/bitbucket/6.0.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.3/.dockerignore b/atlassian/bitbucket/6.0.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.3/Dockerfile b/atlassian/bitbucket/6.0.3/Dockerfile deleted file mode 100644 index 6b24afb58..000000000 --- a/atlassian/bitbucket/6.0.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.3/Dockerfile.jdk11 deleted file mode 100644 index b344ab06c..000000000 --- a/atlassian/bitbucket/6.0.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.3/Makefile b/atlassian/bitbucket/6.0.3/Makefile deleted file mode 100644 index ac7f26c2a..000000000 --- a/atlassian/bitbucket/6.0.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.3 . diff --git a/atlassian/bitbucket/6.0.3/README.md b/atlassian/bitbucket/6.0.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.3/entrypoint.sh b/atlassian/bitbucket/6.0.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.4/.docker-repository.yml b/atlassian/bitbucket/6.0.4/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.4/.dockerignore b/atlassian/bitbucket/6.0.4/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.4/Dockerfile b/atlassian/bitbucket/6.0.4/Dockerfile deleted file mode 100644 index 9b97933bb..000000000 --- a/atlassian/bitbucket/6.0.4/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.4/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.4/Dockerfile.jdk11 deleted file mode 100644 index caefc5aff..000000000 --- a/atlassian/bitbucket/6.0.4/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.4/Makefile b/atlassian/bitbucket/6.0.4/Makefile deleted file mode 100644 index 160c185a1..000000000 --- a/atlassian/bitbucket/6.0.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.4 . diff --git a/atlassian/bitbucket/6.0.4/README.md b/atlassian/bitbucket/6.0.4/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.4/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.4/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.4/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.4/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.4/entrypoint.sh b/atlassian/bitbucket/6.0.4/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.4/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.5/.docker-repository.yml b/atlassian/bitbucket/6.0.5/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.5/.dockerignore b/atlassian/bitbucket/6.0.5/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.5/Dockerfile b/atlassian/bitbucket/6.0.5/Dockerfile deleted file mode 100644 index 364a70c89..000000000 --- a/atlassian/bitbucket/6.0.5/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.5/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.5/Dockerfile.jdk11 deleted file mode 100644 index 38859b28e..000000000 --- a/atlassian/bitbucket/6.0.5/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.5/Makefile b/atlassian/bitbucket/6.0.5/Makefile deleted file mode 100644 index 052ebd835..000000000 --- a/atlassian/bitbucket/6.0.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.5 . diff --git a/atlassian/bitbucket/6.0.5/README.md b/atlassian/bitbucket/6.0.5/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.5/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.5/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.5/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.5/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.5/entrypoint.sh b/atlassian/bitbucket/6.0.5/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.5/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.6/.docker-repository.yml b/atlassian/bitbucket/6.0.6/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.6/.dockerignore b/atlassian/bitbucket/6.0.6/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.6/Dockerfile b/atlassian/bitbucket/6.0.6/Dockerfile deleted file mode 100644 index 062d48a5a..000000000 --- a/atlassian/bitbucket/6.0.6/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.6/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.6/Dockerfile.jdk11 deleted file mode 100644 index 6dcc7175d..000000000 --- a/atlassian/bitbucket/6.0.6/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.6/Makefile b/atlassian/bitbucket/6.0.6/Makefile deleted file mode 100644 index b9480fdfb..000000000 --- a/atlassian/bitbucket/6.0.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.6 . diff --git a/atlassian/bitbucket/6.0.6/README.md b/atlassian/bitbucket/6.0.6/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.6/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.6/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.6/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.6/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.6/entrypoint.sh b/atlassian/bitbucket/6.0.6/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.6/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.7/.docker-repository.yml b/atlassian/bitbucket/6.0.7/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.7/.dockerignore b/atlassian/bitbucket/6.0.7/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.7/Dockerfile b/atlassian/bitbucket/6.0.7/Dockerfile deleted file mode 100644 index da0774d02..000000000 --- a/atlassian/bitbucket/6.0.7/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.7/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.7/Dockerfile.jdk11 deleted file mode 100644 index c51b46a3f..000000000 --- a/atlassian/bitbucket/6.0.7/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.7/Makefile b/atlassian/bitbucket/6.0.7/Makefile deleted file mode 100644 index f090d535f..000000000 --- a/atlassian/bitbucket/6.0.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.7 . diff --git a/atlassian/bitbucket/6.0.7/README.md b/atlassian/bitbucket/6.0.7/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.7/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.7/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.7/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.7/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.7/entrypoint.sh b/atlassian/bitbucket/6.0.7/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.7/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.0.9/.docker-repository.yml b/atlassian/bitbucket/6.0.9/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.0.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.0.9/.dockerignore b/atlassian/bitbucket/6.0.9/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.0.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.0.9/Dockerfile b/atlassian/bitbucket/6.0.9/Dockerfile deleted file mode 100644 index 1635b2060..000000000 --- a/atlassian/bitbucket/6.0.9/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.9 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.9/Dockerfile.jdk11 b/atlassian/bitbucket/6.0.9/Dockerfile.jdk11 deleted file mode 100644 index 96aa8d176..000000000 --- a/atlassian/bitbucket/6.0.9/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.0.9 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.0.9/Makefile b/atlassian/bitbucket/6.0.9/Makefile deleted file mode 100644 index 0d12fedd1..000000000 --- a/atlassian/bitbucket/6.0.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.0.9 . diff --git a/atlassian/bitbucket/6.0.9/README.md b/atlassian/bitbucket/6.0.9/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.0.9/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.0.9/bitbucket-pipelines.yml b/atlassian/bitbucket/6.0.9/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.0.9/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.0.9/entrypoint.sh b/atlassian/bitbucket/6.0.9/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.0.9/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.0/.docker-repository.yml b/atlassian/bitbucket/6.1.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.0/.dockerignore b/atlassian/bitbucket/6.1.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.0/Dockerfile b/atlassian/bitbucket/6.1.0/Dockerfile deleted file mode 100644 index 2fd77161a..000000000 --- a/atlassian/bitbucket/6.1.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.0/Dockerfile.jdk11 deleted file mode 100644 index 3d877d7dc..000000000 --- a/atlassian/bitbucket/6.1.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.0/Makefile b/atlassian/bitbucket/6.1.0/Makefile deleted file mode 100644 index 8b4a0b2e6..000000000 --- a/atlassian/bitbucket/6.1.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.0 . diff --git a/atlassian/bitbucket/6.1.0/README.md b/atlassian/bitbucket/6.1.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.0/entrypoint.sh b/atlassian/bitbucket/6.1.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.1/.docker-repository.yml b/atlassian/bitbucket/6.1.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.1/.dockerignore b/atlassian/bitbucket/6.1.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.1/Dockerfile b/atlassian/bitbucket/6.1.1/Dockerfile deleted file mode 100644 index 8d13a007e..000000000 --- a/atlassian/bitbucket/6.1.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.1/Dockerfile.jdk11 deleted file mode 100644 index 7cd3f13f1..000000000 --- a/atlassian/bitbucket/6.1.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.1/Makefile b/atlassian/bitbucket/6.1.1/Makefile deleted file mode 100644 index c23cff52c..000000000 --- a/atlassian/bitbucket/6.1.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.1 . diff --git a/atlassian/bitbucket/6.1.1/README.md b/atlassian/bitbucket/6.1.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.1/entrypoint.sh b/atlassian/bitbucket/6.1.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.2/.docker-repository.yml b/atlassian/bitbucket/6.1.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.2/.dockerignore b/atlassian/bitbucket/6.1.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.2/Dockerfile b/atlassian/bitbucket/6.1.2/Dockerfile deleted file mode 100644 index 45f5d4afe..000000000 --- a/atlassian/bitbucket/6.1.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.2/Dockerfile.jdk11 deleted file mode 100644 index 34a9a0c08..000000000 --- a/atlassian/bitbucket/6.1.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.2/Makefile b/atlassian/bitbucket/6.1.2/Makefile deleted file mode 100644 index eab88f151..000000000 --- a/atlassian/bitbucket/6.1.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.2 . diff --git a/atlassian/bitbucket/6.1.2/README.md b/atlassian/bitbucket/6.1.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.2/entrypoint.sh b/atlassian/bitbucket/6.1.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.3/.docker-repository.yml b/atlassian/bitbucket/6.1.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.3/.dockerignore b/atlassian/bitbucket/6.1.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.3/Dockerfile b/atlassian/bitbucket/6.1.3/Dockerfile deleted file mode 100644 index 4ee74f3b9..000000000 --- a/atlassian/bitbucket/6.1.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.3/Dockerfile.jdk11 deleted file mode 100644 index 43807d731..000000000 --- a/atlassian/bitbucket/6.1.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.3/Makefile b/atlassian/bitbucket/6.1.3/Makefile deleted file mode 100644 index e19e01b55..000000000 --- a/atlassian/bitbucket/6.1.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.3 . diff --git a/atlassian/bitbucket/6.1.3/README.md b/atlassian/bitbucket/6.1.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.3/entrypoint.sh b/atlassian/bitbucket/6.1.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.4/.docker-repository.yml b/atlassian/bitbucket/6.1.4/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.4/.dockerignore b/atlassian/bitbucket/6.1.4/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.4/Dockerfile b/atlassian/bitbucket/6.1.4/Dockerfile deleted file mode 100644 index cfb7a9fc9..000000000 --- a/atlassian/bitbucket/6.1.4/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.4/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.4/Dockerfile.jdk11 deleted file mode 100644 index e4a2add7e..000000000 --- a/atlassian/bitbucket/6.1.4/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.4/Makefile b/atlassian/bitbucket/6.1.4/Makefile deleted file mode 100644 index 1c3aad0c4..000000000 --- a/atlassian/bitbucket/6.1.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.4 . diff --git a/atlassian/bitbucket/6.1.4/README.md b/atlassian/bitbucket/6.1.4/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.4/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.4/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.4/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.4/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.4/entrypoint.sh b/atlassian/bitbucket/6.1.4/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.4/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.5/.docker-repository.yml b/atlassian/bitbucket/6.1.5/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.5/.dockerignore b/atlassian/bitbucket/6.1.5/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.5/Dockerfile b/atlassian/bitbucket/6.1.5/Dockerfile deleted file mode 100644 index 2e51f4fed..000000000 --- a/atlassian/bitbucket/6.1.5/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.5/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.5/Dockerfile.jdk11 deleted file mode 100644 index 40ca9f3d1..000000000 --- a/atlassian/bitbucket/6.1.5/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.5/Makefile b/atlassian/bitbucket/6.1.5/Makefile deleted file mode 100644 index 9413cfb4d..000000000 --- a/atlassian/bitbucket/6.1.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.5 . diff --git a/atlassian/bitbucket/6.1.5/README.md b/atlassian/bitbucket/6.1.5/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.5/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.5/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.5/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.5/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.5/entrypoint.sh b/atlassian/bitbucket/6.1.5/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.5/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.6/.docker-repository.yml b/atlassian/bitbucket/6.1.6/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.6/.dockerignore b/atlassian/bitbucket/6.1.6/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.6/Dockerfile b/atlassian/bitbucket/6.1.6/Dockerfile deleted file mode 100644 index fe50047e6..000000000 --- a/atlassian/bitbucket/6.1.6/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.6/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.6/Dockerfile.jdk11 deleted file mode 100644 index f136b0930..000000000 --- a/atlassian/bitbucket/6.1.6/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.6/Makefile b/atlassian/bitbucket/6.1.6/Makefile deleted file mode 100644 index 5fb1f5d36..000000000 --- a/atlassian/bitbucket/6.1.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.6 . diff --git a/atlassian/bitbucket/6.1.6/README.md b/atlassian/bitbucket/6.1.6/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.6/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.6/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.6/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.6/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.6/entrypoint.sh b/atlassian/bitbucket/6.1.6/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.6/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.7/.docker-repository.yml b/atlassian/bitbucket/6.1.7/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.7/.dockerignore b/atlassian/bitbucket/6.1.7/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.7/Dockerfile b/atlassian/bitbucket/6.1.7/Dockerfile deleted file mode 100644 index a7bd4961a..000000000 --- a/atlassian/bitbucket/6.1.7/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.7/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.7/Dockerfile.jdk11 deleted file mode 100644 index e1d78352a..000000000 --- a/atlassian/bitbucket/6.1.7/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.7/Makefile b/atlassian/bitbucket/6.1.7/Makefile deleted file mode 100644 index 07a18d04b..000000000 --- a/atlassian/bitbucket/6.1.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.7 . diff --git a/atlassian/bitbucket/6.1.7/README.md b/atlassian/bitbucket/6.1.7/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.7/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.7/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.7/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.7/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.7/entrypoint.sh b/atlassian/bitbucket/6.1.7/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.7/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.8/.docker-repository.yml b/atlassian/bitbucket/6.1.8/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.8/.dockerignore b/atlassian/bitbucket/6.1.8/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.8/Dockerfile b/atlassian/bitbucket/6.1.8/Dockerfile deleted file mode 100644 index 92aa34b0f..000000000 --- a/atlassian/bitbucket/6.1.8/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.8 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.8/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.8/Dockerfile.jdk11 deleted file mode 100644 index 29317a8ad..000000000 --- a/atlassian/bitbucket/6.1.8/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.8 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.8/Makefile b/atlassian/bitbucket/6.1.8/Makefile deleted file mode 100644 index c6459ca25..000000000 --- a/atlassian/bitbucket/6.1.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.8 . diff --git a/atlassian/bitbucket/6.1.8/README.md b/atlassian/bitbucket/6.1.8/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.8/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.8/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.8/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.8/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.8/entrypoint.sh b/atlassian/bitbucket/6.1.8/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.8/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.1.9/.docker-repository.yml b/atlassian/bitbucket/6.1.9/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.1.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.1.9/.dockerignore b/atlassian/bitbucket/6.1.9/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.1.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.1.9/Dockerfile b/atlassian/bitbucket/6.1.9/Dockerfile deleted file mode 100644 index 4ed773870..000000000 --- a/atlassian/bitbucket/6.1.9/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.9 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.9/Dockerfile.jdk11 b/atlassian/bitbucket/6.1.9/Dockerfile.jdk11 deleted file mode 100644 index c30f7a6ee..000000000 --- a/atlassian/bitbucket/6.1.9/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.1.9 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.1.9/Makefile b/atlassian/bitbucket/6.1.9/Makefile deleted file mode 100644 index 4a4deaf08..000000000 --- a/atlassian/bitbucket/6.1.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.1.9 . diff --git a/atlassian/bitbucket/6.1.9/README.md b/atlassian/bitbucket/6.1.9/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.1.9/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.1.9/bitbucket-pipelines.yml b/atlassian/bitbucket/6.1.9/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.1.9/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.1.9/entrypoint.sh b/atlassian/bitbucket/6.1.9/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.1.9/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.10.0/.docker-repository.yml b/atlassian/bitbucket/6.10.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.10.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.10.0/.dockerignore b/atlassian/bitbucket/6.10.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.10.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.10.0/Dockerfile b/atlassian/bitbucket/6.10.0/Dockerfile deleted file mode 100644 index e4dd232d7..000000000 --- a/atlassian/bitbucket/6.10.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.10.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.10.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.10.0/Dockerfile.jdk11 deleted file mode 100644 index 053caa0ff..000000000 --- a/atlassian/bitbucket/6.10.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.10.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.10.0/Makefile b/atlassian/bitbucket/6.10.0/Makefile deleted file mode 100644 index 4d2d6aed8..000000000 --- a/atlassian/bitbucket/6.10.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.10.0 . - docker push epicmorg/bitbucket:6.10.0 diff --git a/atlassian/bitbucket/6.10.0/README.md b/atlassian/bitbucket/6.10.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.10.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.10.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.10.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.10.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.10.0/entrypoint.sh b/atlassian/bitbucket/6.10.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.10.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.0/.docker-repository.yml b/atlassian/bitbucket/6.2.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.0/.dockerignore b/atlassian/bitbucket/6.2.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.0/Dockerfile b/atlassian/bitbucket/6.2.0/Dockerfile deleted file mode 100644 index 8cb993329..000000000 --- a/atlassian/bitbucket/6.2.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.0/Dockerfile.jdk11 deleted file mode 100644 index b54e88165..000000000 --- a/atlassian/bitbucket/6.2.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.0/Makefile b/atlassian/bitbucket/6.2.0/Makefile deleted file mode 100644 index fe7b9fa80..000000000 --- a/atlassian/bitbucket/6.2.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.0 . diff --git a/atlassian/bitbucket/6.2.0/README.md b/atlassian/bitbucket/6.2.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.0/entrypoint.sh b/atlassian/bitbucket/6.2.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.1/.docker-repository.yml b/atlassian/bitbucket/6.2.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.1/.dockerignore b/atlassian/bitbucket/6.2.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.1/Dockerfile b/atlassian/bitbucket/6.2.1/Dockerfile deleted file mode 100644 index de725b5d0..000000000 --- a/atlassian/bitbucket/6.2.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.1/Dockerfile.jdk11 deleted file mode 100644 index e75ca5e43..000000000 --- a/atlassian/bitbucket/6.2.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.1/Makefile b/atlassian/bitbucket/6.2.1/Makefile deleted file mode 100644 index d3458a561..000000000 --- a/atlassian/bitbucket/6.2.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.1 . diff --git a/atlassian/bitbucket/6.2.1/README.md b/atlassian/bitbucket/6.2.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.1/entrypoint.sh b/atlassian/bitbucket/6.2.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.2/.docker-repository.yml b/atlassian/bitbucket/6.2.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.2/.dockerignore b/atlassian/bitbucket/6.2.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.2/Dockerfile b/atlassian/bitbucket/6.2.2/Dockerfile deleted file mode 100644 index e406d5892..000000000 --- a/atlassian/bitbucket/6.2.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.2/Dockerfile.jdk11 deleted file mode 100644 index b6a53aa0a..000000000 --- a/atlassian/bitbucket/6.2.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.2/Makefile b/atlassian/bitbucket/6.2.2/Makefile deleted file mode 100644 index 1878acb51..000000000 --- a/atlassian/bitbucket/6.2.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.2 . diff --git a/atlassian/bitbucket/6.2.2/README.md b/atlassian/bitbucket/6.2.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.2/entrypoint.sh b/atlassian/bitbucket/6.2.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.3/.docker-repository.yml b/atlassian/bitbucket/6.2.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.3/.dockerignore b/atlassian/bitbucket/6.2.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.3/Dockerfile b/atlassian/bitbucket/6.2.3/Dockerfile deleted file mode 100644 index 2c1967231..000000000 --- a/atlassian/bitbucket/6.2.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.3/Dockerfile.jdk11 deleted file mode 100644 index ca22f13d7..000000000 --- a/atlassian/bitbucket/6.2.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.3/Makefile b/atlassian/bitbucket/6.2.3/Makefile deleted file mode 100644 index 0ef3190fe..000000000 --- a/atlassian/bitbucket/6.2.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.3 . diff --git a/atlassian/bitbucket/6.2.3/README.md b/atlassian/bitbucket/6.2.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.3/entrypoint.sh b/atlassian/bitbucket/6.2.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.4/.docker-repository.yml b/atlassian/bitbucket/6.2.4/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.4/.dockerignore b/atlassian/bitbucket/6.2.4/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.4/Dockerfile b/atlassian/bitbucket/6.2.4/Dockerfile deleted file mode 100644 index 49e813fb2..000000000 --- a/atlassian/bitbucket/6.2.4/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.4/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.4/Dockerfile.jdk11 deleted file mode 100644 index 2b6bc29f3..000000000 --- a/atlassian/bitbucket/6.2.4/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.4/Makefile b/atlassian/bitbucket/6.2.4/Makefile deleted file mode 100644 index d8519fde7..000000000 --- a/atlassian/bitbucket/6.2.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.4 . diff --git a/atlassian/bitbucket/6.2.4/README.md b/atlassian/bitbucket/6.2.4/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.4/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.4/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.4/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.4/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.4/entrypoint.sh b/atlassian/bitbucket/6.2.4/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.4/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.5/.docker-repository.yml b/atlassian/bitbucket/6.2.5/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.5/.dockerignore b/atlassian/bitbucket/6.2.5/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.5/Dockerfile b/atlassian/bitbucket/6.2.5/Dockerfile deleted file mode 100644 index f7efdd14a..000000000 --- a/atlassian/bitbucket/6.2.5/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.5/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.5/Dockerfile.jdk11 deleted file mode 100644 index 5ebb396e4..000000000 --- a/atlassian/bitbucket/6.2.5/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.5/Makefile b/atlassian/bitbucket/6.2.5/Makefile deleted file mode 100644 index da55fdd3e..000000000 --- a/atlassian/bitbucket/6.2.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.5 . diff --git a/atlassian/bitbucket/6.2.5/README.md b/atlassian/bitbucket/6.2.5/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.5/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.5/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.5/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.5/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.5/entrypoint.sh b/atlassian/bitbucket/6.2.5/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.5/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.6/.docker-repository.yml b/atlassian/bitbucket/6.2.6/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.6/.dockerignore b/atlassian/bitbucket/6.2.6/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.6/Dockerfile b/atlassian/bitbucket/6.2.6/Dockerfile deleted file mode 100644 index 74f08fab5..000000000 --- a/atlassian/bitbucket/6.2.6/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.6/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.6/Dockerfile.jdk11 deleted file mode 100644 index 8530e21ae..000000000 --- a/atlassian/bitbucket/6.2.6/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.6/Makefile b/atlassian/bitbucket/6.2.6/Makefile deleted file mode 100644 index 142f93ebc..000000000 --- a/atlassian/bitbucket/6.2.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.6 . diff --git a/atlassian/bitbucket/6.2.6/README.md b/atlassian/bitbucket/6.2.6/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.6/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.6/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.6/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.6/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.6/entrypoint.sh b/atlassian/bitbucket/6.2.6/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.6/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.2.7/.docker-repository.yml b/atlassian/bitbucket/6.2.7/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.2.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.2.7/.dockerignore b/atlassian/bitbucket/6.2.7/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.2.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.2.7/Dockerfile b/atlassian/bitbucket/6.2.7/Dockerfile deleted file mode 100644 index 6543d37cb..000000000 --- a/atlassian/bitbucket/6.2.7/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.7/Dockerfile.jdk11 b/atlassian/bitbucket/6.2.7/Dockerfile.jdk11 deleted file mode 100644 index 8ebe06e9a..000000000 --- a/atlassian/bitbucket/6.2.7/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.2.7 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.2.7/Makefile b/atlassian/bitbucket/6.2.7/Makefile deleted file mode 100644 index e41dedb75..000000000 --- a/atlassian/bitbucket/6.2.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.2.7 . diff --git a/atlassian/bitbucket/6.2.7/README.md b/atlassian/bitbucket/6.2.7/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.2.7/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.2.7/bitbucket-pipelines.yml b/atlassian/bitbucket/6.2.7/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.2.7/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.2.7/entrypoint.sh b/atlassian/bitbucket/6.2.7/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.2.7/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.0/.docker-repository.yml b/atlassian/bitbucket/6.3.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.0/.dockerignore b/atlassian/bitbucket/6.3.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.0/Dockerfile b/atlassian/bitbucket/6.3.0/Dockerfile deleted file mode 100644 index 9e6c47d4c..000000000 --- a/atlassian/bitbucket/6.3.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.0/Dockerfile.jdk11 deleted file mode 100644 index 8f9acef31..000000000 --- a/atlassian/bitbucket/6.3.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.0/Makefile b/atlassian/bitbucket/6.3.0/Makefile deleted file mode 100644 index e17e1aeed..000000000 --- a/atlassian/bitbucket/6.3.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.0 . diff --git a/atlassian/bitbucket/6.3.0/README.md b/atlassian/bitbucket/6.3.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.0/entrypoint.sh b/atlassian/bitbucket/6.3.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.1/.docker-repository.yml b/atlassian/bitbucket/6.3.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.1/.dockerignore b/atlassian/bitbucket/6.3.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.1/Dockerfile b/atlassian/bitbucket/6.3.1/Dockerfile deleted file mode 100644 index bcb7b8f4e..000000000 --- a/atlassian/bitbucket/6.3.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.1/Dockerfile.jdk11 deleted file mode 100644 index 346601dd1..000000000 --- a/atlassian/bitbucket/6.3.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.1/Makefile b/atlassian/bitbucket/6.3.1/Makefile deleted file mode 100644 index 67a7a1cb8..000000000 --- a/atlassian/bitbucket/6.3.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.1 . diff --git a/atlassian/bitbucket/6.3.1/README.md b/atlassian/bitbucket/6.3.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.1/entrypoint.sh b/atlassian/bitbucket/6.3.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.2/.docker-repository.yml b/atlassian/bitbucket/6.3.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.2/.dockerignore b/atlassian/bitbucket/6.3.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.2/Dockerfile b/atlassian/bitbucket/6.3.2/Dockerfile deleted file mode 100644 index 64078dd02..000000000 --- a/atlassian/bitbucket/6.3.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.2/Dockerfile.jdk11 deleted file mode 100644 index 7b26a0df2..000000000 --- a/atlassian/bitbucket/6.3.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.2/Makefile b/atlassian/bitbucket/6.3.2/Makefile deleted file mode 100644 index ed74d5bd8..000000000 --- a/atlassian/bitbucket/6.3.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.2 . diff --git a/atlassian/bitbucket/6.3.2/README.md b/atlassian/bitbucket/6.3.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.2/entrypoint.sh b/atlassian/bitbucket/6.3.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.3/.docker-repository.yml b/atlassian/bitbucket/6.3.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.3/.dockerignore b/atlassian/bitbucket/6.3.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.3/Dockerfile b/atlassian/bitbucket/6.3.3/Dockerfile deleted file mode 100644 index 8e9d26dce..000000000 --- a/atlassian/bitbucket/6.3.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.3/Dockerfile.jdk11 deleted file mode 100644 index 5e4e3cc83..000000000 --- a/atlassian/bitbucket/6.3.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.3/Makefile b/atlassian/bitbucket/6.3.3/Makefile deleted file mode 100644 index 8261e0497..000000000 --- a/atlassian/bitbucket/6.3.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.3 . diff --git a/atlassian/bitbucket/6.3.3/README.md b/atlassian/bitbucket/6.3.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.3/entrypoint.sh b/atlassian/bitbucket/6.3.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.4/.docker-repository.yml b/atlassian/bitbucket/6.3.4/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.4/.dockerignore b/atlassian/bitbucket/6.3.4/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.4/Dockerfile b/atlassian/bitbucket/6.3.4/Dockerfile deleted file mode 100644 index babcd3d9f..000000000 --- a/atlassian/bitbucket/6.3.4/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.4/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.4/Dockerfile.jdk11 deleted file mode 100644 index 9ca261f0d..000000000 --- a/atlassian/bitbucket/6.3.4/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.4/Makefile b/atlassian/bitbucket/6.3.4/Makefile deleted file mode 100644 index e4bc1e927..000000000 --- a/atlassian/bitbucket/6.3.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.4 . diff --git a/atlassian/bitbucket/6.3.4/README.md b/atlassian/bitbucket/6.3.4/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.4/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.4/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.4/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.4/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.4/entrypoint.sh b/atlassian/bitbucket/6.3.4/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.4/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.5/.docker-repository.yml b/atlassian/bitbucket/6.3.5/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.5/.dockerignore b/atlassian/bitbucket/6.3.5/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.5/Dockerfile b/atlassian/bitbucket/6.3.5/Dockerfile deleted file mode 100644 index c3f35d451..000000000 --- a/atlassian/bitbucket/6.3.5/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.5/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.5/Dockerfile.jdk11 deleted file mode 100644 index cdfc1eca5..000000000 --- a/atlassian/bitbucket/6.3.5/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.5 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.5/Makefile b/atlassian/bitbucket/6.3.5/Makefile deleted file mode 100644 index e2a991ebd..000000000 --- a/atlassian/bitbucket/6.3.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.5 . diff --git a/atlassian/bitbucket/6.3.5/README.md b/atlassian/bitbucket/6.3.5/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.5/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.5/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.5/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.5/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.5/entrypoint.sh b/atlassian/bitbucket/6.3.5/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.5/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.3.6/.docker-repository.yml b/atlassian/bitbucket/6.3.6/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.3.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.3.6/.dockerignore b/atlassian/bitbucket/6.3.6/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.3.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.3.6/Dockerfile b/atlassian/bitbucket/6.3.6/Dockerfile deleted file mode 100644 index 23786a79d..000000000 --- a/atlassian/bitbucket/6.3.6/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.6/Dockerfile.jdk11 b/atlassian/bitbucket/6.3.6/Dockerfile.jdk11 deleted file mode 100644 index 0c69fb20f..000000000 --- a/atlassian/bitbucket/6.3.6/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.3.6 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.3.6/Makefile b/atlassian/bitbucket/6.3.6/Makefile deleted file mode 100644 index d1f963390..000000000 --- a/atlassian/bitbucket/6.3.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.3.6 . diff --git a/atlassian/bitbucket/6.3.6/README.md b/atlassian/bitbucket/6.3.6/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.3.6/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.3.6/bitbucket-pipelines.yml b/atlassian/bitbucket/6.3.6/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.3.6/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.3.6/entrypoint.sh b/atlassian/bitbucket/6.3.6/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.3.6/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.4.0/.docker-repository.yml b/atlassian/bitbucket/6.4.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.4.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.4.0/.dockerignore b/atlassian/bitbucket/6.4.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.4.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.4.0/Dockerfile b/atlassian/bitbucket/6.4.0/Dockerfile deleted file mode 100644 index a1ab398b5..000000000 --- a/atlassian/bitbucket/6.4.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.4.0/Dockerfile.jdk11 deleted file mode 100644 index 1e0821e46..000000000 --- a/atlassian/bitbucket/6.4.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.0/Makefile b/atlassian/bitbucket/6.4.0/Makefile deleted file mode 100644 index 31c0b093e..000000000 --- a/atlassian/bitbucket/6.4.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.4.0 . diff --git a/atlassian/bitbucket/6.4.0/README.md b/atlassian/bitbucket/6.4.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.4.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.4.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.4.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.4.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.4.0/entrypoint.sh b/atlassian/bitbucket/6.4.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.4.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.4.1/.docker-repository.yml b/atlassian/bitbucket/6.4.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.4.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.4.1/.dockerignore b/atlassian/bitbucket/6.4.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.4.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.4.1/Dockerfile b/atlassian/bitbucket/6.4.1/Dockerfile deleted file mode 100644 index b55dae250..000000000 --- a/atlassian/bitbucket/6.4.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.4.1/Dockerfile.jdk11 deleted file mode 100644 index 6b25e0704..000000000 --- a/atlassian/bitbucket/6.4.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.1/Makefile b/atlassian/bitbucket/6.4.1/Makefile deleted file mode 100644 index caf3ce22e..000000000 --- a/atlassian/bitbucket/6.4.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.4.1 . diff --git a/atlassian/bitbucket/6.4.1/README.md b/atlassian/bitbucket/6.4.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.4.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.4.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.4.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.4.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.4.1/entrypoint.sh b/atlassian/bitbucket/6.4.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.4.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.4.2/.docker-repository.yml b/atlassian/bitbucket/6.4.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.4.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.4.2/.dockerignore b/atlassian/bitbucket/6.4.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.4.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.4.2/Dockerfile b/atlassian/bitbucket/6.4.2/Dockerfile deleted file mode 100644 index 5daadb343..000000000 --- a/atlassian/bitbucket/6.4.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.4.2/Dockerfile.jdk11 deleted file mode 100644 index d8caaa055..000000000 --- a/atlassian/bitbucket/6.4.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.2/Makefile b/atlassian/bitbucket/6.4.2/Makefile deleted file mode 100644 index 41cc6d9a4..000000000 --- a/atlassian/bitbucket/6.4.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.4.2 . diff --git a/atlassian/bitbucket/6.4.2/README.md b/atlassian/bitbucket/6.4.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.4.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.4.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.4.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.4.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.4.2/entrypoint.sh b/atlassian/bitbucket/6.4.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.4.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.4.3/.docker-repository.yml b/atlassian/bitbucket/6.4.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.4.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.4.3/.dockerignore b/atlassian/bitbucket/6.4.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.4.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.4.3/Dockerfile b/atlassian/bitbucket/6.4.3/Dockerfile deleted file mode 100644 index d5b59ddd1..000000000 --- a/atlassian/bitbucket/6.4.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.4.3/Dockerfile.jdk11 deleted file mode 100644 index b9af28c9a..000000000 --- a/atlassian/bitbucket/6.4.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.3/Makefile b/atlassian/bitbucket/6.4.3/Makefile deleted file mode 100644 index 6db1dc0d6..000000000 --- a/atlassian/bitbucket/6.4.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.4.3 . diff --git a/atlassian/bitbucket/6.4.3/README.md b/atlassian/bitbucket/6.4.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.4.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.4.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.4.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.4.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.4.3/entrypoint.sh b/atlassian/bitbucket/6.4.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.4.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.4.4/.docker-repository.yml b/atlassian/bitbucket/6.4.4/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.4.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.4.4/.dockerignore b/atlassian/bitbucket/6.4.4/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.4.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.4.4/Dockerfile b/atlassian/bitbucket/6.4.4/Dockerfile deleted file mode 100644 index d49f0ba50..000000000 --- a/atlassian/bitbucket/6.4.4/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.4/Dockerfile.jdk11 b/atlassian/bitbucket/6.4.4/Dockerfile.jdk11 deleted file mode 100644 index 048852cdc..000000000 --- a/atlassian/bitbucket/6.4.4/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.4.4 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.4.4/Makefile b/atlassian/bitbucket/6.4.4/Makefile deleted file mode 100644 index 2478677d3..000000000 --- a/atlassian/bitbucket/6.4.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.4.4 . diff --git a/atlassian/bitbucket/6.4.4/README.md b/atlassian/bitbucket/6.4.4/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.4.4/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.4.4/bitbucket-pipelines.yml b/atlassian/bitbucket/6.4.4/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.4.4/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.4.4/entrypoint.sh b/atlassian/bitbucket/6.4.4/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.4.4/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.5.0/.docker-repository.yml b/atlassian/bitbucket/6.5.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.5.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.5.0/.dockerignore b/atlassian/bitbucket/6.5.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.5.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.5.0/Dockerfile b/atlassian/bitbucket/6.5.0/Dockerfile deleted file mode 100644 index a311e75f4..000000000 --- a/atlassian/bitbucket/6.5.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.5.0/Dockerfile.jdk11 deleted file mode 100644 index 75c4d0dc3..000000000 --- a/atlassian/bitbucket/6.5.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.0/Makefile b/atlassian/bitbucket/6.5.0/Makefile deleted file mode 100644 index 60463c7ce..000000000 --- a/atlassian/bitbucket/6.5.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.5.0 . diff --git a/atlassian/bitbucket/6.5.0/README.md b/atlassian/bitbucket/6.5.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.5.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.5.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.5.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.5.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.5.0/entrypoint.sh b/atlassian/bitbucket/6.5.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.5.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.5.1/.docker-repository.yml b/atlassian/bitbucket/6.5.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.5.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.5.1/.dockerignore b/atlassian/bitbucket/6.5.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.5.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.5.1/Dockerfile b/atlassian/bitbucket/6.5.1/Dockerfile deleted file mode 100644 index d9b555a36..000000000 --- a/atlassian/bitbucket/6.5.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.5.1/Dockerfile.jdk11 deleted file mode 100644 index 93a21cf28..000000000 --- a/atlassian/bitbucket/6.5.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.1/Makefile b/atlassian/bitbucket/6.5.1/Makefile deleted file mode 100644 index d67786c7a..000000000 --- a/atlassian/bitbucket/6.5.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.5.1 . diff --git a/atlassian/bitbucket/6.5.1/README.md b/atlassian/bitbucket/6.5.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.5.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.5.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.5.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.5.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.5.1/entrypoint.sh b/atlassian/bitbucket/6.5.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.5.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.5.2/.docker-repository.yml b/atlassian/bitbucket/6.5.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.5.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.5.2/.dockerignore b/atlassian/bitbucket/6.5.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.5.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.5.2/Dockerfile b/atlassian/bitbucket/6.5.2/Dockerfile deleted file mode 100644 index 4c53c5e1b..000000000 --- a/atlassian/bitbucket/6.5.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.5.2/Dockerfile.jdk11 deleted file mode 100644 index 3b08acf93..000000000 --- a/atlassian/bitbucket/6.5.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.2/Makefile b/atlassian/bitbucket/6.5.2/Makefile deleted file mode 100644 index 2a2305d3d..000000000 --- a/atlassian/bitbucket/6.5.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.5.2 . diff --git a/atlassian/bitbucket/6.5.2/README.md b/atlassian/bitbucket/6.5.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.5.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.5.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.5.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.5.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.5.2/entrypoint.sh b/atlassian/bitbucket/6.5.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.5.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.5.3/.docker-repository.yml b/atlassian/bitbucket/6.5.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.5.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.5.3/.dockerignore b/atlassian/bitbucket/6.5.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.5.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.5.3/Dockerfile b/atlassian/bitbucket/6.5.3/Dockerfile deleted file mode 100644 index b480f2fd9..000000000 --- a/atlassian/bitbucket/6.5.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.5.3/Dockerfile.jdk11 deleted file mode 100644 index 7c4247ef6..000000000 --- a/atlassian/bitbucket/6.5.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.5.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.5.3/Makefile b/atlassian/bitbucket/6.5.3/Makefile deleted file mode 100644 index 7834a6acd..000000000 --- a/atlassian/bitbucket/6.5.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.5.3 . diff --git a/atlassian/bitbucket/6.5.3/README.md b/atlassian/bitbucket/6.5.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.5.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.5.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.5.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.5.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.5.3/entrypoint.sh b/atlassian/bitbucket/6.5.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.5.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.6.0/.docker-repository.yml b/atlassian/bitbucket/6.6.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.6.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.6.0/.dockerignore b/atlassian/bitbucket/6.6.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.6.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.6.0/Dockerfile b/atlassian/bitbucket/6.6.0/Dockerfile deleted file mode 100644 index 0a0869ca8..000000000 --- a/atlassian/bitbucket/6.6.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.6.0/Dockerfile.jdk11 deleted file mode 100644 index 599124d29..000000000 --- a/atlassian/bitbucket/6.6.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.0/Makefile b/atlassian/bitbucket/6.6.0/Makefile deleted file mode 100644 index 56b44bb38..000000000 --- a/atlassian/bitbucket/6.6.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.6.0 . diff --git a/atlassian/bitbucket/6.6.0/README.md b/atlassian/bitbucket/6.6.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.6.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.6.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.6.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.6.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.6.0/entrypoint.sh b/atlassian/bitbucket/6.6.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.6.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.6.1/.docker-repository.yml b/atlassian/bitbucket/6.6.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.6.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.6.1/.dockerignore b/atlassian/bitbucket/6.6.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.6.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.6.1/Dockerfile b/atlassian/bitbucket/6.6.1/Dockerfile deleted file mode 100644 index c19ed0be9..000000000 --- a/atlassian/bitbucket/6.6.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.6.1/Dockerfile.jdk11 deleted file mode 100644 index c459bc9a4..000000000 --- a/atlassian/bitbucket/6.6.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.1/Makefile b/atlassian/bitbucket/6.6.1/Makefile deleted file mode 100644 index c4c4e86ba..000000000 --- a/atlassian/bitbucket/6.6.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.6.1 . diff --git a/atlassian/bitbucket/6.6.1/README.md b/atlassian/bitbucket/6.6.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.6.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.6.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.6.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.6.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.6.1/entrypoint.sh b/atlassian/bitbucket/6.6.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.6.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.6.2/.docker-repository.yml b/atlassian/bitbucket/6.6.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.6.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.6.2/.dockerignore b/atlassian/bitbucket/6.6.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.6.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.6.2/Dockerfile b/atlassian/bitbucket/6.6.2/Dockerfile deleted file mode 100644 index bc91d8570..000000000 --- a/atlassian/bitbucket/6.6.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.6.2/Dockerfile.jdk11 deleted file mode 100644 index e0db4fc35..000000000 --- a/atlassian/bitbucket/6.6.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.2/Makefile b/atlassian/bitbucket/6.6.2/Makefile deleted file mode 100644 index 80b8967dc..000000000 --- a/atlassian/bitbucket/6.6.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.6.2 . diff --git a/atlassian/bitbucket/6.6.2/README.md b/atlassian/bitbucket/6.6.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.6.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.6.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.6.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.6.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.6.2/entrypoint.sh b/atlassian/bitbucket/6.6.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.6.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.6.3/.docker-repository.yml b/atlassian/bitbucket/6.6.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.6.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.6.3/.dockerignore b/atlassian/bitbucket/6.6.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.6.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.6.3/Dockerfile b/atlassian/bitbucket/6.6.3/Dockerfile deleted file mode 100644 index 28adc3c67..000000000 --- a/atlassian/bitbucket/6.6.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.6.3/Dockerfile.jdk11 deleted file mode 100644 index 03bd57405..000000000 --- a/atlassian/bitbucket/6.6.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.6.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.6.3/Makefile b/atlassian/bitbucket/6.6.3/Makefile deleted file mode 100644 index c6dc6526c..000000000 --- a/atlassian/bitbucket/6.6.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.6.3 . diff --git a/atlassian/bitbucket/6.6.3/README.md b/atlassian/bitbucket/6.6.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.6.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.6.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.6.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.6.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.6.3/entrypoint.sh b/atlassian/bitbucket/6.6.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.6.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.7.0/.docker-repository.yml b/atlassian/bitbucket/6.7.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.7.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.7.0/.dockerignore b/atlassian/bitbucket/6.7.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.7.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.7.0/Dockerfile b/atlassian/bitbucket/6.7.0/Dockerfile deleted file mode 100644 index d71281ff0..000000000 --- a/atlassian/bitbucket/6.7.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.7.0/Dockerfile.jdk11 deleted file mode 100644 index 7e422c1eb..000000000 --- a/atlassian/bitbucket/6.7.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.0/Makefile b/atlassian/bitbucket/6.7.0/Makefile deleted file mode 100644 index 307fa2b18..000000000 --- a/atlassian/bitbucket/6.7.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.7.0 . diff --git a/atlassian/bitbucket/6.7.0/README.md b/atlassian/bitbucket/6.7.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.7.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.7.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.7.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.7.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.7.0/entrypoint.sh b/atlassian/bitbucket/6.7.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.7.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.7.1/.docker-repository.yml b/atlassian/bitbucket/6.7.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.7.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.7.1/.dockerignore b/atlassian/bitbucket/6.7.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.7.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.7.1/Dockerfile b/atlassian/bitbucket/6.7.1/Dockerfile deleted file mode 100644 index 6b4075026..000000000 --- a/atlassian/bitbucket/6.7.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.7.1/Dockerfile.jdk11 deleted file mode 100644 index cd2d58f0b..000000000 --- a/atlassian/bitbucket/6.7.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.1/Makefile b/atlassian/bitbucket/6.7.1/Makefile deleted file mode 100644 index a1838c349..000000000 --- a/atlassian/bitbucket/6.7.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.7.1 . diff --git a/atlassian/bitbucket/6.7.1/README.md b/atlassian/bitbucket/6.7.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.7.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.7.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.7.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.7.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.7.1/entrypoint.sh b/atlassian/bitbucket/6.7.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.7.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.7.2/.docker-repository.yml b/atlassian/bitbucket/6.7.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.7.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.7.2/.dockerignore b/atlassian/bitbucket/6.7.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.7.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.7.2/Dockerfile b/atlassian/bitbucket/6.7.2/Dockerfile deleted file mode 100644 index 29eadf9f8..000000000 --- a/atlassian/bitbucket/6.7.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.7.2/Dockerfile.jdk11 deleted file mode 100644 index eb4e08c46..000000000 --- a/atlassian/bitbucket/6.7.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.2/Makefile b/atlassian/bitbucket/6.7.2/Makefile deleted file mode 100644 index 4684e75dd..000000000 --- a/atlassian/bitbucket/6.7.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.7.2 . diff --git a/atlassian/bitbucket/6.7.2/README.md b/atlassian/bitbucket/6.7.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.7.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.7.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.7.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.7.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.7.2/entrypoint.sh b/atlassian/bitbucket/6.7.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.7.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.7.3/.docker-repository.yml b/atlassian/bitbucket/6.7.3/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.7.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.7.3/.dockerignore b/atlassian/bitbucket/6.7.3/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.7.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.7.3/Dockerfile b/atlassian/bitbucket/6.7.3/Dockerfile deleted file mode 100644 index 56502b88f..000000000 --- a/atlassian/bitbucket/6.7.3/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.3/Dockerfile.jdk11 b/atlassian/bitbucket/6.7.3/Dockerfile.jdk11 deleted file mode 100644 index fd9f18206..000000000 --- a/atlassian/bitbucket/6.7.3/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.7.3 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.7.3/Makefile b/atlassian/bitbucket/6.7.3/Makefile deleted file mode 100644 index e58393db3..000000000 --- a/atlassian/bitbucket/6.7.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.7.3 . diff --git a/atlassian/bitbucket/6.7.3/README.md b/atlassian/bitbucket/6.7.3/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.7.3/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.7.3/bitbucket-pipelines.yml b/atlassian/bitbucket/6.7.3/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.7.3/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.7.3/entrypoint.sh b/atlassian/bitbucket/6.7.3/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.7.3/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.8.0/.docker-repository.yml b/atlassian/bitbucket/6.8.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.8.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.8.0/.dockerignore b/atlassian/bitbucket/6.8.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.8.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.8.0/Dockerfile b/atlassian/bitbucket/6.8.0/Dockerfile deleted file mode 100644 index e9cee63e8..000000000 --- a/atlassian/bitbucket/6.8.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.8.0/Dockerfile.jdk11 deleted file mode 100644 index 2106400bf..000000000 --- a/atlassian/bitbucket/6.8.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.0/Makefile b/atlassian/bitbucket/6.8.0/Makefile deleted file mode 100644 index aee4a4ef6..000000000 --- a/atlassian/bitbucket/6.8.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.8.0 . diff --git a/atlassian/bitbucket/6.8.0/README.md b/atlassian/bitbucket/6.8.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.8.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.8.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.8.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.8.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.8.0/entrypoint.sh b/atlassian/bitbucket/6.8.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.8.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.8.1/.docker-repository.yml b/atlassian/bitbucket/6.8.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.8.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.8.1/.dockerignore b/atlassian/bitbucket/6.8.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.8.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.8.1/Dockerfile b/atlassian/bitbucket/6.8.1/Dockerfile deleted file mode 100644 index 54425164b..000000000 --- a/atlassian/bitbucket/6.8.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.8.1/Dockerfile.jdk11 deleted file mode 100644 index 239ce3eaa..000000000 --- a/atlassian/bitbucket/6.8.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.1/Makefile b/atlassian/bitbucket/6.8.1/Makefile deleted file mode 100644 index 057b71828..000000000 --- a/atlassian/bitbucket/6.8.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.8.1 . - docker push epicmorg/bitbucket:6.8.1 diff --git a/atlassian/bitbucket/6.8.1/README.md b/atlassian/bitbucket/6.8.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.8.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.8.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.8.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.8.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.8.1/entrypoint.sh b/atlassian/bitbucket/6.8.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.8.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.8.2/.docker-repository.yml b/atlassian/bitbucket/6.8.2/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.8.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.8.2/.dockerignore b/atlassian/bitbucket/6.8.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.8.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.8.2/Dockerfile b/atlassian/bitbucket/6.8.2/Dockerfile deleted file mode 100644 index 7d45cb9de..000000000 --- a/atlassian/bitbucket/6.8.2/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.2/Dockerfile.jdk11 b/atlassian/bitbucket/6.8.2/Dockerfile.jdk11 deleted file mode 100644 index c10291b6a..000000000 --- a/atlassian/bitbucket/6.8.2/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.8.2 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.8.2/Makefile b/atlassian/bitbucket/6.8.2/Makefile deleted file mode 100644 index e21467742..000000000 --- a/atlassian/bitbucket/6.8.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.8.2 . - docker push epicmorg/bitbucket:6.8.2 diff --git a/atlassian/bitbucket/6.8.2/README.md b/atlassian/bitbucket/6.8.2/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.8.2/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.8.2/bitbucket-pipelines.yml b/atlassian/bitbucket/6.8.2/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.8.2/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.8.2/entrypoint.sh b/atlassian/bitbucket/6.8.2/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.8.2/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.9.0/.docker-repository.yml b/atlassian/bitbucket/6.9.0/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.9.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.9.0/.dockerignore b/atlassian/bitbucket/6.9.0/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.9.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.9.0/Dockerfile b/atlassian/bitbucket/6.9.0/Dockerfile deleted file mode 100644 index 0a8d4a17f..000000000 --- a/atlassian/bitbucket/6.9.0/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.9.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.9.0/Dockerfile.jdk11 b/atlassian/bitbucket/6.9.0/Dockerfile.jdk11 deleted file mode 100644 index a3e364a29..000000000 --- a/atlassian/bitbucket/6.9.0/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.9.0 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.9.0/Makefile b/atlassian/bitbucket/6.9.0/Makefile deleted file mode 100644 index 1c0261703..000000000 --- a/atlassian/bitbucket/6.9.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.9.0 . - docker push epicmorg/bitbucket:6.9.0 diff --git a/atlassian/bitbucket/6.9.0/README.md b/atlassian/bitbucket/6.9.0/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.9.0/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.9.0/bitbucket-pipelines.yml b/atlassian/bitbucket/6.9.0/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.9.0/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.9.0/entrypoint.sh b/atlassian/bitbucket/6.9.0/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.9.0/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/6.9.1/.docker-repository.yml b/atlassian/bitbucket/6.9.1/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/6.9.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/6.9.1/.dockerignore b/atlassian/bitbucket/6.9.1/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/6.9.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/6.9.1/Dockerfile b/atlassian/bitbucket/6.9.1/Dockerfile deleted file mode 100644 index d50d90e16..000000000 --- a/atlassian/bitbucket/6.9.1/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.9.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.9.1/Dockerfile.jdk11 b/atlassian/bitbucket/6.9.1/Dockerfile.jdk11 deleted file mode 100644 index aec1fd5d7..000000000 --- a/atlassian/bitbucket/6.9.1/Dockerfile.jdk11 +++ /dev/null @@ -1,45 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG BITBUCKET_VERSION=6.9.1 -ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz - -################################################################## -# Setup -################################################################## -ENV RUN_USER daemon -ENV RUN_GROUP daemon - -# https://confluence.atlassian.com/display/BitbucketServer/Bitbucket+Server+home+directory -ENV BITBUCKET_HOME /var/atlassian/application-data/bitbucket -ENV BITBUCKET_INSTALL_DIR /opt/atlassian/bitbucket - -VOLUME ["${BITBUCKET_HOME}"] -WORKDIR $BITBUCKET_HOME - -# Expose HTTP and SSH ports -EXPOSE 7990 -EXPOSE 7999 - -################################################################## -# Installing -################################################################## -RUN mkdir -p ${BITBUCKET_INSTALL_DIR} \ - && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${BITBUCKET_INSTALL_DIR}" \ - && chown -R ${RUN_USER}:${RUN_GROUP} ${BITBUCKET_INSTALL_DIR}/ \ - && sed -i -e 's/^# umask/umask/' ${BITBUCKET_INSTALL_DIR}/bin/_start-webapp.sh && \ - - update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -CMD ["/entrypoint.sh", "-fg"] -ENTRYPOINT ["/usr/bin/tini", "--"] -COPY entrypoint.sh /entrypoint.sh -COPY . /tmp diff --git a/atlassian/bitbucket/6.9.1/Makefile b/atlassian/bitbucket/6.9.1/Makefile deleted file mode 100644 index 2b6a57639..000000000 --- a/atlassian/bitbucket/6.9.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: bitbucket - -bitbucket: - docker build --compress -t epicmorg/bitbucket:6.9.1 . - docker push epicmorg/bitbucket:6.9.1 diff --git a/atlassian/bitbucket/6.9.1/README.md b/atlassian/bitbucket/6.9.1/README.md deleted file mode 100644 index b60c42068..000000000 --- a/atlassian/bitbucket/6.9.1/README.md +++ /dev/null @@ -1,216 +0,0 @@ -![Atlassian Bitbucket Server](https://www.atlassian.com/dam/wac/legacy/bitbucket_logo_landing.png) - -Bitbucket Server is an on-premises source code management solution for Git that's secure, fast, and enterprise grade. Create and manage repositories, set up fine-grained permissions, and collaborate on code - all with the flexibility of your servers. - -Learn more about Bitbucket Server: - -# Overview - -This Docker container makes it easy to get an instance of Bitbucket up and running. - -** We strongly recommend you run this image using a specific version tag instead of latest. This is because the image referenced by the latest tag changes often and we cannot guarantee that it will be backwards compatible. ** - -# Quick Start - -For the `BITBUCKET_HOME` directory that is used to store the repository 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. - -Volume permission is managed by entry scripts. To get started you can use a data volume, or named volumes. In this example we'll use named volumes. - - $> docker volume create --name bitbucketVolume - $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -Note that this command can substitute folder paths with named volumes. - -Start Atlassian Bitbucket Server: - - $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -**Success**. Bitbucket is now available on [http://localhost:7990](http://localhost:7990)* - -Please ensure your container has the necessary resources allocated to it. -We recommend 2GiB of memory allocated to accommodate both the application server -and the git processes. -See [Supported Platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms) for further information. - - -_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):7990` instead._ - -## Reverse Proxy Settings - -If Bitbucket is run behind a reverse proxy server as [described here](https://confluence.atlassian.com/bitbucketserver/proxying-and-securing-bitbucket-server-776640099.html), -then you need to specify extra options to make bitbucket aware of the setup. They can be controlled via the below -environment variables. - -### Bitbucket Server 5.0 + - -Due to the migration to Spring Boot in 5.0, there are changes to how you set up Bitbucket to run behind a reverse proxy. - -In this example, we'll use an environment file. You can also do this via [specifying each environment variable](https://docs.docker.com/engine/reference/run/#env-environment-variables) via the `-e` argument in `docker run`. - -#### secure-bitbucket.env -``` -SERVER_SECURE=true -SERVER_SCHEME=https -SERVER_PROXY_PORT=443 -SERVER_PROXY_NAME= -``` - -Then you run Bitbucket as usual - -`docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 --env-file=/path/to/env/file/secure-bitbucket.env atlassian/bitbucket-server:5.0` - -### Bitbucket Server < 5.0 - -To set the reverse proxy arguments, you specify the following as environment variables in the `docker run` command - -* `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 bitbucket is accessed. - -* `CATALINA_CONNECTOR_SCHEME` (default: http) - - The protocol via which bitbucket is accessed. - -* `CATALINA_CONNECTOR_SECURE` (default: false) - - Set 'true' if CATALINA\_CONNECTOR\_SCHEME is 'https'. - -## JVM Configuration (Bitbucket Server 5.0 + only) - -If you need to override Bitbucket Server's default memory configuration or pass additional JVM arguments, use the environment variables below - -* `JVM_MINIMUM_MEMORY` (default: 512m) - - The minimum heap size of the JVM - -* `JVM_MAXIMUM_MEMORY` (default: 1024m) - - The maximum heap size of the JVM - -* `JVM_SUPPORT_RECOMMENDED_ARGS` (default: NONE) - - Additional JVM arguments for Bitbucket Server, such as a custom Java Trust Store - -## Application Mode Settings (Bitbucket Server 5.0 + only) - -This docker image can be run as a [Smart Mirror](https://confluence.atlassian.com/bitbucketserver/smart-mirroring-776640046.html) or as part of a [Data Center](https://confluence.atlassian.com/enterprise/bitbucket-data-center-668468332.html) cluster. -You can specify the following properties to start Bitbucket as a mirror or as a Data Center node: - -* `ELASTICSEARCH_ENABLED` (default: true) - - Set 'false' to prevent Elasticsearch from starting in the container. This should be used if Elasticsearch is running remotely, e.g. for if Bitbucket is running in a Data Center cluster - -* `APPLICATION_MODE` (default: default) - - The mode Bitbucket will run in. This can be set to 'mirror' to start Bitbucket as a Smart Mirror. This will also disable Elasticsearch even if `ELASTICSEARCH_ENABLED` has not been set to 'false'. - -* `HAZELCAST_NETWORK_MULTICAST` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via multicast. `HAZELCAST_NETWORK_TCPIP` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP` (default: false) - - Data Center: Set 'true' to enable Bitbucket to find new Data Center cluster members via TCPIP. This setting requires `HAZELCAST_NETWORK_TCPIP_MEMBERS` to be specified. `HAZELCAST_NETWORK_MULTICAST` should not be specified when using this setting. - -* `HAZELCAST_NETWORK_TCPIP_MEMBERS` - - Data Center: List of members that Hazelcast nodes should connect to when HAZELCAST_NETWORK_TCPIP is 'true' - -* `HAZELCAST_GROUP_NAME` - - Data Center: Specifies the cluster group the instance should join. - -* `HAZELCAST_GROUP_PASSWORD` - - Data Center: The password required to join the specified cluster group. - -To run Bitbucket as part of a Data Center cluster, create a Docker network and assign the Bitbucket container a static IP. - -Note: Docker networks may support multicast, however the below example shows configuration using TCPIP. - - $> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork - $> docker run --network=myBitbucketNetwork --ip=172.18.1.1 -e ELASTICSEARCH_ENABLED=false \ - -e HAZELCAST_NETWORK_TCPIP=true -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701,172.18.1.3:5701 \ - -e HAZELCAST_GROUP_NAME=bitbucket -e HAZELCAST_GROUP_PASSWORD=mysecretpassword \ - -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - -## JMX Monitoring (Bitbucket Server 5.0 + only) - -Bitbucket Server supports detailed JMX monitoring. To enable and configure JMX, use the environment variables below. For further information on JMX configuration, see [Enabling JMX counters for performance monitoring](https://confluence.atlassian.com/bitbucketserver/enabling-jmx-counters-for-performance-monitoring-776640189.html) - -* `JMX_ENABLED` (default: false) - - Enable Bitbucket to publish JMX data - -* `JMX_REMOTE_AUTH` (default: NONE) - - Set the authentication to use for remote JMX access. This value is required: anything other than "password" or "ssl" will cause remote JMX access to be disabled - -* `JMX_REMOTE_PORT` (default: 3333) - - The port used to negotiate a JMX connection. Note: this port is only used during the initial authorization, after which a different RMI port used for data transfer - -* `JMX_REMOTE_RMI_PORT` (default: ) - - The port used for all subsequent JMX-RMI data transfer. If desired, the RMI data port can be set to the same value as `JMX_REMOTE_PORT` to allow a single port to be used for both JMX authorization and data transfer - -* `RMI_SERVER_HOSTNAME` (default: NONE) - - The hostname or IP address that clients will use to connect to the application for JMX monitoring. This must be resolvable by both clients and from the JVM host machine. - -* `JMX_PASSWORD_FILE` (default: NONE) - - The full path to the JMX username/password file used to authenticate remote JMX clients. This is required when `JMX_REMOTE_AUTH` is set to "password" - - $> docker run -e JMX_ENABLED=true -e JMX_REMOTE_AUTH=password -e JMX_REMOTE_RMI_PORT=3333 -e RMI_SERVER_HOSTNAME=bitbucket \ - -e JMX_PASSWORD_FILE=/data/bitbucket:/var/atlassian/application-data/bitbucket/jmx.access \ - -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 -p 3333:3333 atlassian/bitbucket-server - -# Upgrade - -To upgrade to a more recent version of Bitbucket Server you can simply stop the `bitbucket` -container and start a new one based on a more recent image: - - $> docker stop bitbucket - $> docker rm bitbucket - $> docker pull atlassian/bitbucket-server: - $> 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 `bitbucket` -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 Bitbucket 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/bitbucket` in the example above). - -The [Bitbucket Server Backup Client](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) is currently not supported in the Docker setup. You can however use the [Bitbucket Server DIY Backup](https://confluence.atlassian.com/display/BitbucketServer/Using+Bitbucket+Server+DIY+Backup) approach in case you decided to use an external database. - -Read more about data recovery and backups: [https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups](https://confluence.atlassian.com/display/BitbucketServer/Data+recovery+and+backups) - -# Versioning - -The `latest` tag matches the most recent version of this repository. Thus using `atlassian/bitbucket:latest` or `atlassian/bitbucket` will ensure you are running the most up to date version of this image. - -However, we ** strongly recommend ** that for non-eval workloads you select a specific version in order to prevent breaking changes from impacting your setup. -You can use a specific minor version of Bitbucket Server by using a version number -tag: `atlassian/bitbucket-server:4.14`. This will install the latest `4.14.x` version that -is available. - - -# Issue tracker - -Please raise an [issue](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server/issues) if you encounter any problems with this Dockerfile. - -# Support - -For product support, go to [support.atlassian.com](https://support.atlassian.com/) -Octotree is enabled on this page. Click this button or press cmd shift s (or ctrl shift s) to show it. -Support us • Feedback? diff --git a/atlassian/bitbucket/6.9.1/bitbucket-pipelines.yml b/atlassian/bitbucket/6.9.1/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/6.9.1/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/bitbucket/6.9.1/entrypoint.sh b/atlassian/bitbucket/6.9.1/entrypoint.sh deleted file mode 100755 index 842224a8c..000000000 --- a/atlassian/bitbucket/6.9.1/entrypoint.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Set recommended umask of "u=,g=w,o=rwx" (0027) -umask 0027 - -export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") -export JRE_HOME="$JAVA_HOME/jre" -export JAVA_BINARY="$JRE_HOME/bin/java" -export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') - -#export PATH=$JAVA_HOME/bin:$PATH - - -# Setup Catalina Opts -: ${CATALINA_CONNECTOR_PROXYNAME:=} -: ${CATALINA_CONNECTOR_PROXYPORT:=} -: ${CATALINA_CONNECTOR_SCHEME:=http} -: ${CATALINA_CONNECTOR_SECURE:=false} - -: ${CATALINA_OPTS:=} - -: ${JAVA_OPTS:=} - -: ${ELASTICSEARCH_ENABLED:=true} -: ${APPLICATION_MODE:=} - -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" -CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" - -JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" - -ARGS="$@" - -# Start Bitbucket without Elasticsearch -if [ "${ELASTICSEARCH_ENABLED}" == "false" ] || [ "${APPLICATION_MODE}" == "mirror" ]; then - ARGS="--no-search ${ARGS}" -fi - -# Start Bitbucket as the correct user. -if [ "${UID}" -eq 0 ]; then - echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" - PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${BITBUCKET_HOME}") - EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 - if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then - echo "Updating permissions for BITBUCKET_HOME" - mkdir -p "${BITBUCKET_HOME}/lib" && - chmod -R 700 "${BITBUCKET_HOME}" && - chown -R "${RUN_USER}:${RUN_GROUP}" "${BITBUCKET_HOME}" - fi - # Now drop privileges - exec su -s /bin/bash "${RUN_USER}" -c "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh ${ARGS}" -else - exec "${BITBUCKET_INSTALL_DIR}/bin/start-bitbucket.sh" ${ARGS} -fi diff --git a/atlassian/bitbucket/README.md b/atlassian/bitbucket/README.md index d7ad505e3..62755db88 100644 --- a/atlassian/bitbucket/README.md +++ b/atlassian/bitbucket/README.md @@ -3,8 +3,10 @@ All presented images avalible on our repo in docker hub. +* Bitbucket v6 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-bitbucket-6). + ## LTS releases: -* Latest version of `Bitbucket` is `6.10` +* Latest version of `Bitbucket` is `6.10.1` ------- diff --git a/atlassian/bitbucket/latest/.docker-repository.yml b/atlassian/bitbucket/latest/.docker-repository.yml deleted file mode 100644 index 6a0e5da83..000000000 --- a/atlassian/bitbucket/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/bitbucket diff --git a/atlassian/bitbucket/latest/.dockerignore b/atlassian/bitbucket/latest/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/atlassian/bitbucket/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/atlassian/bitbucket/latest/Dockerfile b/atlassian/bitbucket/latest/Dockerfile index e4dd232d7..8fd58368a 100644 --- a/atlassian/bitbucket/latest/Dockerfile +++ b/atlassian/bitbucket/latest/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG BITBUCKET_VERSION=6.10.0 +ARG BITBUCKET_VERSION=6.10.1 ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz ################################################################## diff --git a/atlassian/bitbucket/latest/Dockerfile.jdk11 b/atlassian/bitbucket/latest/Dockerfile.jdk11 index 053caa0ff..8e21d9b2b 100644 --- a/atlassian/bitbucket/latest/Dockerfile.jdk11 +++ b/atlassian/bitbucket/latest/Dockerfile.jdk11 @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG BITBUCKET_VERSION=6.10.0 +ARG BITBUCKET_VERSION=6.10.1 ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz ################################################################## diff --git a/atlassian/bitbucket/latest/bitbucket-pipelines.yml b/atlassian/bitbucket/latest/bitbucket-pipelines.yml deleted file mode 100644 index 231d79e9e..000000000 --- a/atlassian/bitbucket/latest/bitbucket-pipelines.yml +++ /dev/null @@ -1,66 +0,0 @@ -image: dchevell/docker-release-maker:latest -clone: - depth: full - -pipelines: - custom: - create-release-base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --create - create-release-base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --create - test: - - step: - image: docker:stable-git - script: - # Run bitbucket docker image - - mkdir -p data - - | - docker run -v $(pwd)/data:/var/atlassian/application-data/bitbucket \ - --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server - # Run tests - - git show origin/scripts:scripts/test-bitbucket-status.sh | install -m 0755 /dev/fd/0 test-bitbucket-status.sh - - ./test-bitbucket-status.sh - services: - - docker - - branches: - base-5: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-5' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='alpine' - - python /usr/src/app/run.py --update - base-6: - - step: - script: - - git remote set-url origin ${BITBUCKET_GIT_HTTP_ORIGIN} - - git fetch --all - - export BASE_BRANCH='base-6' - - export MAC_PRODUCT_KEY='bitbucket' - - export DOCKERFILE_VERSION_STRING='BITBUCKET_VERSION' - - export DEFAULT_RELEASE='true' - - export ADDITIONAL_TAG_SUFFIXES='jdk8,ubuntu' - - python /usr/src/app/run.py --update diff --git a/atlassian/confluence/6.0.1/.docker-repository.yml b/atlassian/confluence/6.0.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.1/.dockerignore b/atlassian/confluence/6.0.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.1/Dockerfile b/atlassian/confluence/6.0.1/Dockerfile deleted file mode 100644 index 60a125dfc..000000000 --- a/atlassian/confluence/6.0.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.1 -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/6.0.1/Makefile b/atlassian/confluence/6.0.1/Makefile deleted file mode 100644 index 54e5248ee..000000000 --- a/atlassian/confluence/6.0.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.1 . - diff --git a/atlassian/confluence/6.0.1/README.md b/atlassian/confluence/6.0.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.1/entrypoint.sh b/atlassian/confluence/6.0.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.2/.docker-repository.yml b/atlassian/confluence/6.0.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.2/.dockerignore b/atlassian/confluence/6.0.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.2/Dockerfile b/atlassian/confluence/6.0.2/Dockerfile deleted file mode 100644 index 5d6a9c22f..000000000 --- a/atlassian/confluence/6.0.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.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/6.0.2/Makefile b/atlassian/confluence/6.0.2/Makefile deleted file mode 100644 index bf0b01cd0..000000000 --- a/atlassian/confluence/6.0.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.2 . - diff --git a/atlassian/confluence/6.0.2/README.md b/atlassian/confluence/6.0.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.2/entrypoint.sh b/atlassian/confluence/6.0.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.3/.docker-repository.yml b/atlassian/confluence/6.0.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.3/.dockerignore b/atlassian/confluence/6.0.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.3/Dockerfile b/atlassian/confluence/6.0.3/Dockerfile deleted file mode 100644 index 477bff4c3..000000000 --- a/atlassian/confluence/6.0.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.3 -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/6.0.3/Makefile b/atlassian/confluence/6.0.3/Makefile deleted file mode 100644 index 600150ad2..000000000 --- a/atlassian/confluence/6.0.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.3 . - diff --git a/atlassian/confluence/6.0.3/README.md b/atlassian/confluence/6.0.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.3/entrypoint.sh b/atlassian/confluence/6.0.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.4/.docker-repository.yml b/atlassian/confluence/6.0.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.4/.dockerignore b/atlassian/confluence/6.0.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.4/Dockerfile b/atlassian/confluence/6.0.4/Dockerfile deleted file mode 100644 index 67f277e57..000000000 --- a/atlassian/confluence/6.0.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.4 -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/6.0.4/Makefile b/atlassian/confluence/6.0.4/Makefile deleted file mode 100644 index 295c8f338..000000000 --- a/atlassian/confluence/6.0.4/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.4 . - diff --git a/atlassian/confluence/6.0.4/README.md b/atlassian/confluence/6.0.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.4/entrypoint.sh b/atlassian/confluence/6.0.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.5/.docker-repository.yml b/atlassian/confluence/6.0.5/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.5/.dockerignore b/atlassian/confluence/6.0.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.5/Dockerfile b/atlassian/confluence/6.0.5/Dockerfile deleted file mode 100644 index 7402d12b4..000000000 --- a/atlassian/confluence/6.0.5/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.5 -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/6.0.5/Makefile b/atlassian/confluence/6.0.5/Makefile deleted file mode 100644 index df010b00f..000000000 --- a/atlassian/confluence/6.0.5/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.5 . - diff --git a/atlassian/confluence/6.0.5/README.md b/atlassian/confluence/6.0.5/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.5/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.5/entrypoint.sh b/atlassian/confluence/6.0.5/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.5/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.6/.docker-repository.yml b/atlassian/confluence/6.0.6/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.6/.dockerignore b/atlassian/confluence/6.0.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.6/Dockerfile b/atlassian/confluence/6.0.6/Dockerfile deleted file mode 100644 index 54aab7128..000000000 --- a/atlassian/confluence/6.0.6/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.6 -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/6.0.6/Makefile b/atlassian/confluence/6.0.6/Makefile deleted file mode 100644 index 415f855d5..000000000 --- a/atlassian/confluence/6.0.6/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.6 . - diff --git a/atlassian/confluence/6.0.6/README.md b/atlassian/confluence/6.0.6/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.6/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.6/entrypoint.sh b/atlassian/confluence/6.0.6/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.6/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.0.7/.docker-repository.yml b/atlassian/confluence/6.0.7/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.0.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.0.7/.dockerignore b/atlassian/confluence/6.0.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.0.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.0.7/Dockerfile b/atlassian/confluence/6.0.7/Dockerfile deleted file mode 100644 index 62a0c388c..000000000 --- a/atlassian/confluence/6.0.7/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.0.7 -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/6.0.7/Makefile b/atlassian/confluence/6.0.7/Makefile deleted file mode 100644 index 319483387..000000000 --- a/atlassian/confluence/6.0.7/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.0.7 . - diff --git a/atlassian/confluence/6.0.7/README.md b/atlassian/confluence/6.0.7/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.0.7/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.0.7/entrypoint.sh b/atlassian/confluence/6.0.7/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.0.7/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.1.0/.docker-repository.yml b/atlassian/confluence/6.1.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.1.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.1.0/.dockerignore b/atlassian/confluence/6.1.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.1.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.1.0/Dockerfile b/atlassian/confluence/6.1.0/Dockerfile deleted file mode 100644 index 9e5c98eb9..000000000 --- a/atlassian/confluence/6.1.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.1.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/6.1.0/Makefile b/atlassian/confluence/6.1.0/Makefile deleted file mode 100644 index a85eda5df..000000000 --- a/atlassian/confluence/6.1.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.1.0 . - diff --git a/atlassian/confluence/6.1.0/README.md b/atlassian/confluence/6.1.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.1.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.1.0/entrypoint.sh b/atlassian/confluence/6.1.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.1.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.1.1/.docker-repository.yml b/atlassian/confluence/6.1.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.1.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.1.1/.dockerignore b/atlassian/confluence/6.1.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.1.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.1.1/Dockerfile b/atlassian/confluence/6.1.1/Dockerfile deleted file mode 100644 index 66b185a7e..000000000 --- a/atlassian/confluence/6.1.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.1.1 -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/6.1.1/Makefile b/atlassian/confluence/6.1.1/Makefile deleted file mode 100644 index 79cbcdbfb..000000000 --- a/atlassian/confluence/6.1.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.1.1 . - diff --git a/atlassian/confluence/6.1.1/README.md b/atlassian/confluence/6.1.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.1.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.1.1/entrypoint.sh b/atlassian/confluence/6.1.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.1.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.1.2/.docker-repository.yml b/atlassian/confluence/6.1.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.1.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.1.2/.dockerignore b/atlassian/confluence/6.1.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.1.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.1.2/Dockerfile b/atlassian/confluence/6.1.2/Dockerfile deleted file mode 100644 index 1a8620f8d..000000000 --- a/atlassian/confluence/6.1.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.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/6.1.2/Makefile b/atlassian/confluence/6.1.2/Makefile deleted file mode 100644 index 384fecef4..000000000 --- a/atlassian/confluence/6.1.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.1.2 . - diff --git a/atlassian/confluence/6.1.2/README.md b/atlassian/confluence/6.1.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.1.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.1.2/entrypoint.sh b/atlassian/confluence/6.1.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.1.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.1.3/.docker-repository.yml b/atlassian/confluence/6.1.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.1.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.1.3/.dockerignore b/atlassian/confluence/6.1.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.1.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.1.3/Dockerfile b/atlassian/confluence/6.1.3/Dockerfile deleted file mode 100644 index 8bde4a010..000000000 --- a/atlassian/confluence/6.1.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.1.3 -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/6.1.3/Makefile b/atlassian/confluence/6.1.3/Makefile deleted file mode 100644 index 5123e62e9..000000000 --- a/atlassian/confluence/6.1.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.1.3 . - diff --git a/atlassian/confluence/6.1.3/README.md b/atlassian/confluence/6.1.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.1.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.1.3/entrypoint.sh b/atlassian/confluence/6.1.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.1.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.1.4/.docker-repository.yml b/atlassian/confluence/6.1.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.1.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.1.4/.dockerignore b/atlassian/confluence/6.1.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.1.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.1.4/Dockerfile b/atlassian/confluence/6.1.4/Dockerfile deleted file mode 100644 index 57b685395..000000000 --- a/atlassian/confluence/6.1.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.1.4 -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/6.1.4/Makefile b/atlassian/confluence/6.1.4/Makefile deleted file mode 100644 index 06c417023..000000000 --- a/atlassian/confluence/6.1.4/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.1.4 . - diff --git a/atlassian/confluence/6.1.4/README.md b/atlassian/confluence/6.1.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.1.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.1.4/entrypoint.sh b/atlassian/confluence/6.1.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.1.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.10.0/.docker-repository.yml b/atlassian/confluence/6.10.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.10.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.10.0/.dockerignore b/atlassian/confluence/6.10.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.10.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.10.0/Dockerfile b/atlassian/confluence/6.10.0/Dockerfile deleted file mode 100644 index 4ad1fde3c..000000000 --- a/atlassian/confluence/6.10.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.10.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/6.10.0/Makefile b/atlassian/confluence/6.10.0/Makefile deleted file mode 100644 index 51889d9ce..000000000 --- a/atlassian/confluence/6.10.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.10.0 . diff --git a/atlassian/confluence/6.10.0/README.md b/atlassian/confluence/6.10.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.10.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.10.0/entrypoint.sh b/atlassian/confluence/6.10.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.10.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.10.1/.docker-repository.yml b/atlassian/confluence/6.10.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.10.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.10.1/.dockerignore b/atlassian/confluence/6.10.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.10.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.10.1/Dockerfile b/atlassian/confluence/6.10.1/Dockerfile deleted file mode 100644 index 03804167e..000000000 --- a/atlassian/confluence/6.10.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.10.1 -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/6.10.1/Makefile b/atlassian/confluence/6.10.1/Makefile deleted file mode 100644 index 2075e3608..000000000 --- a/atlassian/confluence/6.10.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.10.1 . diff --git a/atlassian/confluence/6.10.1/README.md b/atlassian/confluence/6.10.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.10.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.10.1/entrypoint.sh b/atlassian/confluence/6.10.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.10.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.10.2/.docker-repository.yml b/atlassian/confluence/6.10.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.10.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.10.2/.dockerignore b/atlassian/confluence/6.10.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.10.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.10.2/Dockerfile b/atlassian/confluence/6.10.2/Dockerfile deleted file mode 100644 index b7a0eabd0..000000000 --- a/atlassian/confluence/6.10.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.10.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/6.10.2/Makefile b/atlassian/confluence/6.10.2/Makefile deleted file mode 100644 index 1e0cf78ce..000000000 --- a/atlassian/confluence/6.10.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.10.2 . diff --git a/atlassian/confluence/6.10.2/README.md b/atlassian/confluence/6.10.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.10.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.10.2/entrypoint.sh b/atlassian/confluence/6.10.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.10.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.10.3/.docker-repository.yml b/atlassian/confluence/6.10.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.10.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.10.3/.dockerignore b/atlassian/confluence/6.10.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.10.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.10.3/Dockerfile b/atlassian/confluence/6.10.3/Dockerfile deleted file mode 100644 index 0f996919e..000000000 --- a/atlassian/confluence/6.10.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.10.3 -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/6.10.3/Makefile b/atlassian/confluence/6.10.3/Makefile deleted file mode 100644 index 3efab142b..000000000 --- a/atlassian/confluence/6.10.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.10.3 . diff --git a/atlassian/confluence/6.10.3/README.md b/atlassian/confluence/6.10.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.10.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.10.3/entrypoint.sh b/atlassian/confluence/6.10.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.10.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.11.0/.docker-repository.yml b/atlassian/confluence/6.11.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.11.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.11.0/.dockerignore b/atlassian/confluence/6.11.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.11.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.11.0/Dockerfile b/atlassian/confluence/6.11.0/Dockerfile deleted file mode 100644 index a398499dc..000000000 --- a/atlassian/confluence/6.11.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.11.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/6.11.0/Makefile b/atlassian/confluence/6.11.0/Makefile deleted file mode 100644 index 91ac02ec4..000000000 --- a/atlassian/confluence/6.11.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.11.0 . diff --git a/atlassian/confluence/6.11.0/README.md b/atlassian/confluence/6.11.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.11.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.11.0/entrypoint.sh b/atlassian/confluence/6.11.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.11.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.11.1/.docker-repository.yml b/atlassian/confluence/6.11.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.11.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.11.1/.dockerignore b/atlassian/confluence/6.11.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.11.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.11.1/Dockerfile b/atlassian/confluence/6.11.1/Dockerfile deleted file mode 100644 index b9f04c9fa..000000000 --- a/atlassian/confluence/6.11.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.11.1 -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/6.11.1/Makefile b/atlassian/confluence/6.11.1/Makefile deleted file mode 100644 index 91b13f5a3..000000000 --- a/atlassian/confluence/6.11.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.11.1 . diff --git a/atlassian/confluence/6.11.1/README.md b/atlassian/confluence/6.11.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.11.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.11.1/entrypoint.sh b/atlassian/confluence/6.11.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.11.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.11.2/.docker-repository.yml b/atlassian/confluence/6.11.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.11.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.11.2/.dockerignore b/atlassian/confluence/6.11.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.11.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.11.2/Dockerfile b/atlassian/confluence/6.11.2/Dockerfile deleted file mode 100644 index 68b11e92e..000000000 --- a/atlassian/confluence/6.11.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.11.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/6.11.2/Makefile b/atlassian/confluence/6.11.2/Makefile deleted file mode 100644 index 33190fa54..000000000 --- a/atlassian/confluence/6.11.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.11.2 . diff --git a/atlassian/confluence/6.11.2/README.md b/atlassian/confluence/6.11.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.11.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.11.2/entrypoint.sh b/atlassian/confluence/6.11.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.11.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.12.0/.docker-repository.yml b/atlassian/confluence/6.12.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.12.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.12.0/.dockerignore b/atlassian/confluence/6.12.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.12.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.12.0/Dockerfile b/atlassian/confluence/6.12.0/Dockerfile deleted file mode 100644 index 1dc6fad00..000000000 --- a/atlassian/confluence/6.12.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.12.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/6.12.0/Makefile b/atlassian/confluence/6.12.0/Makefile deleted file mode 100644 index 8cda2e8c5..000000000 --- a/atlassian/confluence/6.12.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.12.0 . diff --git a/atlassian/confluence/6.12.0/README.md b/atlassian/confluence/6.12.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.12.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.12.0/entrypoint.sh b/atlassian/confluence/6.12.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.12.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.12.1/.docker-repository.yml b/atlassian/confluence/6.12.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.12.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.12.1/.dockerignore b/atlassian/confluence/6.12.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.12.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.12.1/Dockerfile b/atlassian/confluence/6.12.1/Dockerfile deleted file mode 100644 index 4bbf92616..000000000 --- a/atlassian/confluence/6.12.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.12.1 -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/6.12.1/Makefile b/atlassian/confluence/6.12.1/Makefile deleted file mode 100644 index 0c8f696cd..000000000 --- a/atlassian/confluence/6.12.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.12.1 . diff --git a/atlassian/confluence/6.12.1/README.md b/atlassian/confluence/6.12.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.12.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.12.1/entrypoint.sh b/atlassian/confluence/6.12.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.12.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.12.2/.docker-repository.yml b/atlassian/confluence/6.12.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.12.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.12.2/.dockerignore b/atlassian/confluence/6.12.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.12.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.12.2/Dockerfile b/atlassian/confluence/6.12.2/Dockerfile deleted file mode 100644 index 5371f2910..000000000 --- a/atlassian/confluence/6.12.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.12.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/6.12.2/Makefile b/atlassian/confluence/6.12.2/Makefile deleted file mode 100644 index 816ec3bd7..000000000 --- a/atlassian/confluence/6.12.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.12.2 . diff --git a/atlassian/confluence/6.12.2/README.md b/atlassian/confluence/6.12.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.12.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.12.2/entrypoint.sh b/atlassian/confluence/6.12.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.12.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.12.3/.docker-repository.yml b/atlassian/confluence/6.12.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.12.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.12.3/.dockerignore b/atlassian/confluence/6.12.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.12.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.12.3/Dockerfile b/atlassian/confluence/6.12.3/Dockerfile deleted file mode 100644 index 754b5b423..000000000 --- a/atlassian/confluence/6.12.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.12.3 -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/6.12.3/Makefile b/atlassian/confluence/6.12.3/Makefile deleted file mode 100644 index bcc05628a..000000000 --- a/atlassian/confluence/6.12.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.12.3 . diff --git a/atlassian/confluence/6.12.3/README.md b/atlassian/confluence/6.12.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.12.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.12.3/entrypoint.sh b/atlassian/confluence/6.12.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.12.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.12.4/.docker-repository.yml b/atlassian/confluence/6.12.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.12.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.12.4/.dockerignore b/atlassian/confluence/6.12.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.12.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.12.4/Dockerfile b/atlassian/confluence/6.12.4/Dockerfile deleted file mode 100644 index e19663666..000000000 --- a/atlassian/confluence/6.12.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.12.4 -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/6.12.4/Makefile b/atlassian/confluence/6.12.4/Makefile deleted file mode 100644 index 48b1ff9b2..000000000 --- a/atlassian/confluence/6.12.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.12.4 . diff --git a/atlassian/confluence/6.12.4/README.md b/atlassian/confluence/6.12.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.12.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.12.4/entrypoint.sh b/atlassian/confluence/6.12.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.12.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.0/.docker-repository.yml b/atlassian/confluence/6.13.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.0/.dockerignore b/atlassian/confluence/6.13.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.0/Dockerfile b/atlassian/confluence/6.13.0/Dockerfile deleted file mode 100644 index ccb8e85b9..000000000 --- a/atlassian/confluence/6.13.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.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/6.13.0/Makefile b/atlassian/confluence/6.13.0/Makefile deleted file mode 100644 index bef0eb44c..000000000 --- a/atlassian/confluence/6.13.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.0 . diff --git a/atlassian/confluence/6.13.0/README.md b/atlassian/confluence/6.13.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.0/entrypoint.sh b/atlassian/confluence/6.13.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.1/.docker-repository.yml b/atlassian/confluence/6.13.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.1/.dockerignore b/atlassian/confluence/6.13.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.1/Dockerfile b/atlassian/confluence/6.13.1/Dockerfile deleted file mode 100644 index d443befb1..000000000 --- a/atlassian/confluence/6.13.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.1 -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/6.13.1/Makefile b/atlassian/confluence/6.13.1/Makefile deleted file mode 100644 index 59ba9a277..000000000 --- a/atlassian/confluence/6.13.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.1 . diff --git a/atlassian/confluence/6.13.1/README.md b/atlassian/confluence/6.13.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.1/entrypoint.sh b/atlassian/confluence/6.13.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.10/.docker-repository.yml b/atlassian/confluence/6.13.10/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.10/.dockerignore b/atlassian/confluence/6.13.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.10/Dockerfile b/atlassian/confluence/6.13.10/Dockerfile deleted file mode 100644 index 819172b1e..000000000 --- a/atlassian/confluence/6.13.10/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.10 -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/6.13.10/Makefile b/atlassian/confluence/6.13.10/Makefile deleted file mode 100644 index ae06f9246..000000000 --- a/atlassian/confluence/6.13.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.10 . diff --git a/atlassian/confluence/6.13.10/README.md b/atlassian/confluence/6.13.10/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.10/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.10/entrypoint.sh b/atlassian/confluence/6.13.10/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.10/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.2/.docker-repository.yml b/atlassian/confluence/6.13.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.2/.dockerignore b/atlassian/confluence/6.13.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.2/Dockerfile b/atlassian/confluence/6.13.2/Dockerfile deleted file mode 100644 index d70d32f7e..000000000 --- a/atlassian/confluence/6.13.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.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/6.13.2/Makefile b/atlassian/confluence/6.13.2/Makefile deleted file mode 100644 index 0d0a349b3..000000000 --- a/atlassian/confluence/6.13.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.2 . diff --git a/atlassian/confluence/6.13.2/README.md b/atlassian/confluence/6.13.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.2/entrypoint.sh b/atlassian/confluence/6.13.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.3/.docker-repository.yml b/atlassian/confluence/6.13.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.3/.dockerignore b/atlassian/confluence/6.13.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.3/Dockerfile b/atlassian/confluence/6.13.3/Dockerfile deleted file mode 100644 index 9b3339a01..000000000 --- a/atlassian/confluence/6.13.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.3 -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/6.13.3/Makefile b/atlassian/confluence/6.13.3/Makefile deleted file mode 100644 index b5dd0c1af..000000000 --- a/atlassian/confluence/6.13.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.3 . diff --git a/atlassian/confluence/6.13.3/README.md b/atlassian/confluence/6.13.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.3/entrypoint.sh b/atlassian/confluence/6.13.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.4/.docker-repository.yml b/atlassian/confluence/6.13.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.4/.dockerignore b/atlassian/confluence/6.13.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.4/Dockerfile b/atlassian/confluence/6.13.4/Dockerfile deleted file mode 100644 index 754b6e94f..000000000 --- a/atlassian/confluence/6.13.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.4 -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/6.13.4/Makefile b/atlassian/confluence/6.13.4/Makefile deleted file mode 100644 index 151d74550..000000000 --- a/atlassian/confluence/6.13.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.4 . diff --git a/atlassian/confluence/6.13.4/README.md b/atlassian/confluence/6.13.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.4/entrypoint.sh b/atlassian/confluence/6.13.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.5/.docker-repository.yml b/atlassian/confluence/6.13.5/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.5/.dockerignore b/atlassian/confluence/6.13.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.5/Dockerfile b/atlassian/confluence/6.13.5/Dockerfile deleted file mode 100644 index a3a26f6c1..000000000 --- a/atlassian/confluence/6.13.5/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.5 -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/6.13.5/Makefile b/atlassian/confluence/6.13.5/Makefile deleted file mode 100644 index 51b8004b9..000000000 --- a/atlassian/confluence/6.13.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.5 . diff --git a/atlassian/confluence/6.13.5/README.md b/atlassian/confluence/6.13.5/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.5/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.5/entrypoint.sh b/atlassian/confluence/6.13.5/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.5/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.6/.docker-repository.yml b/atlassian/confluence/6.13.6/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.6/.dockerignore b/atlassian/confluence/6.13.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.6/Dockerfile b/atlassian/confluence/6.13.6/Dockerfile deleted file mode 100644 index e7ddfccfd..000000000 --- a/atlassian/confluence/6.13.6/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.6 -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/6.13.6/Makefile b/atlassian/confluence/6.13.6/Makefile deleted file mode 100644 index f97a67aac..000000000 --- a/atlassian/confluence/6.13.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.6 . diff --git a/atlassian/confluence/6.13.6/README.md b/atlassian/confluence/6.13.6/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.6/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.6/entrypoint.sh b/atlassian/confluence/6.13.6/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.6/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.7/.docker-repository.yml b/atlassian/confluence/6.13.7/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.7/.dockerignore b/atlassian/confluence/6.13.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.7/Dockerfile b/atlassian/confluence/6.13.7/Dockerfile deleted file mode 100644 index ec43a52b7..000000000 --- a/atlassian/confluence/6.13.7/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.7 -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/6.13.7/Makefile b/atlassian/confluence/6.13.7/Makefile deleted file mode 100644 index 67ea1401b..000000000 --- a/atlassian/confluence/6.13.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.7 . diff --git a/atlassian/confluence/6.13.7/README.md b/atlassian/confluence/6.13.7/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.7/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.7/entrypoint.sh b/atlassian/confluence/6.13.7/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.7/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.8/.docker-repository.yml b/atlassian/confluence/6.13.8/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.8/.dockerignore b/atlassian/confluence/6.13.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.8/Dockerfile b/atlassian/confluence/6.13.8/Dockerfile deleted file mode 100644 index f31478c3f..000000000 --- a/atlassian/confluence/6.13.8/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.8 -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/6.13.8/Makefile b/atlassian/confluence/6.13.8/Makefile deleted file mode 100644 index 40f704f85..000000000 --- a/atlassian/confluence/6.13.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.8 . diff --git a/atlassian/confluence/6.13.8/README.md b/atlassian/confluence/6.13.8/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.8/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.8/entrypoint.sh b/atlassian/confluence/6.13.8/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.8/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.13.9/.docker-repository.yml b/atlassian/confluence/6.13.9/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.13.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.13.9/.dockerignore b/atlassian/confluence/6.13.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.13.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.13.9/Dockerfile b/atlassian/confluence/6.13.9/Dockerfile deleted file mode 100644 index 23d27cfbd..000000000 --- a/atlassian/confluence/6.13.9/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.13.9 -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/6.13.9/Makefile b/atlassian/confluence/6.13.9/Makefile deleted file mode 100644 index 123908ce1..000000000 --- a/atlassian/confluence/6.13.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.13.9 . diff --git a/atlassian/confluence/6.13.9/README.md b/atlassian/confluence/6.13.9/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.13.9/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.13.9/entrypoint.sh b/atlassian/confluence/6.13.9/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.13.9/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.14.0/.docker-repository.yml b/atlassian/confluence/6.14.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.14.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.14.0/.dockerignore b/atlassian/confluence/6.14.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.14.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.14.0/Dockerfile b/atlassian/confluence/6.14.0/Dockerfile deleted file mode 100644 index 75528b59f..000000000 --- a/atlassian/confluence/6.14.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.14.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/6.14.0/Makefile b/atlassian/confluence/6.14.0/Makefile deleted file mode 100644 index a108c8aac..000000000 --- a/atlassian/confluence/6.14.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.14.0 . diff --git a/atlassian/confluence/6.14.0/README.md b/atlassian/confluence/6.14.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.14.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.14.0/entrypoint.sh b/atlassian/confluence/6.14.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.14.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.14.1/.docker-repository.yml b/atlassian/confluence/6.14.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.14.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.14.1/.dockerignore b/atlassian/confluence/6.14.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.14.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.14.1/Dockerfile b/atlassian/confluence/6.14.1/Dockerfile deleted file mode 100644 index 1afce19ac..000000000 --- a/atlassian/confluence/6.14.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.14.1 -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/6.14.1/Makefile b/atlassian/confluence/6.14.1/Makefile deleted file mode 100644 index 10c887145..000000000 --- a/atlassian/confluence/6.14.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.14.1 . diff --git a/atlassian/confluence/6.14.1/README.md b/atlassian/confluence/6.14.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.14.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.14.1/entrypoint.sh b/atlassian/confluence/6.14.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.14.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.14.2/.docker-repository.yml b/atlassian/confluence/6.14.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.14.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.14.2/.dockerignore b/atlassian/confluence/6.14.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.14.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.14.2/Dockerfile b/atlassian/confluence/6.14.2/Dockerfile deleted file mode 100644 index 9c09f9aa0..000000000 --- a/atlassian/confluence/6.14.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.14.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/6.14.2/Makefile b/atlassian/confluence/6.14.2/Makefile deleted file mode 100644 index 20d0be562..000000000 --- a/atlassian/confluence/6.14.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.14.2 . diff --git a/atlassian/confluence/6.14.2/README.md b/atlassian/confluence/6.14.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.14.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.14.2/entrypoint.sh b/atlassian/confluence/6.14.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.14.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.14.3/.docker-repository.yml b/atlassian/confluence/6.14.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.14.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.14.3/.dockerignore b/atlassian/confluence/6.14.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.14.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.14.3/Dockerfile b/atlassian/confluence/6.14.3/Dockerfile deleted file mode 100644 index 09045771f..000000000 --- a/atlassian/confluence/6.14.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.14.3 -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/6.14.3/Makefile b/atlassian/confluence/6.14.3/Makefile deleted file mode 100644 index 64d461d63..000000000 --- a/atlassian/confluence/6.14.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.14.3 . diff --git a/atlassian/confluence/6.14.3/README.md b/atlassian/confluence/6.14.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.14.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.14.3/entrypoint.sh b/atlassian/confluence/6.14.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.14.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.1/.docker-repository.yml b/atlassian/confluence/6.15.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.1/.dockerignore b/atlassian/confluence/6.15.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.1/Dockerfile b/atlassian/confluence/6.15.1/Dockerfile deleted file mode 100644 index b4760d22a..000000000 --- a/atlassian/confluence/6.15.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.1 -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/6.15.1/Makefile b/atlassian/confluence/6.15.1/Makefile deleted file mode 100644 index 8562af6a9..000000000 --- a/atlassian/confluence/6.15.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.1 . diff --git a/atlassian/confluence/6.15.1/README.md b/atlassian/confluence/6.15.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.1/entrypoint.sh b/atlassian/confluence/6.15.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.10/.docker-repository.yml b/atlassian/confluence/6.15.10/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.10/.dockerignore b/atlassian/confluence/6.15.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.10/Dockerfile b/atlassian/confluence/6.15.10/Dockerfile deleted file mode 100644 index 390873ab3..000000000 --- a/atlassian/confluence/6.15.10/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.10 -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/6.15.10/Makefile b/atlassian/confluence/6.15.10/Makefile deleted file mode 100644 index ac511814c..000000000 --- a/atlassian/confluence/6.15.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.10 . diff --git a/atlassian/confluence/6.15.10/README.md b/atlassian/confluence/6.15.10/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.10/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.10/entrypoint.sh b/atlassian/confluence/6.15.10/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.10/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.2/.docker-repository.yml b/atlassian/confluence/6.15.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.2/.dockerignore b/atlassian/confluence/6.15.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.2/Dockerfile b/atlassian/confluence/6.15.2/Dockerfile deleted file mode 100644 index 8f3f731e4..000000000 --- a/atlassian/confluence/6.15.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.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/6.15.2/Makefile b/atlassian/confluence/6.15.2/Makefile deleted file mode 100644 index 49f7f4b47..000000000 --- a/atlassian/confluence/6.15.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.2 . diff --git a/atlassian/confluence/6.15.2/README.md b/atlassian/confluence/6.15.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.2/entrypoint.sh b/atlassian/confluence/6.15.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.4/.docker-repository.yml b/atlassian/confluence/6.15.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.4/.dockerignore b/atlassian/confluence/6.15.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.4/Dockerfile b/atlassian/confluence/6.15.4/Dockerfile deleted file mode 100644 index bd22b9524..000000000 --- a/atlassian/confluence/6.15.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.4 -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/6.15.4/Makefile b/atlassian/confluence/6.15.4/Makefile deleted file mode 100644 index b578eca08..000000000 --- a/atlassian/confluence/6.15.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.4 . diff --git a/atlassian/confluence/6.15.4/README.md b/atlassian/confluence/6.15.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.4/entrypoint.sh b/atlassian/confluence/6.15.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.6/.docker-repository.yml b/atlassian/confluence/6.15.6/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.6/.dockerignore b/atlassian/confluence/6.15.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.6/Dockerfile b/atlassian/confluence/6.15.6/Dockerfile deleted file mode 100644 index 7ded10ca3..000000000 --- a/atlassian/confluence/6.15.6/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.6 -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/6.15.6/Makefile b/atlassian/confluence/6.15.6/Makefile deleted file mode 100644 index 960c9cff3..000000000 --- a/atlassian/confluence/6.15.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.6 . diff --git a/atlassian/confluence/6.15.6/README.md b/atlassian/confluence/6.15.6/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.6/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.6/entrypoint.sh b/atlassian/confluence/6.15.6/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.6/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.7/.docker-repository.yml b/atlassian/confluence/6.15.7/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.7/.dockerignore b/atlassian/confluence/6.15.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.7/Dockerfile b/atlassian/confluence/6.15.7/Dockerfile deleted file mode 100644 index fd475818d..000000000 --- a/atlassian/confluence/6.15.7/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.7 -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/6.15.7/Makefile b/atlassian/confluence/6.15.7/Makefile deleted file mode 100644 index c0d45c8e4..000000000 --- a/atlassian/confluence/6.15.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.7 . diff --git a/atlassian/confluence/6.15.7/README.md b/atlassian/confluence/6.15.7/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.7/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.7/entrypoint.sh b/atlassian/confluence/6.15.7/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.7/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.8/.docker-repository.yml b/atlassian/confluence/6.15.8/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.8/.dockerignore b/atlassian/confluence/6.15.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.8/Dockerfile b/atlassian/confluence/6.15.8/Dockerfile deleted file mode 100644 index 88eb7769b..000000000 --- a/atlassian/confluence/6.15.8/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.8 -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/6.15.8/Makefile b/atlassian/confluence/6.15.8/Makefile deleted file mode 100644 index daca62370..000000000 --- a/atlassian/confluence/6.15.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.8 . diff --git a/atlassian/confluence/6.15.8/README.md b/atlassian/confluence/6.15.8/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.8/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.8/entrypoint.sh b/atlassian/confluence/6.15.8/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.8/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.15.9/.docker-repository.yml b/atlassian/confluence/6.15.9/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.15.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.15.9/.dockerignore b/atlassian/confluence/6.15.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.15.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.15.9/Dockerfile b/atlassian/confluence/6.15.9/Dockerfile deleted file mode 100644 index d3ce10616..000000000 --- a/atlassian/confluence/6.15.9/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.15.9 -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/6.15.9/Makefile b/atlassian/confluence/6.15.9/Makefile deleted file mode 100644 index 1383a8baf..000000000 --- a/atlassian/confluence/6.15.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.15.9 . diff --git a/atlassian/confluence/6.15.9/README.md b/atlassian/confluence/6.15.9/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.15.9/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.15.9/entrypoint.sh b/atlassian/confluence/6.15.9/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.15.9/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.2.0/.docker-repository.yml b/atlassian/confluence/6.2.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.2.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.2.0/.dockerignore b/atlassian/confluence/6.2.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.2.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.2.0/Dockerfile b/atlassian/confluence/6.2.0/Dockerfile deleted file mode 100644 index 2918977a7..000000000 --- a/atlassian/confluence/6.2.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.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/6.2.0/Makefile b/atlassian/confluence/6.2.0/Makefile deleted file mode 100644 index 64a2b71a2..000000000 --- a/atlassian/confluence/6.2.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.2.0 . - diff --git a/atlassian/confluence/6.2.0/README.md b/atlassian/confluence/6.2.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.2.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.2.0/entrypoint.sh b/atlassian/confluence/6.2.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.2.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.2.1/.docker-repository.yml b/atlassian/confluence/6.2.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.2.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.2.1/.dockerignore b/atlassian/confluence/6.2.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.2.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.2.1/Dockerfile b/atlassian/confluence/6.2.1/Dockerfile deleted file mode 100644 index a92c188e7..000000000 --- a/atlassian/confluence/6.2.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.2.1 -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/6.2.1/Makefile b/atlassian/confluence/6.2.1/Makefile deleted file mode 100644 index 579cfc2a0..000000000 --- a/atlassian/confluence/6.2.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.2.1 . - diff --git a/atlassian/confluence/6.2.1/README.md b/atlassian/confluence/6.2.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.2.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.2.1/entrypoint.sh b/atlassian/confluence/6.2.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.2.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.2.3/.docker-repository.yml b/atlassian/confluence/6.2.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.2.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.2.3/.dockerignore b/atlassian/confluence/6.2.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.2.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.2.3/Dockerfile b/atlassian/confluence/6.2.3/Dockerfile deleted file mode 100644 index 6cb8e82b0..000000000 --- a/atlassian/confluence/6.2.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.2.3 -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/6.2.3/Makefile b/atlassian/confluence/6.2.3/Makefile deleted file mode 100644 index 4e065a590..000000000 --- a/atlassian/confluence/6.2.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.2.3 . - diff --git a/atlassian/confluence/6.2.3/README.md b/atlassian/confluence/6.2.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.2.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.2.3/entrypoint.sh b/atlassian/confluence/6.2.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.2.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.2.4/.docker-repository.yml b/atlassian/confluence/6.2.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.2.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.2.4/.dockerignore b/atlassian/confluence/6.2.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.2.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.2.4/Dockerfile b/atlassian/confluence/6.2.4/Dockerfile deleted file mode 100644 index 5a6774b8b..000000000 --- a/atlassian/confluence/6.2.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.2.4 -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/6.2.4/Makefile b/atlassian/confluence/6.2.4/Makefile deleted file mode 100644 index da230e169..000000000 --- a/atlassian/confluence/6.2.4/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.2.4 . - diff --git a/atlassian/confluence/6.2.4/README.md b/atlassian/confluence/6.2.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.2.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.2.4/entrypoint.sh b/atlassian/confluence/6.2.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.2.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.3.1/.docker-repository.yml b/atlassian/confluence/6.3.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.3.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.3.1/.dockerignore b/atlassian/confluence/6.3.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.3.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.3.1/Dockerfile b/atlassian/confluence/6.3.1/Dockerfile deleted file mode 100644 index 5427ff517..000000000 --- a/atlassian/confluence/6.3.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.3.1 -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/6.3.1/Makefile b/atlassian/confluence/6.3.1/Makefile deleted file mode 100644 index 5a829cec6..000000000 --- a/atlassian/confluence/6.3.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.3.1 . - diff --git a/atlassian/confluence/6.3.1/README.md b/atlassian/confluence/6.3.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.3.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.3.1/entrypoint.sh b/atlassian/confluence/6.3.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.3.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.3.2/.docker-repository.yml b/atlassian/confluence/6.3.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.3.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.3.2/.dockerignore b/atlassian/confluence/6.3.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.3.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.3.2/Dockerfile b/atlassian/confluence/6.3.2/Dockerfile deleted file mode 100644 index 966862883..000000000 --- a/atlassian/confluence/6.3.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.3.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/6.3.2/Makefile b/atlassian/confluence/6.3.2/Makefile deleted file mode 100644 index 87cb02a13..000000000 --- a/atlassian/confluence/6.3.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.3.2 . - diff --git a/atlassian/confluence/6.3.2/README.md b/atlassian/confluence/6.3.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.3.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.3.2/entrypoint.sh b/atlassian/confluence/6.3.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.3.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.3.3/.docker-repository.yml b/atlassian/confluence/6.3.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.3.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.3.3/.dockerignore b/atlassian/confluence/6.3.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.3.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.3.3/Dockerfile b/atlassian/confluence/6.3.3/Dockerfile deleted file mode 100644 index 0538b7412..000000000 --- a/atlassian/confluence/6.3.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.3.3 -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/6.3.3/Makefile b/atlassian/confluence/6.3.3/Makefile deleted file mode 100644 index 3fbdcf9e3..000000000 --- a/atlassian/confluence/6.3.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.3.3 . - diff --git a/atlassian/confluence/6.3.3/README.md b/atlassian/confluence/6.3.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.3.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.3.3/entrypoint.sh b/atlassian/confluence/6.3.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.3.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.3.4/.docker-repository.yml b/atlassian/confluence/6.3.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.3.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.3.4/.dockerignore b/atlassian/confluence/6.3.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.3.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.3.4/Dockerfile b/atlassian/confluence/6.3.4/Dockerfile deleted file mode 100644 index c5943a421..000000000 --- a/atlassian/confluence/6.3.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.3.4 -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/6.3.4/Makefile b/atlassian/confluence/6.3.4/Makefile deleted file mode 100644 index 1505da964..000000000 --- a/atlassian/confluence/6.3.4/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.3.4 . - diff --git a/atlassian/confluence/6.3.4/README.md b/atlassian/confluence/6.3.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.3.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.3.4/entrypoint.sh b/atlassian/confluence/6.3.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.3.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.4.0/.docker-repository.yml b/atlassian/confluence/6.4.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.4.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.4.0/.dockerignore b/atlassian/confluence/6.4.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.4.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.4.0/Dockerfile b/atlassian/confluence/6.4.0/Dockerfile deleted file mode 100644 index e54266583..000000000 --- a/atlassian/confluence/6.4.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.4.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/6.4.0/Makefile b/atlassian/confluence/6.4.0/Makefile deleted file mode 100644 index dd3a24008..000000000 --- a/atlassian/confluence/6.4.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.4.0 . - diff --git a/atlassian/confluence/6.4.0/README.md b/atlassian/confluence/6.4.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.4.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.4.0/entrypoint.sh b/atlassian/confluence/6.4.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.4.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.4.1/.docker-repository.yml b/atlassian/confluence/6.4.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.4.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.4.1/.dockerignore b/atlassian/confluence/6.4.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.4.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.4.1/Dockerfile b/atlassian/confluence/6.4.1/Dockerfile deleted file mode 100644 index 62c64bbde..000000000 --- a/atlassian/confluence/6.4.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.4.1 -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/6.4.1/Makefile b/atlassian/confluence/6.4.1/Makefile deleted file mode 100644 index 7379fec29..000000000 --- a/atlassian/confluence/6.4.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.4.1 . - diff --git a/atlassian/confluence/6.4.1/README.md b/atlassian/confluence/6.4.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.4.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.4.1/entrypoint.sh b/atlassian/confluence/6.4.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.4.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.4.2/.docker-repository.yml b/atlassian/confluence/6.4.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.4.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.4.2/.dockerignore b/atlassian/confluence/6.4.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.4.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.4.2/Dockerfile b/atlassian/confluence/6.4.2/Dockerfile deleted file mode 100644 index d092f4d19..000000000 --- a/atlassian/confluence/6.4.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.4.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/6.4.2/Makefile b/atlassian/confluence/6.4.2/Makefile deleted file mode 100644 index 34484b6ce..000000000 --- a/atlassian/confluence/6.4.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.4.2 . - diff --git a/atlassian/confluence/6.4.2/README.md b/atlassian/confluence/6.4.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.4.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.4.2/entrypoint.sh b/atlassian/confluence/6.4.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.4.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.4.3/.docker-repository.yml b/atlassian/confluence/6.4.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.4.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.4.3/.dockerignore b/atlassian/confluence/6.4.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.4.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.4.3/Dockerfile b/atlassian/confluence/6.4.3/Dockerfile deleted file mode 100644 index 6281998aa..000000000 --- a/atlassian/confluence/6.4.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.4.3 -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/6.4.3/Makefile b/atlassian/confluence/6.4.3/Makefile deleted file mode 100644 index 888a64d97..000000000 --- a/atlassian/confluence/6.4.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.4.3 . - diff --git a/atlassian/confluence/6.4.3/README.md b/atlassian/confluence/6.4.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.4.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.4.3/entrypoint.sh b/atlassian/confluence/6.4.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.4.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.5.0/.docker-repository.yml b/atlassian/confluence/6.5.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.5.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.5.0/.dockerignore b/atlassian/confluence/6.5.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.5.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.5.0/Dockerfile b/atlassian/confluence/6.5.0/Dockerfile deleted file mode 100644 index e674e1e53..000000000 --- a/atlassian/confluence/6.5.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.5.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/6.5.0/Makefile b/atlassian/confluence/6.5.0/Makefile deleted file mode 100644 index a457b27b6..000000000 --- a/atlassian/confluence/6.5.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.5.0 . - diff --git a/atlassian/confluence/6.5.0/README.md b/atlassian/confluence/6.5.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.5.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.5.0/entrypoint.sh b/atlassian/confluence/6.5.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.5.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.5.1/.docker-repository.yml b/atlassian/confluence/6.5.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.5.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.5.1/.dockerignore b/atlassian/confluence/6.5.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.5.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.5.1/Dockerfile b/atlassian/confluence/6.5.1/Dockerfile deleted file mode 100644 index fb30c69be..000000000 --- a/atlassian/confluence/6.5.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.5.1 -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/6.5.1/Makefile b/atlassian/confluence/6.5.1/Makefile deleted file mode 100644 index 10590eca2..000000000 --- a/atlassian/confluence/6.5.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.5.1 . - diff --git a/atlassian/confluence/6.5.1/README.md b/atlassian/confluence/6.5.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.5.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.5.1/entrypoint.sh b/atlassian/confluence/6.5.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.5.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.5.2/.docker-repository.yml b/atlassian/confluence/6.5.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.5.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.5.2/.dockerignore b/atlassian/confluence/6.5.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.5.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.5.2/Dockerfile b/atlassian/confluence/6.5.2/Dockerfile deleted file mode 100644 index 6a5f7cc0f..000000000 --- a/atlassian/confluence/6.5.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.5.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/6.5.2/Makefile b/atlassian/confluence/6.5.2/Makefile deleted file mode 100644 index d9dde7a8f..000000000 --- a/atlassian/confluence/6.5.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.5.2 . - diff --git a/atlassian/confluence/6.5.2/README.md b/atlassian/confluence/6.5.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.5.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.5.2/entrypoint.sh b/atlassian/confluence/6.5.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.5.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.5.3/.docker-repository.yml b/atlassian/confluence/6.5.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.5.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.5.3/.dockerignore b/atlassian/confluence/6.5.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.5.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.5.3/Dockerfile b/atlassian/confluence/6.5.3/Dockerfile deleted file mode 100644 index f81e707cb..000000000 --- a/atlassian/confluence/6.5.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.5.3 -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/6.5.3/Makefile b/atlassian/confluence/6.5.3/Makefile deleted file mode 100644 index 1e1b17a1a..000000000 --- a/atlassian/confluence/6.5.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.5.3 . - diff --git a/atlassian/confluence/6.5.3/README.md b/atlassian/confluence/6.5.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.5.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.5.3/entrypoint.sh b/atlassian/confluence/6.5.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.5.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.0/.docker-repository.yml b/atlassian/confluence/6.6.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.0/.dockerignore b/atlassian/confluence/6.6.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.0/Dockerfile b/atlassian/confluence/6.6.0/Dockerfile deleted file mode 100644 index b0850304f..000000000 --- a/atlassian/confluence/6.6.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.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/6.6.0/Makefile b/atlassian/confluence/6.6.0/Makefile deleted file mode 100644 index 1876076f1..000000000 --- a/atlassian/confluence/6.6.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.0 . - diff --git a/atlassian/confluence/6.6.0/README.md b/atlassian/confluence/6.6.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.0/entrypoint.sh b/atlassian/confluence/6.6.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.1/.docker-repository.yml b/atlassian/confluence/6.6.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.1/.dockerignore b/atlassian/confluence/6.6.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.1/Dockerfile b/atlassian/confluence/6.6.1/Dockerfile deleted file mode 100644 index 1608677f8..000000000 --- a/atlassian/confluence/6.6.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.1 -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/6.6.1/Makefile b/atlassian/confluence/6.6.1/Makefile deleted file mode 100644 index 9127a3ae2..000000000 --- a/atlassian/confluence/6.6.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.1 . - diff --git a/atlassian/confluence/6.6.1/README.md b/atlassian/confluence/6.6.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.1/entrypoint.sh b/atlassian/confluence/6.6.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.10/.docker-repository.yml b/atlassian/confluence/6.6.10/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.10/.dockerignore b/atlassian/confluence/6.6.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.10/Dockerfile b/atlassian/confluence/6.6.10/Dockerfile deleted file mode 100644 index eb33e2439..000000000 --- a/atlassian/confluence/6.6.10/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.10 -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/6.6.10/Makefile b/atlassian/confluence/6.6.10/Makefile deleted file mode 100644 index e322ce139..000000000 --- a/atlassian/confluence/6.6.10/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.10 . - diff --git a/atlassian/confluence/6.6.10/README.md b/atlassian/confluence/6.6.10/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.10/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.10/entrypoint.sh b/atlassian/confluence/6.6.10/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.10/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.11/.docker-repository.yml b/atlassian/confluence/6.6.11/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.11/.dockerignore b/atlassian/confluence/6.6.11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.11/Dockerfile b/atlassian/confluence/6.6.11/Dockerfile deleted file mode 100644 index 65d9e9233..000000000 --- a/atlassian/confluence/6.6.11/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.11 -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/6.6.11/Makefile b/atlassian/confluence/6.6.11/Makefile deleted file mode 100644 index 42ff0164d..000000000 --- a/atlassian/confluence/6.6.11/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.11 . - diff --git a/atlassian/confluence/6.6.11/README.md b/atlassian/confluence/6.6.11/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.11/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.11/entrypoint.sh b/atlassian/confluence/6.6.11/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.11/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.12/.docker-repository.yml b/atlassian/confluence/6.6.12/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.12/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.12/.dockerignore b/atlassian/confluence/6.6.12/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.12/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.12/Dockerfile b/atlassian/confluence/6.6.12/Dockerfile deleted file mode 100644 index 17da76ab4..000000000 --- a/atlassian/confluence/6.6.12/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.12 -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/6.6.12/Makefile b/atlassian/confluence/6.6.12/Makefile deleted file mode 100644 index 29ec4ae8d..000000000 --- a/atlassian/confluence/6.6.12/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.12 . - diff --git a/atlassian/confluence/6.6.12/README.md b/atlassian/confluence/6.6.12/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.12/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.12/entrypoint.sh b/atlassian/confluence/6.6.12/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.12/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.13/.docker-repository.yml b/atlassian/confluence/6.6.13/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.13/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.13/.dockerignore b/atlassian/confluence/6.6.13/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.13/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.13/Dockerfile b/atlassian/confluence/6.6.13/Dockerfile deleted file mode 100644 index cd6f7d0e5..000000000 --- a/atlassian/confluence/6.6.13/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.13 -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/6.6.13/Makefile b/atlassian/confluence/6.6.13/Makefile deleted file mode 100644 index 4a5e342e0..000000000 --- a/atlassian/confluence/6.6.13/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.13 . - diff --git a/atlassian/confluence/6.6.13/README.md b/atlassian/confluence/6.6.13/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.13/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.13/entrypoint.sh b/atlassian/confluence/6.6.13/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.13/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.14/.docker-repository.yml b/atlassian/confluence/6.6.14/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.14/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.14/.dockerignore b/atlassian/confluence/6.6.14/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.14/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.14/Dockerfile b/atlassian/confluence/6.6.14/Dockerfile deleted file mode 100644 index 88534111b..000000000 --- a/atlassian/confluence/6.6.14/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.14 -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/6.6.14/Makefile b/atlassian/confluence/6.6.14/Makefile deleted file mode 100644 index c07283d88..000000000 --- a/atlassian/confluence/6.6.14/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.14 . - diff --git a/atlassian/confluence/6.6.14/README.md b/atlassian/confluence/6.6.14/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.14/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.14/entrypoint.sh b/atlassian/confluence/6.6.14/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.14/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.15/.docker-repository.yml b/atlassian/confluence/6.6.15/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.15/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.15/.dockerignore b/atlassian/confluence/6.6.15/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.15/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.15/Dockerfile b/atlassian/confluence/6.6.15/Dockerfile deleted file mode 100644 index 65fd33268..000000000 --- a/atlassian/confluence/6.6.15/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.15 -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/6.6.15/Makefile b/atlassian/confluence/6.6.15/Makefile deleted file mode 100644 index c16e574e6..000000000 --- a/atlassian/confluence/6.6.15/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.15 . - diff --git a/atlassian/confluence/6.6.15/README.md b/atlassian/confluence/6.6.15/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.15/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.15/entrypoint.sh b/atlassian/confluence/6.6.15/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.15/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.17/.docker-repository.yml b/atlassian/confluence/6.6.17/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.17/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.17/.dockerignore b/atlassian/confluence/6.6.17/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.17/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.17/Dockerfile b/atlassian/confluence/6.6.17/Dockerfile deleted file mode 100644 index 554b5841a..000000000 --- a/atlassian/confluence/6.6.17/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.17 -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/6.6.17/Makefile b/atlassian/confluence/6.6.17/Makefile deleted file mode 100644 index 356dd5709..000000000 --- a/atlassian/confluence/6.6.17/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.17 . - diff --git a/atlassian/confluence/6.6.17/README.md b/atlassian/confluence/6.6.17/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.17/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.17/entrypoint.sh b/atlassian/confluence/6.6.17/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.17/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.2/.docker-repository.yml b/atlassian/confluence/6.6.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.2/.dockerignore b/atlassian/confluence/6.6.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.2/Dockerfile b/atlassian/confluence/6.6.2/Dockerfile deleted file mode 100644 index e0bc6ea1b..000000000 --- a/atlassian/confluence/6.6.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.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/6.6.2/Makefile b/atlassian/confluence/6.6.2/Makefile deleted file mode 100644 index d66002167..000000000 --- a/atlassian/confluence/6.6.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.2 . - diff --git a/atlassian/confluence/6.6.2/README.md b/atlassian/confluence/6.6.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.2/entrypoint.sh b/atlassian/confluence/6.6.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.3/.docker-repository.yml b/atlassian/confluence/6.6.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.3/.dockerignore b/atlassian/confluence/6.6.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.3/Dockerfile b/atlassian/confluence/6.6.3/Dockerfile deleted file mode 100644 index a19bd9413..000000000 --- a/atlassian/confluence/6.6.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.3 -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/6.6.3/Makefile b/atlassian/confluence/6.6.3/Makefile deleted file mode 100644 index ecb5e0dd8..000000000 --- a/atlassian/confluence/6.6.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.3 . - diff --git a/atlassian/confluence/6.6.3/README.md b/atlassian/confluence/6.6.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.3/entrypoint.sh b/atlassian/confluence/6.6.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.4/.docker-repository.yml b/atlassian/confluence/6.6.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.4/.dockerignore b/atlassian/confluence/6.6.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.4/Dockerfile b/atlassian/confluence/6.6.4/Dockerfile deleted file mode 100644 index 9c8864c32..000000000 --- a/atlassian/confluence/6.6.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.4 -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/6.6.4/Makefile b/atlassian/confluence/6.6.4/Makefile deleted file mode 100644 index 47c8828ca..000000000 --- a/atlassian/confluence/6.6.4/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.4 . - diff --git a/atlassian/confluence/6.6.4/README.md b/atlassian/confluence/6.6.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.4/entrypoint.sh b/atlassian/confluence/6.6.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.5/.docker-repository.yml b/atlassian/confluence/6.6.5/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.5/.dockerignore b/atlassian/confluence/6.6.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.5/Dockerfile b/atlassian/confluence/6.6.5/Dockerfile deleted file mode 100644 index eec344827..000000000 --- a/atlassian/confluence/6.6.5/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.5 -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/6.6.5/Makefile b/atlassian/confluence/6.6.5/Makefile deleted file mode 100644 index 9bdd33e42..000000000 --- a/atlassian/confluence/6.6.5/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.5 . - diff --git a/atlassian/confluence/6.6.5/README.md b/atlassian/confluence/6.6.5/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.5/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.5/entrypoint.sh b/atlassian/confluence/6.6.5/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.5/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.6/.docker-repository.yml b/atlassian/confluence/6.6.6/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.6/.dockerignore b/atlassian/confluence/6.6.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.6/Dockerfile b/atlassian/confluence/6.6.6/Dockerfile deleted file mode 100644 index cadb2a898..000000000 --- a/atlassian/confluence/6.6.6/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.6 -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/6.6.6/Makefile b/atlassian/confluence/6.6.6/Makefile deleted file mode 100644 index 8c37edc2f..000000000 --- a/atlassian/confluence/6.6.6/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.6 . - diff --git a/atlassian/confluence/6.6.6/README.md b/atlassian/confluence/6.6.6/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.6/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.6/entrypoint.sh b/atlassian/confluence/6.6.6/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.6/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.7/.docker-repository.yml b/atlassian/confluence/6.6.7/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.7/.dockerignore b/atlassian/confluence/6.6.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.7/Dockerfile b/atlassian/confluence/6.6.7/Dockerfile deleted file mode 100644 index 2650f20ab..000000000 --- a/atlassian/confluence/6.6.7/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.7 -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/6.6.7/Makefile b/atlassian/confluence/6.6.7/Makefile deleted file mode 100644 index d091db002..000000000 --- a/atlassian/confluence/6.6.7/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.7 . - diff --git a/atlassian/confluence/6.6.7/README.md b/atlassian/confluence/6.6.7/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.7/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.7/entrypoint.sh b/atlassian/confluence/6.6.7/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.7/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.8/.docker-repository.yml b/atlassian/confluence/6.6.8/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.8/.dockerignore b/atlassian/confluence/6.6.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.8/Dockerfile b/atlassian/confluence/6.6.8/Dockerfile deleted file mode 100644 index 408735cf7..000000000 --- a/atlassian/confluence/6.6.8/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.8 -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/6.6.8/Makefile b/atlassian/confluence/6.6.8/Makefile deleted file mode 100644 index d3628320b..000000000 --- a/atlassian/confluence/6.6.8/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.8 . - diff --git a/atlassian/confluence/6.6.8/README.md b/atlassian/confluence/6.6.8/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.8/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.8/entrypoint.sh b/atlassian/confluence/6.6.8/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.8/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.6.9/.docker-repository.yml b/atlassian/confluence/6.6.9/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.6.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.6.9/.dockerignore b/atlassian/confluence/6.6.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.6.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.6.9/Dockerfile b/atlassian/confluence/6.6.9/Dockerfile deleted file mode 100644 index 5e3984215..000000000 --- a/atlassian/confluence/6.6.9/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.6.9 -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/6.6.9/Makefile b/atlassian/confluence/6.6.9/Makefile deleted file mode 100644 index 6206d1f00..000000000 --- a/atlassian/confluence/6.6.9/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.6.9 . - diff --git a/atlassian/confluence/6.6.9/README.md b/atlassian/confluence/6.6.9/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.6.9/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.6.9/entrypoint.sh b/atlassian/confluence/6.6.9/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.6.9/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.7.0/.docker-repository.yml b/atlassian/confluence/6.7.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.7.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.7.0/.dockerignore b/atlassian/confluence/6.7.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.7.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.7.0/Dockerfile b/atlassian/confluence/6.7.0/Dockerfile deleted file mode 100644 index 9dc91e223..000000000 --- a/atlassian/confluence/6.7.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.7.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/6.7.0/Makefile b/atlassian/confluence/6.7.0/Makefile deleted file mode 100644 index 23bfba3d1..000000000 --- a/atlassian/confluence/6.7.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.7.0 . - diff --git a/atlassian/confluence/6.7.0/README.md b/atlassian/confluence/6.7.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.7.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.7.0/entrypoint.sh b/atlassian/confluence/6.7.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.7.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.7.1/.docker-repository.yml b/atlassian/confluence/6.7.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.7.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.7.1/.dockerignore b/atlassian/confluence/6.7.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.7.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.7.1/Dockerfile b/atlassian/confluence/6.7.1/Dockerfile deleted file mode 100644 index d868cca9e..000000000 --- a/atlassian/confluence/6.7.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.7.1 -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/6.7.1/Makefile b/atlassian/confluence/6.7.1/Makefile deleted file mode 100644 index 0375c7354..000000000 --- a/atlassian/confluence/6.7.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.7.1 . - diff --git a/atlassian/confluence/6.7.1/README.md b/atlassian/confluence/6.7.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.7.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.7.1/entrypoint.sh b/atlassian/confluence/6.7.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.7.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.7.2/.docker-repository.yml b/atlassian/confluence/6.7.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.7.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.7.2/.dockerignore b/atlassian/confluence/6.7.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.7.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.7.2/Dockerfile b/atlassian/confluence/6.7.2/Dockerfile deleted file mode 100644 index bde658aa8..000000000 --- a/atlassian/confluence/6.7.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.7.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/6.7.2/Makefile b/atlassian/confluence/6.7.2/Makefile deleted file mode 100644 index 4f78c9478..000000000 --- a/atlassian/confluence/6.7.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.7.2 . - diff --git a/atlassian/confluence/6.7.2/README.md b/atlassian/confluence/6.7.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.7.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.7.2/entrypoint.sh b/atlassian/confluence/6.7.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.7.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.7.3/.docker-repository.yml b/atlassian/confluence/6.7.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.7.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.7.3/.dockerignore b/atlassian/confluence/6.7.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.7.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.7.3/Dockerfile b/atlassian/confluence/6.7.3/Dockerfile deleted file mode 100644 index cf138aaf8..000000000 --- a/atlassian/confluence/6.7.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.7.3 -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/6.7.3/Makefile b/atlassian/confluence/6.7.3/Makefile deleted file mode 100644 index f53fd1b3e..000000000 --- a/atlassian/confluence/6.7.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.7.3 . - diff --git a/atlassian/confluence/6.7.3/README.md b/atlassian/confluence/6.7.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.7.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.7.3/entrypoint.sh b/atlassian/confluence/6.7.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.7.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.8.0/.docker-repository.yml b/atlassian/confluence/6.8.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.8.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.8.0/.dockerignore b/atlassian/confluence/6.8.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.8.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.8.0/Dockerfile b/atlassian/confluence/6.8.0/Dockerfile deleted file mode 100644 index 6b0568acc..000000000 --- a/atlassian/confluence/6.8.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.8.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/6.8.0/Makefile b/atlassian/confluence/6.8.0/Makefile deleted file mode 100644 index 8914687ef..000000000 --- a/atlassian/confluence/6.8.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.8.0 . - diff --git a/atlassian/confluence/6.8.0/README.md b/atlassian/confluence/6.8.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.8.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.8.0/entrypoint.sh b/atlassian/confluence/6.8.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.8.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.8.1/.docker-repository.yml b/atlassian/confluence/6.8.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.8.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.8.1/.dockerignore b/atlassian/confluence/6.8.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.8.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.8.1/Dockerfile b/atlassian/confluence/6.8.1/Dockerfile deleted file mode 100644 index 9473a5c21..000000000 --- a/atlassian/confluence/6.8.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.8.1 -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/6.8.1/Makefile b/atlassian/confluence/6.8.1/Makefile deleted file mode 100644 index 18152fd63..000000000 --- a/atlassian/confluence/6.8.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.8.1 . - diff --git a/atlassian/confluence/6.8.1/README.md b/atlassian/confluence/6.8.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.8.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.8.1/entrypoint.sh b/atlassian/confluence/6.8.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.8.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.8.2/.docker-repository.yml b/atlassian/confluence/6.8.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.8.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.8.2/.dockerignore b/atlassian/confluence/6.8.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.8.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.8.2/Dockerfile b/atlassian/confluence/6.8.2/Dockerfile deleted file mode 100644 index daa28275d..000000000 --- a/atlassian/confluence/6.8.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.8.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/6.8.2/Makefile b/atlassian/confluence/6.8.2/Makefile deleted file mode 100644 index 644a64e9a..000000000 --- a/atlassian/confluence/6.8.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.8.2 . - diff --git a/atlassian/confluence/6.8.2/README.md b/atlassian/confluence/6.8.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.8.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.8.2/entrypoint.sh b/atlassian/confluence/6.8.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.8.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.8.3/.docker-repository.yml b/atlassian/confluence/6.8.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.8.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.8.3/.dockerignore b/atlassian/confluence/6.8.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.8.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.8.3/Dockerfile b/atlassian/confluence/6.8.3/Dockerfile deleted file mode 100644 index 23aa96760..000000000 --- a/atlassian/confluence/6.8.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.8.3 -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/6.8.3/Makefile b/atlassian/confluence/6.8.3/Makefile deleted file mode 100644 index fc299aceb..000000000 --- a/atlassian/confluence/6.8.3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.8.3 . - diff --git a/atlassian/confluence/6.8.3/README.md b/atlassian/confluence/6.8.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.8.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.8.3/entrypoint.sh b/atlassian/confluence/6.8.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.8.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.8.5/.docker-repository.yml b/atlassian/confluence/6.8.5/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.8.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.8.5/.dockerignore b/atlassian/confluence/6.8.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.8.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.8.5/Dockerfile b/atlassian/confluence/6.8.5/Dockerfile deleted file mode 100644 index 5d4878265..000000000 --- a/atlassian/confluence/6.8.5/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.8.5 -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/6.8.5/Makefile b/atlassian/confluence/6.8.5/Makefile deleted file mode 100644 index 45a3c676a..000000000 --- a/atlassian/confluence/6.8.5/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.8.5 . - diff --git a/atlassian/confluence/6.8.5/README.md b/atlassian/confluence/6.8.5/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.8.5/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.8.5/entrypoint.sh b/atlassian/confluence/6.8.5/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.8.5/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.9.0/.docker-repository.yml b/atlassian/confluence/6.9.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.9.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.9.0/.dockerignore b/atlassian/confluence/6.9.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.9.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.9.0/Dockerfile b/atlassian/confluence/6.9.0/Dockerfile deleted file mode 100644 index e31383c10..000000000 --- a/atlassian/confluence/6.9.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.9.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/6.9.0/Makefile b/atlassian/confluence/6.9.0/Makefile deleted file mode 100644 index 8e9d5875b..000000000 --- a/atlassian/confluence/6.9.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.9.0 . - diff --git a/atlassian/confluence/6.9.0/README.md b/atlassian/confluence/6.9.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.9.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.9.0/entrypoint.sh b/atlassian/confluence/6.9.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.9.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.9.1/.docker-repository.yml b/atlassian/confluence/6.9.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.9.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.9.1/.dockerignore b/atlassian/confluence/6.9.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.9.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.9.1/Dockerfile b/atlassian/confluence/6.9.1/Dockerfile deleted file mode 100644 index f5b01ef4a..000000000 --- a/atlassian/confluence/6.9.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.9.1 -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/6.9.1/Makefile b/atlassian/confluence/6.9.1/Makefile deleted file mode 100644 index e10d5aa7c..000000000 --- a/atlassian/confluence/6.9.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.9.1 . diff --git a/atlassian/confluence/6.9.1/README.md b/atlassian/confluence/6.9.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.9.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.9.1/entrypoint.sh b/atlassian/confluence/6.9.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.9.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/6.9.3/.docker-repository.yml b/atlassian/confluence/6.9.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/6.9.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/6.9.3/.dockerignore b/atlassian/confluence/6.9.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/6.9.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/6.9.3/Dockerfile b/atlassian/confluence/6.9.3/Dockerfile deleted file mode 100644 index e5540d33d..000000000 --- a/atlassian/confluence/6.9.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=6.9.3 -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/6.9.3/Makefile b/atlassian/confluence/6.9.3/Makefile deleted file mode 100644 index 24cf8034f..000000000 --- a/atlassian/confluence/6.9.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:6.9.3 . diff --git a/atlassian/confluence/6.9.3/README.md b/atlassian/confluence/6.9.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/6.9.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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/6.9.3/entrypoint.sh b/atlassian/confluence/6.9.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/6.9.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.0.1/.docker-repository.yml b/atlassian/confluence/7.0.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.0.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.0.1/.dockerignore b/atlassian/confluence/7.0.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.0.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.0.1/Dockerfile b/atlassian/confluence/7.0.1/Dockerfile deleted file mode 100644 index b1790ded0..000000000 --- a/atlassian/confluence/7.0.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.0.1 -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.0.1/Makefile b/atlassian/confluence/7.0.1/Makefile deleted file mode 100644 index ad6500a9b..000000000 --- a/atlassian/confluence/7.0.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.0.1 . diff --git a/atlassian/confluence/7.0.1/README.md b/atlassian/confluence/7.0.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.0.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0.1/entrypoint.sh b/atlassian/confluence/7.0.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.0.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.0.2/.docker-repository.yml b/atlassian/confluence/7.0.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.0.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.0.2/.dockerignore b/atlassian/confluence/7.0.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.0.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.0.2/Dockerfile b/atlassian/confluence/7.0.2/Dockerfile deleted file mode 100644 index 00313c49f..000000000 --- a/atlassian/confluence/7.0.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.0.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.0.2/Makefile b/atlassian/confluence/7.0.2/Makefile deleted file mode 100644 index b848bf102..000000000 --- a/atlassian/confluence/7.0.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.0.2 . diff --git a/atlassian/confluence/7.0.2/README.md b/atlassian/confluence/7.0.2/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.0.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0.2/entrypoint.sh b/atlassian/confluence/7.0.2/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.0.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.0.3/.docker-repository.yml b/atlassian/confluence/7.0.3/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.0.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.0.3/.dockerignore b/atlassian/confluence/7.0.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.0.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.0.3/Dockerfile b/atlassian/confluence/7.0.3/Dockerfile deleted file mode 100644 index 7968f2513..000000000 --- a/atlassian/confluence/7.0.3/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.0.3 -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.0.3/Makefile b/atlassian/confluence/7.0.3/Makefile deleted file mode 100644 index 9634f113c..000000000 --- a/atlassian/confluence/7.0.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.0.3 . diff --git a/atlassian/confluence/7.0.3/README.md b/atlassian/confluence/7.0.3/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.0.3/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0.3/entrypoint.sh b/atlassian/confluence/7.0.3/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.0.3/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.0.4/.docker-repository.yml b/atlassian/confluence/7.0.4/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.0.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.0.4/.dockerignore b/atlassian/confluence/7.0.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.0.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.0.4/Dockerfile b/atlassian/confluence/7.0.4/Dockerfile deleted file mode 100644 index 8f6e2b2ca..000000000 --- a/atlassian/confluence/7.0.4/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.0.4 -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.0.4/Makefile b/atlassian/confluence/7.0.4/Makefile deleted file mode 100644 index d3132fe77..000000000 --- a/atlassian/confluence/7.0.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.0.4 . diff --git a/atlassian/confluence/7.0.4/README.md b/atlassian/confluence/7.0.4/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.0.4/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0.4/entrypoint.sh b/atlassian/confluence/7.0.4/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.0.4/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.0.5/.docker-repository.yml b/atlassian/confluence/7.0.5/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.0.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.0.5/.dockerignore b/atlassian/confluence/7.0.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.0.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.0.5/Dockerfile b/atlassian/confluence/7.0.5/Dockerfile deleted file mode 100644 index e122788e8..000000000 --- a/atlassian/confluence/7.0.5/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.0.5 -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.0.5/Makefile b/atlassian/confluence/7.0.5/Makefile deleted file mode 100644 index 2514422b3..000000000 --- a/atlassian/confluence/7.0.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.0.5 . diff --git a/atlassian/confluence/7.0.5/README.md b/atlassian/confluence/7.0.5/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.0.5/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0.5/entrypoint.sh b/atlassian/confluence/7.0.5/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.0.5/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.1.0/.docker-repository.yml b/atlassian/confluence/7.1.0/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.1.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.1.0/.dockerignore b/atlassian/confluence/7.1.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.1.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.1.0/Dockerfile b/atlassian/confluence/7.1.0/Dockerfile deleted file mode 100644 index 56ca2c723..000000000 --- a/atlassian/confluence/7.1.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.1.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.1.0/Dockerfile.jdk11 b/atlassian/confluence/7.1.0/Dockerfile.jdk11 deleted file mode 100644 index 66b1b2b9a..000000000 --- a/atlassian/confluence/7.1.0/Dockerfile.jdk11 +++ /dev/null @@ -1,46 +0,0 @@ -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.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.1.0/Makefile b/atlassian/confluence/7.1.0/Makefile deleted file mode 100644 index 61e02a317..000000000 --- a/atlassian/confluence/7.1.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.1.0 . diff --git a/atlassian/confluence/7.1.0/README.md b/atlassian/confluence/7.1.0/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.1.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.0/entrypoint.sh b/atlassian/confluence/7.1.0/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.1.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.1.1/.docker-repository.yml b/atlassian/confluence/7.1.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.1.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.1.1/.dockerignore b/atlassian/confluence/7.1.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.1.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.1.1/Dockerfile b/atlassian/confluence/7.1.1/Dockerfile deleted file mode 100644 index 1679524bd..000000000 --- a/atlassian/confluence/7.1.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.1.1 -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.1/Dockerfile.jdk11 b/atlassian/confluence/7.1.1/Dockerfile.jdk11 deleted file mode 100644 index 3cc9ae29e..000000000 --- a/atlassian/confluence/7.1.1/Dockerfile.jdk11 +++ /dev/null @@ -1,46 +0,0 @@ -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 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.1/Makefile b/atlassian/confluence/7.1.1/Makefile deleted file mode 100644 index 6eb5984cc..000000000 --- a/atlassian/confluence/7.1.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.1.1 . - docker push epicmorg/confluence:7.1.1 diff --git a/atlassian/confluence/7.1.1/README.md b/atlassian/confluence/7.1.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.1.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.1/entrypoint.sh b/atlassian/confluence/7.1.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.1.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.1.2/.docker-repository.yml b/atlassian/confluence/7.1.2/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.1.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.1.2/.dockerignore b/atlassian/confluence/7.1.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.1.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.1.2/Dockerfile b/atlassian/confluence/7.1.2/Dockerfile deleted file mode 100644 index 0e8a2b0a2..000000000 --- a/atlassian/confluence/7.1.2/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -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/Dockerfile.jdk11 b/atlassian/confluence/7.1.2/Dockerfile.jdk11 deleted file mode 100644 index d8dd674c6..000000000 --- a/atlassian/confluence/7.1.2/Dockerfile.jdk11 +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index f1f12c6f2..000000000 --- a/atlassian/confluence/7.1.2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.1.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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 deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.1.2/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.2.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.2.0/.dockerignore b/atlassian/confluence/7.2.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.2.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.2.0/Dockerfile b/atlassian/confluence/7.2.0/Dockerfile deleted file mode 100644 index 54a8caac8..000000000 --- a/atlassian/confluence/7.2.0/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -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/Dockerfile.jdk11 b/atlassian/confluence/7.2.0/Dockerfile.jdk11 deleted file mode 100644 index 4f7c7881c..000000000 --- a/atlassian/confluence/7.2.0/Dockerfile.jdk11 +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index 63c528903..000000000 --- a/atlassian/confluence/7.2.0/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.2.0/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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 deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.2.0/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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.1/.docker-repository.yml b/atlassian/confluence/7.2.1/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/7.2.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/7.2.1/.dockerignore b/atlassian/confluence/7.2.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/7.2.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/7.2.1/Dockerfile b/atlassian/confluence/7.2.1/Dockerfile deleted file mode 100644 index 107b68b3b..000000000 --- a/atlassian/confluence/7.2.1/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG CONFLUENCE_VERSION=7.2.1 -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.1/Dockerfile.jdk11 b/atlassian/confluence/7.2.1/Dockerfile.jdk11 deleted file mode 100644 index 3aee00b73..000000000 --- a/atlassian/confluence/7.2.1/Dockerfile.jdk11 +++ /dev/null @@ -1,46 +0,0 @@ -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.1 -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.1/Makefile b/atlassian/confluence/7.2.1/Makefile deleted file mode 100644 index 7833900ff..000000000 --- a/atlassian/confluence/7.2.1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: confl - -confl: - docker build --compress -t epicmorg/confluence:7.2.1 . - docker push epicmorg/confluence:7.2.1 diff --git a/atlassian/confluence/7.2.1/README.md b/atlassian/confluence/7.2.1/README.md deleted file mode 100644 index 7e5b92f37..000000000 --- a/atlassian/confluence/7.2.1/README.md +++ /dev/null @@ -1,131 +0,0 @@ -![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.1/entrypoint.sh b/atlassian/confluence/7.2.1/entrypoint.sh deleted file mode 100755 index 250fc031a..000000000 --- a/atlassian/confluence/7.2.1/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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/README.md b/atlassian/confluence/README.md index 309865c3f..8762a2363 100644 --- a/atlassian/confluence/README.md +++ b/atlassian/confluence/README.md @@ -3,6 +3,10 @@ All presented images avalible on our repo in docker hub. +* Confluence v5 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-confluence-5). +* Confluence v6 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-confluence-6). +* Confluence v7 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-confluence-7). + ## LTS releases: * Latest version of Confluence `6.13.4` diff --git a/atlassian/confluence/latest/.docker-repository.yml b/atlassian/confluence/latest/.docker-repository.yml deleted file mode 100644 index efb9f8b2d..000000000 --- a/atlassian/confluence/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/confluence diff --git a/atlassian/confluence/latest/.dockerignore b/atlassian/confluence/latest/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/confluence/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/confluence/latest/Dockerfile b/atlassian/confluence/latest/Dockerfile index 107b68b3b..984dfc340 100644 --- a/atlassian/confluence/latest/Dockerfile +++ b/atlassian/confluence/latest/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG CONFLUENCE_VERSION=7.2.1 +ARG CONFLUENCE_VERSION=7.3.2 ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz ################################################################## diff --git a/atlassian/confluence/latest/Dockerfile.jdk11 b/atlassian/confluence/latest/Dockerfile.jdk11 index 3aee00b73..b0b9673de 100644 --- a/atlassian/confluence/latest/Dockerfile.jdk11 +++ b/atlassian/confluence/latest/Dockerfile.jdk11 @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG CONFLUENCE_VERSION=7.2.1 +ARG CONFLUENCE_VERSION=7.3.2 ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz ################################################################## diff --git a/atlassian/jira/7.0.0/.docker-repository.yml b/atlassian/jira/7.0.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.0/.dockerignore b/atlassian/jira/7.0.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.0/Dockerfile b/atlassian/jira/7.0.0/Dockerfile deleted file mode 100644 index ca8f4b68e..000000000 --- a/atlassian/jira/7.0.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.0.0/Makefile b/atlassian/jira/7.0.0/Makefile deleted file mode 100644 index be763d410..000000000 --- a/atlassian/jira/7.0.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.0 . diff --git a/atlassian/jira/7.0.0/README.md b/atlassian/jira/7.0.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.0/entrypoint.sh b/atlassian/jira/7.0.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.0.10/.docker-repository.yml b/atlassian/jira/7.0.10/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.10/.dockerignore b/atlassian/jira/7.0.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.10/Dockerfile b/atlassian/jira/7.0.10/Dockerfile deleted file mode 100644 index b9c7daa0c..000000000 --- a/atlassian/jira/7.0.10/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.10 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.0.10/Makefile b/atlassian/jira/7.0.10/Makefile deleted file mode 100644 index 0e9be2360..000000000 --- a/atlassian/jira/7.0.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.10 . diff --git a/atlassian/jira/7.0.10/README.md b/atlassian/jira/7.0.10/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.10/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.10/entrypoint.sh b/atlassian/jira/7.0.10/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.10/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.0.11/.docker-repository.yml b/atlassian/jira/7.0.11/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.11/.dockerignore b/atlassian/jira/7.0.11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.11/Dockerfile b/atlassian/jira/7.0.11/Dockerfile deleted file mode 100644 index 25fa7b74c..000000000 --- a/atlassian/jira/7.0.11/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.11 -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/7.0.11/Makefile b/atlassian/jira/7.0.11/Makefile deleted file mode 100644 index e078161b8..000000000 --- a/atlassian/jira/7.0.11/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.11 . diff --git a/atlassian/jira/7.0.11/README.md b/atlassian/jira/7.0.11/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.11/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.11/entrypoint.sh b/atlassian/jira/7.0.11/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.11/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.0.2/.docker-repository.yml b/atlassian/jira/7.0.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.2/.dockerignore b/atlassian/jira/7.0.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.2/Dockerfile b/atlassian/jira/7.0.2/Dockerfile deleted file mode 100644 index e26bbba41..000000000 --- a/atlassian/jira/7.0.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.0.2/Makefile b/atlassian/jira/7.0.2/Makefile deleted file mode 100644 index 257105852..000000000 --- a/atlassian/jira/7.0.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.2 . diff --git a/atlassian/jira/7.0.2/README.md b/atlassian/jira/7.0.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.2/entrypoint.sh b/atlassian/jira/7.0.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.0.4/.docker-repository.yml b/atlassian/jira/7.0.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.4/.dockerignore b/atlassian/jira/7.0.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.4/Dockerfile b/atlassian/jira/7.0.4/Dockerfile deleted file mode 100644 index 92f8d5eb7..000000000 --- a/atlassian/jira/7.0.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.0.4/Makefile b/atlassian/jira/7.0.4/Makefile deleted file mode 100644 index a03580e31..000000000 --- a/atlassian/jira/7.0.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.4 . diff --git a/atlassian/jira/7.0.4/README.md b/atlassian/jira/7.0.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.4/entrypoint.sh b/atlassian/jira/7.0.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.0.5/.docker-repository.yml b/atlassian/jira/7.0.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.0.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.0.5/.dockerignore b/atlassian/jira/7.0.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.0.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.0.5/Dockerfile b/atlassian/jira/7.0.5/Dockerfile deleted file mode 100644 index f4867fcc8..000000000 --- a/atlassian/jira/7.0.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.0.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.0.5/Makefile b/atlassian/jira/7.0.5/Makefile deleted file mode 100644 index cbb7cb153..000000000 --- a/atlassian/jira/7.0.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.0.5 . diff --git a/atlassian/jira/7.0.5/README.md b/atlassian/jira/7.0.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.0.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.0.5/entrypoint.sh b/atlassian/jira/7.0.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.0.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.0/.docker-repository.yml b/atlassian/jira/7.1.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.0/.dockerignore b/atlassian/jira/7.1.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.0/Dockerfile b/atlassian/jira/7.1.0/Dockerfile deleted file mode 100644 index 5190a5edf..000000000 --- a/atlassian/jira/7.1.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.0/Makefile b/atlassian/jira/7.1.0/Makefile deleted file mode 100644 index 1c6bc6751..000000000 --- a/atlassian/jira/7.1.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.0 . diff --git a/atlassian/jira/7.1.0/README.md b/atlassian/jira/7.1.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.0/entrypoint.sh b/atlassian/jira/7.1.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.1/.docker-repository.yml b/atlassian/jira/7.1.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.1/.dockerignore b/atlassian/jira/7.1.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.1/Dockerfile b/atlassian/jira/7.1.1/Dockerfile deleted file mode 100644 index 528898b27..000000000 --- a/atlassian/jira/7.1.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.1/Makefile b/atlassian/jira/7.1.1/Makefile deleted file mode 100644 index 2bcd8ce3b..000000000 --- a/atlassian/jira/7.1.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.1 . diff --git a/atlassian/jira/7.1.1/README.md b/atlassian/jira/7.1.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.1/entrypoint.sh b/atlassian/jira/7.1.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.10/.docker-repository.yml b/atlassian/jira/7.1.10/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.10/.dockerignore b/atlassian/jira/7.1.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.10/Dockerfile b/atlassian/jira/7.1.10/Dockerfile deleted file mode 100644 index f4a4d282d..000000000 --- a/atlassian/jira/7.1.10/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.10 -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/7.1.10/Makefile b/atlassian/jira/7.1.10/Makefile deleted file mode 100644 index 620d5a603..000000000 --- a/atlassian/jira/7.1.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.10 . diff --git a/atlassian/jira/7.1.10/README.md b/atlassian/jira/7.1.10/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.10/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.10/entrypoint.sh b/atlassian/jira/7.1.10/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.10/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.2/.docker-repository.yml b/atlassian/jira/7.1.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.2/.dockerignore b/atlassian/jira/7.1.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.2/Dockerfile b/atlassian/jira/7.1.2/Dockerfile deleted file mode 100644 index ba19c9e0a..000000000 --- a/atlassian/jira/7.1.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.2/Makefile b/atlassian/jira/7.1.2/Makefile deleted file mode 100644 index c2f355e7e..000000000 --- a/atlassian/jira/7.1.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.2 . diff --git a/atlassian/jira/7.1.2/README.md b/atlassian/jira/7.1.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.2/entrypoint.sh b/atlassian/jira/7.1.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.4/.docker-repository.yml b/atlassian/jira/7.1.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.4/.dockerignore b/atlassian/jira/7.1.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.4/Dockerfile b/atlassian/jira/7.1.4/Dockerfile deleted file mode 100644 index 4f80056f7..000000000 --- a/atlassian/jira/7.1.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.4/Makefile b/atlassian/jira/7.1.4/Makefile deleted file mode 100644 index f5bd527a8..000000000 --- a/atlassian/jira/7.1.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.4 . diff --git a/atlassian/jira/7.1.4/README.md b/atlassian/jira/7.1.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.4/entrypoint.sh b/atlassian/jira/7.1.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.6/.docker-repository.yml b/atlassian/jira/7.1.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.6/.dockerignore b/atlassian/jira/7.1.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.6/Dockerfile b/atlassian/jira/7.1.6/Dockerfile deleted file mode 100644 index 4bb4b598f..000000000 --- a/atlassian/jira/7.1.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.6/Makefile b/atlassian/jira/7.1.6/Makefile deleted file mode 100644 index dcc53b272..000000000 --- a/atlassian/jira/7.1.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.6 . diff --git a/atlassian/jira/7.1.6/README.md b/atlassian/jira/7.1.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.6/entrypoint.sh b/atlassian/jira/7.1.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.7/.docker-repository.yml b/atlassian/jira/7.1.7/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.7/.dockerignore b/atlassian/jira/7.1.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.7/Dockerfile b/atlassian/jira/7.1.7/Dockerfile deleted file mode 100644 index 98d602ad2..000000000 --- a/atlassian/jira/7.1.7/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.7 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.7/Makefile b/atlassian/jira/7.1.7/Makefile deleted file mode 100644 index 0150406ad..000000000 --- a/atlassian/jira/7.1.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.7 . diff --git a/atlassian/jira/7.1.7/README.md b/atlassian/jira/7.1.7/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.7/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.7/entrypoint.sh b/atlassian/jira/7.1.7/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.7/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.8/.docker-repository.yml b/atlassian/jira/7.1.8/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.8/.dockerignore b/atlassian/jira/7.1.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.8/Dockerfile b/atlassian/jira/7.1.8/Dockerfile deleted file mode 100644 index bac2351d8..000000000 --- a/atlassian/jira/7.1.8/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${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/7.1.8/Makefile b/atlassian/jira/7.1.8/Makefile deleted file mode 100644 index a3c7f5c89..000000000 --- a/atlassian/jira/7.1.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.8 . diff --git a/atlassian/jira/7.1.8/README.md b/atlassian/jira/7.1.8/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.8/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.8/entrypoint.sh b/atlassian/jira/7.1.8/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.8/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.1.9/.docker-repository.yml b/atlassian/jira/7.1.9/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.1.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.1.9/.dockerignore b/atlassian/jira/7.1.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.1.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.1.9/Dockerfile b/atlassian/jira/7.1.9/Dockerfile deleted file mode 100644 index cfdfbd6e2..000000000 --- a/atlassian/jira/7.1.9/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.1.9 -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/7.1.9/Makefile b/atlassian/jira/7.1.9/Makefile deleted file mode 100644 index 410dc7fe5..000000000 --- a/atlassian/jira/7.1.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.1.9 . diff --git a/atlassian/jira/7.1.9/README.md b/atlassian/jira/7.1.9/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.1.9/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.1.9/entrypoint.sh b/atlassian/jira/7.1.9/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.1.9/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.10.0/.docker-repository.yml b/atlassian/jira/7.10.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.10.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.10.0/.dockerignore b/atlassian/jira/7.10.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.10.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.10.0/Dockerfile b/atlassian/jira/7.10.0/Dockerfile deleted file mode 100644 index a0f302de7..000000000 --- a/atlassian/jira/7.10.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.10.0 -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/7.10.0/Makefile b/atlassian/jira/7.10.0/Makefile deleted file mode 100644 index 1b52be659..000000000 --- a/atlassian/jira/7.10.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.10.0 . diff --git a/atlassian/jira/7.10.0/README.md b/atlassian/jira/7.10.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.10.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.10.0/entrypoint.sh b/atlassian/jira/7.10.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.10.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.10.1/.docker-repository.yml b/atlassian/jira/7.10.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.10.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.10.1/.dockerignore b/atlassian/jira/7.10.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.10.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.10.1/Dockerfile b/atlassian/jira/7.10.1/Dockerfile deleted file mode 100644 index 6e545a8a8..000000000 --- a/atlassian/jira/7.10.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.10.1 -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/7.10.1/Makefile b/atlassian/jira/7.10.1/Makefile deleted file mode 100644 index d9af21890..000000000 --- a/atlassian/jira/7.10.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.10.1 . diff --git a/atlassian/jira/7.10.1/README.md b/atlassian/jira/7.10.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.10.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.10.1/entrypoint.sh b/atlassian/jira/7.10.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.10.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.10.2/.docker-repository.yml b/atlassian/jira/7.10.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.10.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.10.2/.dockerignore b/atlassian/jira/7.10.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.10.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.10.2/Dockerfile b/atlassian/jira/7.10.2/Dockerfile deleted file mode 100644 index 5a0561f1c..000000000 --- a/atlassian/jira/7.10.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.10.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/7.10.2/Makefile b/atlassian/jira/7.10.2/Makefile deleted file mode 100644 index a38c01ee4..000000000 --- a/atlassian/jira/7.10.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.10.2 . diff --git a/atlassian/jira/7.10.2/README.md b/atlassian/jira/7.10.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.10.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.10.2/entrypoint.sh b/atlassian/jira/7.10.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.10.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.11.0/.docker-repository.yml b/atlassian/jira/7.11.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.11.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.11.0/.dockerignore b/atlassian/jira/7.11.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.11.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.11.0/Dockerfile b/atlassian/jira/7.11.0/Dockerfile deleted file mode 100644 index a2195559b..000000000 --- a/atlassian/jira/7.11.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.11.0 -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/7.11.0/Makefile b/atlassian/jira/7.11.0/Makefile deleted file mode 100644 index 8696c89ba..000000000 --- a/atlassian/jira/7.11.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.11.0 . diff --git a/atlassian/jira/7.11.0/README.md b/atlassian/jira/7.11.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.11.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.11.0/entrypoint.sh b/atlassian/jira/7.11.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.11.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.11.1/.docker-repository.yml b/atlassian/jira/7.11.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.11.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.11.1/.dockerignore b/atlassian/jira/7.11.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.11.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.11.1/Dockerfile b/atlassian/jira/7.11.1/Dockerfile deleted file mode 100644 index ea24c559d..000000000 --- a/atlassian/jira/7.11.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.11.1 -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/7.11.1/Makefile b/atlassian/jira/7.11.1/Makefile deleted file mode 100644 index 5b3888458..000000000 --- a/atlassian/jira/7.11.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.11.1 . diff --git a/atlassian/jira/7.11.1/README.md b/atlassian/jira/7.11.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.11.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.11.1/entrypoint.sh b/atlassian/jira/7.11.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.11.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.11.2/.docker-repository.yml b/atlassian/jira/7.11.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.11.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.11.2/.dockerignore b/atlassian/jira/7.11.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.11.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.11.2/Dockerfile b/atlassian/jira/7.11.2/Dockerfile deleted file mode 100644 index a4a924426..000000000 --- a/atlassian/jira/7.11.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.11.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/7.11.2/Makefile b/atlassian/jira/7.11.2/Makefile deleted file mode 100644 index 7cad5e911..000000000 --- a/atlassian/jira/7.11.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.11.2 . diff --git a/atlassian/jira/7.11.2/README.md b/atlassian/jira/7.11.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.11.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.11.2/entrypoint.sh b/atlassian/jira/7.11.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.11.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.12.0/.docker-repository.yml b/atlassian/jira/7.12.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.12.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.12.0/.dockerignore b/atlassian/jira/7.12.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.12.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.12.0/Dockerfile b/atlassian/jira/7.12.0/Dockerfile deleted file mode 100644 index 2befbc48f..000000000 --- a/atlassian/jira/7.12.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.12.0 -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/7.12.0/Makefile b/atlassian/jira/7.12.0/Makefile deleted file mode 100644 index ca46ace4c..000000000 --- a/atlassian/jira/7.12.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.12.0 . diff --git a/atlassian/jira/7.12.0/README.md b/atlassian/jira/7.12.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.12.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.12.0/entrypoint.sh b/atlassian/jira/7.12.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.12.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.12.1/.docker-repository.yml b/atlassian/jira/7.12.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.12.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.12.1/.dockerignore b/atlassian/jira/7.12.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.12.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.12.1/Dockerfile b/atlassian/jira/7.12.1/Dockerfile deleted file mode 100644 index cbe320063..000000000 --- a/atlassian/jira/7.12.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.12.1 -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/7.12.1/Makefile b/atlassian/jira/7.12.1/Makefile deleted file mode 100644 index c86569ef5..000000000 --- a/atlassian/jira/7.12.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.12.1 . diff --git a/atlassian/jira/7.12.1/README.md b/atlassian/jira/7.12.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.12.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.12.1/entrypoint.sh b/atlassian/jira/7.12.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.12.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.12.3/.docker-repository.yml b/atlassian/jira/7.12.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.12.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.12.3/.dockerignore b/atlassian/jira/7.12.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.12.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.12.3/Dockerfile b/atlassian/jira/7.12.3/Dockerfile deleted file mode 100644 index ff5c9a997..000000000 --- a/atlassian/jira/7.12.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.12.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/7.12.3/Makefile b/atlassian/jira/7.12.3/Makefile deleted file mode 100644 index 5485c4f70..000000000 --- a/atlassian/jira/7.12.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.12.3 . diff --git a/atlassian/jira/7.12.3/README.md b/atlassian/jira/7.12.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.12.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.12.3/entrypoint.sh b/atlassian/jira/7.12.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.12.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.0/.docker-repository.yml b/atlassian/jira/7.13.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.0/.dockerignore b/atlassian/jira/7.13.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.0/Dockerfile b/atlassian/jira/7.13.0/Dockerfile deleted file mode 100644 index 32d673841..000000000 --- a/atlassian/jira/7.13.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.0 -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/7.13.0/Makefile b/atlassian/jira/7.13.0/Makefile deleted file mode 100644 index 5da2c7963..000000000 --- a/atlassian/jira/7.13.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.0 . diff --git a/atlassian/jira/7.13.0/README.md b/atlassian/jira/7.13.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.0/entrypoint.sh b/atlassian/jira/7.13.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.1/.docker-repository.yml b/atlassian/jira/7.13.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.1/.dockerignore b/atlassian/jira/7.13.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.1/Dockerfile b/atlassian/jira/7.13.1/Dockerfile deleted file mode 100644 index 4f1c76cb7..000000000 --- a/atlassian/jira/7.13.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.1 -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/7.13.1/Makefile b/atlassian/jira/7.13.1/Makefile deleted file mode 100644 index e37e2b35c..000000000 --- a/atlassian/jira/7.13.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.1 . diff --git a/atlassian/jira/7.13.1/README.md b/atlassian/jira/7.13.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.1/entrypoint.sh b/atlassian/jira/7.13.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.11/.docker-repository.yml b/atlassian/jira/7.13.11/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.11/.dockerignore b/atlassian/jira/7.13.11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.11/Dockerfile b/atlassian/jira/7.13.11/Dockerfile deleted file mode 100644 index 6a1bbc847..000000000 --- a/atlassian/jira/7.13.11/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.11 -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/7.13.11/Makefile b/atlassian/jira/7.13.11/Makefile deleted file mode 100644 index 50d0d2038..000000000 --- a/atlassian/jira/7.13.11/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.11 . diff --git a/atlassian/jira/7.13.11/README.md b/atlassian/jira/7.13.11/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.11/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.11/entrypoint.sh b/atlassian/jira/7.13.11/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.11/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.2/.docker-repository.yml b/atlassian/jira/7.13.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.2/.dockerignore b/atlassian/jira/7.13.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.2/Dockerfile b/atlassian/jira/7.13.2/Dockerfile deleted file mode 100644 index 61675251c..000000000 --- a/atlassian/jira/7.13.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.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/7.13.2/Makefile b/atlassian/jira/7.13.2/Makefile deleted file mode 100644 index 1ca44fd6d..000000000 --- a/atlassian/jira/7.13.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.2 . diff --git a/atlassian/jira/7.13.2/README.md b/atlassian/jira/7.13.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.2/entrypoint.sh b/atlassian/jira/7.13.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.3/.docker-repository.yml b/atlassian/jira/7.13.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.3/.dockerignore b/atlassian/jira/7.13.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.3/Dockerfile b/atlassian/jira/7.13.3/Dockerfile deleted file mode 100644 index 3bb690fbe..000000000 --- a/atlassian/jira/7.13.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.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/7.13.3/Makefile b/atlassian/jira/7.13.3/Makefile deleted file mode 100644 index f98ce31c2..000000000 --- a/atlassian/jira/7.13.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.3 . diff --git a/atlassian/jira/7.13.3/README.md b/atlassian/jira/7.13.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.3/entrypoint.sh b/atlassian/jira/7.13.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.4/.docker-repository.yml b/atlassian/jira/7.13.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.4/.dockerignore b/atlassian/jira/7.13.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.4/Dockerfile b/atlassian/jira/7.13.4/Dockerfile deleted file mode 100644 index 7990267e9..000000000 --- a/atlassian/jira/7.13.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.4 -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/7.13.4/Makefile b/atlassian/jira/7.13.4/Makefile deleted file mode 100644 index 3003fd4f8..000000000 --- a/atlassian/jira/7.13.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.4 . diff --git a/atlassian/jira/7.13.4/README.md b/atlassian/jira/7.13.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.4/entrypoint.sh b/atlassian/jira/7.13.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.5/.docker-repository.yml b/atlassian/jira/7.13.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.5/.dockerignore b/atlassian/jira/7.13.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.5/Dockerfile b/atlassian/jira/7.13.5/Dockerfile deleted file mode 100644 index 9dc0928e3..000000000 --- a/atlassian/jira/7.13.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.5 -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/7.13.5/Makefile b/atlassian/jira/7.13.5/Makefile deleted file mode 100644 index 6b0b5d4fa..000000000 --- a/atlassian/jira/7.13.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.5 . diff --git a/atlassian/jira/7.13.5/README.md b/atlassian/jira/7.13.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.5/entrypoint.sh b/atlassian/jira/7.13.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.6/.docker-repository.yml b/atlassian/jira/7.13.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.6/.dockerignore b/atlassian/jira/7.13.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.6/Dockerfile b/atlassian/jira/7.13.6/Dockerfile deleted file mode 100644 index dfd1d9712..000000000 --- a/atlassian/jira/7.13.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.6 -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/7.13.6/Makefile b/atlassian/jira/7.13.6/Makefile deleted file mode 100644 index 5426e1914..000000000 --- a/atlassian/jira/7.13.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.6 . diff --git a/atlassian/jira/7.13.6/README.md b/atlassian/jira/7.13.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.6/entrypoint.sh b/atlassian/jira/7.13.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.8/.docker-repository.yml b/atlassian/jira/7.13.8/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.8/.dockerignore b/atlassian/jira/7.13.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.8/Dockerfile b/atlassian/jira/7.13.8/Dockerfile deleted file mode 100644 index e19343579..000000000 --- a/atlassian/jira/7.13.8/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.8 -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/7.13.8/Makefile b/atlassian/jira/7.13.8/Makefile deleted file mode 100644 index cd67bf905..000000000 --- a/atlassian/jira/7.13.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.8 . diff --git a/atlassian/jira/7.13.8/README.md b/atlassian/jira/7.13.8/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.8/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.8/entrypoint.sh b/atlassian/jira/7.13.8/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.8/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.13.9/.docker-repository.yml b/atlassian/jira/7.13.9/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.13.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.13.9/.dockerignore b/atlassian/jira/7.13.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.13.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.13.9/Dockerfile b/atlassian/jira/7.13.9/Dockerfile deleted file mode 100644 index 3efaa8d12..000000000 --- a/atlassian/jira/7.13.9/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.13.9 -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/7.13.9/Makefile b/atlassian/jira/7.13.9/Makefile deleted file mode 100644 index a9edcba91..000000000 --- a/atlassian/jira/7.13.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.13.9 . diff --git a/atlassian/jira/7.13.9/README.md b/atlassian/jira/7.13.9/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.13.9/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.13.9/entrypoint.sh b/atlassian/jira/7.13.9/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.13.9/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.0/.docker-repository.yml b/atlassian/jira/7.2.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.0/.dockerignore b/atlassian/jira/7.2.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.0/Dockerfile b/atlassian/jira/7.2.0/Dockerfile deleted file mode 100644 index b844d0cf7..000000000 --- a/atlassian/jira/7.2.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.0 -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/7.2.0/Makefile b/atlassian/jira/7.2.0/Makefile deleted file mode 100644 index 674b0183f..000000000 --- a/atlassian/jira/7.2.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.0 . diff --git a/atlassian/jira/7.2.0/README.md b/atlassian/jira/7.2.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.0/entrypoint.sh b/atlassian/jira/7.2.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.1/.docker-repository.yml b/atlassian/jira/7.2.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.1/.dockerignore b/atlassian/jira/7.2.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.1/Dockerfile b/atlassian/jira/7.2.1/Dockerfile deleted file mode 100644 index baed8a983..000000000 --- a/atlassian/jira/7.2.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.1 -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/7.2.1/Makefile b/atlassian/jira/7.2.1/Makefile deleted file mode 100644 index 142b75e00..000000000 --- a/atlassian/jira/7.2.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.1 . diff --git a/atlassian/jira/7.2.1/README.md b/atlassian/jira/7.2.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.1/entrypoint.sh b/atlassian/jira/7.2.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.10/.docker-repository.yml b/atlassian/jira/7.2.10/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.10/.dockerignore b/atlassian/jira/7.2.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.10/Dockerfile b/atlassian/jira/7.2.10/Dockerfile deleted file mode 100644 index ddd5a4b6b..000000000 --- a/atlassian/jira/7.2.10/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.10 -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/7.2.10/Makefile b/atlassian/jira/7.2.10/Makefile deleted file mode 100644 index fefd3058f..000000000 --- a/atlassian/jira/7.2.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.10 . diff --git a/atlassian/jira/7.2.10/README.md b/atlassian/jira/7.2.10/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.10/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.10/entrypoint.sh b/atlassian/jira/7.2.10/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.10/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.11/.docker-repository.yml b/atlassian/jira/7.2.11/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.11/.dockerignore b/atlassian/jira/7.2.11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.11/Dockerfile b/atlassian/jira/7.2.11/Dockerfile deleted file mode 100644 index e6d17c901..000000000 --- a/atlassian/jira/7.2.11/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.11 -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/7.2.11/Makefile b/atlassian/jira/7.2.11/Makefile deleted file mode 100644 index 23967cd19..000000000 --- a/atlassian/jira/7.2.11/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.11 . diff --git a/atlassian/jira/7.2.11/README.md b/atlassian/jira/7.2.11/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.11/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.11/entrypoint.sh b/atlassian/jira/7.2.11/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.11/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.12/.docker-repository.yml b/atlassian/jira/7.2.12/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.12/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.12/.dockerignore b/atlassian/jira/7.2.12/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.12/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.12/Dockerfile b/atlassian/jira/7.2.12/Dockerfile deleted file mode 100644 index 35b9499ce..000000000 --- a/atlassian/jira/7.2.12/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.12 -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/7.2.12/Makefile b/atlassian/jira/7.2.12/Makefile deleted file mode 100644 index 1b26f82bb..000000000 --- a/atlassian/jira/7.2.12/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.12 . diff --git a/atlassian/jira/7.2.12/README.md b/atlassian/jira/7.2.12/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.12/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.12/entrypoint.sh b/atlassian/jira/7.2.12/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.12/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.13/.docker-repository.yml b/atlassian/jira/7.2.13/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.13/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.13/.dockerignore b/atlassian/jira/7.2.13/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.13/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.13/Dockerfile b/atlassian/jira/7.2.13/Dockerfile deleted file mode 100644 index 45912f43a..000000000 --- a/atlassian/jira/7.2.13/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.13 -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/7.2.13/Makefile b/atlassian/jira/7.2.13/Makefile deleted file mode 100644 index 233a12b8e..000000000 --- a/atlassian/jira/7.2.13/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.13 . diff --git a/atlassian/jira/7.2.13/README.md b/atlassian/jira/7.2.13/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.13/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.13/entrypoint.sh b/atlassian/jira/7.2.13/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.13/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.14/.docker-repository.yml b/atlassian/jira/7.2.14/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.14/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.14/.dockerignore b/atlassian/jira/7.2.14/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.14/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.14/Dockerfile b/atlassian/jira/7.2.14/Dockerfile deleted file mode 100644 index daf88ce43..000000000 --- a/atlassian/jira/7.2.14/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.14 -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/7.2.14/Makefile b/atlassian/jira/7.2.14/Makefile deleted file mode 100644 index 460be90f3..000000000 --- a/atlassian/jira/7.2.14/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.14 . diff --git a/atlassian/jira/7.2.14/README.md b/atlassian/jira/7.2.14/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.14/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.14/entrypoint.sh b/atlassian/jira/7.2.14/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.14/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.15/.docker-repository.yml b/atlassian/jira/7.2.15/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.15/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.15/.dockerignore b/atlassian/jira/7.2.15/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.15/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.15/Dockerfile b/atlassian/jira/7.2.15/Dockerfile deleted file mode 100644 index 6a029423e..000000000 --- a/atlassian/jira/7.2.15/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.15 -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/7.2.15/Makefile b/atlassian/jira/7.2.15/Makefile deleted file mode 100644 index b1a683876..000000000 --- a/atlassian/jira/7.2.15/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.15 . diff --git a/atlassian/jira/7.2.15/README.md b/atlassian/jira/7.2.15/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.15/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.15/entrypoint.sh b/atlassian/jira/7.2.15/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.15/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.2/.docker-repository.yml b/atlassian/jira/7.2.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.2/.dockerignore b/atlassian/jira/7.2.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.2/Dockerfile b/atlassian/jira/7.2.2/Dockerfile deleted file mode 100644 index fd0548d1a..000000000 --- a/atlassian/jira/7.2.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.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/7.2.2/Makefile b/atlassian/jira/7.2.2/Makefile deleted file mode 100644 index 3d16590aa..000000000 --- a/atlassian/jira/7.2.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.2 . diff --git a/atlassian/jira/7.2.2/README.md b/atlassian/jira/7.2.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.2/entrypoint.sh b/atlassian/jira/7.2.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.3/.docker-repository.yml b/atlassian/jira/7.2.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.3/.dockerignore b/atlassian/jira/7.2.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.3/Dockerfile b/atlassian/jira/7.2.3/Dockerfile deleted file mode 100644 index 3de5f002e..000000000 --- a/atlassian/jira/7.2.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.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/7.2.3/Makefile b/atlassian/jira/7.2.3/Makefile deleted file mode 100644 index a71c4c82a..000000000 --- a/atlassian/jira/7.2.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.3 . diff --git a/atlassian/jira/7.2.3/README.md b/atlassian/jira/7.2.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.3/entrypoint.sh b/atlassian/jira/7.2.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.4/.docker-repository.yml b/atlassian/jira/7.2.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.4/.dockerignore b/atlassian/jira/7.2.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.4/Dockerfile b/atlassian/jira/7.2.4/Dockerfile deleted file mode 100644 index 0306f95d6..000000000 --- a/atlassian/jira/7.2.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.4 -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/7.2.4/Makefile b/atlassian/jira/7.2.4/Makefile deleted file mode 100644 index 6c92ba06f..000000000 --- a/atlassian/jira/7.2.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.4 . diff --git a/atlassian/jira/7.2.4/README.md b/atlassian/jira/7.2.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.4/entrypoint.sh b/atlassian/jira/7.2.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.6/.docker-repository.yml b/atlassian/jira/7.2.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.6/.dockerignore b/atlassian/jira/7.2.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.6/Dockerfile b/atlassian/jira/7.2.6/Dockerfile deleted file mode 100644 index c61c921c9..000000000 --- a/atlassian/jira/7.2.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.6 -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/7.2.6/Makefile b/atlassian/jira/7.2.6/Makefile deleted file mode 100644 index 6b4deb64c..000000000 --- a/atlassian/jira/7.2.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.6 . diff --git a/atlassian/jira/7.2.6/README.md b/atlassian/jira/7.2.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.6/entrypoint.sh b/atlassian/jira/7.2.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.7/.docker-repository.yml b/atlassian/jira/7.2.7/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.7/.dockerignore b/atlassian/jira/7.2.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.7/Dockerfile b/atlassian/jira/7.2.7/Dockerfile deleted file mode 100644 index 2ce57a56e..000000000 --- a/atlassian/jira/7.2.7/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.7 -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/7.2.7/Makefile b/atlassian/jira/7.2.7/Makefile deleted file mode 100644 index da51141eb..000000000 --- a/atlassian/jira/7.2.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.7 . diff --git a/atlassian/jira/7.2.7/README.md b/atlassian/jira/7.2.7/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.7/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.7/entrypoint.sh b/atlassian/jira/7.2.7/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.7/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.8/.docker-repository.yml b/atlassian/jira/7.2.8/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.8/.dockerignore b/atlassian/jira/7.2.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.8/Dockerfile b/atlassian/jira/7.2.8/Dockerfile deleted file mode 100644 index 8aa726749..000000000 --- a/atlassian/jira/7.2.8/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.8 -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/7.2.8/Makefile b/atlassian/jira/7.2.8/Makefile deleted file mode 100644 index d519af2b2..000000000 --- a/atlassian/jira/7.2.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.8 . diff --git a/atlassian/jira/7.2.8/README.md b/atlassian/jira/7.2.8/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.8/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.8/entrypoint.sh b/atlassian/jira/7.2.8/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.8/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.2.9/.docker-repository.yml b/atlassian/jira/7.2.9/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.2.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.2.9/.dockerignore b/atlassian/jira/7.2.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.2.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.2.9/Dockerfile b/atlassian/jira/7.2.9/Dockerfile deleted file mode 100644 index a29c871e2..000000000 --- a/atlassian/jira/7.2.9/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.2.9 -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/7.2.9/Makefile b/atlassian/jira/7.2.9/Makefile deleted file mode 100644 index 51087c069..000000000 --- a/atlassian/jira/7.2.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.2.9 . diff --git a/atlassian/jira/7.2.9/README.md b/atlassian/jira/7.2.9/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.2.9/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.2.9/entrypoint.sh b/atlassian/jira/7.2.9/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.2.9/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.0/.docker-repository.yml b/atlassian/jira/7.3.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.0/.dockerignore b/atlassian/jira/7.3.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.0/Dockerfile b/atlassian/jira/7.3.0/Dockerfile deleted file mode 100644 index 75be7bce6..000000000 --- a/atlassian/jira/7.3.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.0 -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/7.3.0/Makefile b/atlassian/jira/7.3.0/Makefile deleted file mode 100644 index b744b32be..000000000 --- a/atlassian/jira/7.3.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.0 . diff --git a/atlassian/jira/7.3.0/README.md b/atlassian/jira/7.3.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.0/entrypoint.sh b/atlassian/jira/7.3.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.1/.docker-repository.yml b/atlassian/jira/7.3.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.1/.dockerignore b/atlassian/jira/7.3.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.1/Dockerfile b/atlassian/jira/7.3.1/Dockerfile deleted file mode 100644 index 85f4595c1..000000000 --- a/atlassian/jira/7.3.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.1 -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/7.3.1/Makefile b/atlassian/jira/7.3.1/Makefile deleted file mode 100644 index e6ca9757f..000000000 --- a/atlassian/jira/7.3.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.1 . diff --git a/atlassian/jira/7.3.1/README.md b/atlassian/jira/7.3.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.1/entrypoint.sh b/atlassian/jira/7.3.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.2/.docker-repository.yml b/atlassian/jira/7.3.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.2/.dockerignore b/atlassian/jira/7.3.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.2/Dockerfile b/atlassian/jira/7.3.2/Dockerfile deleted file mode 100644 index ee39f3bfa..000000000 --- a/atlassian/jira/7.3.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.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/7.3.2/Makefile b/atlassian/jira/7.3.2/Makefile deleted file mode 100644 index f19a88679..000000000 --- a/atlassian/jira/7.3.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.2 . diff --git a/atlassian/jira/7.3.2/README.md b/atlassian/jira/7.3.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.2/entrypoint.sh b/atlassian/jira/7.3.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.3/.docker-repository.yml b/atlassian/jira/7.3.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.3/.dockerignore b/atlassian/jira/7.3.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.3/Dockerfile b/atlassian/jira/7.3.3/Dockerfile deleted file mode 100644 index 193a929ba..000000000 --- a/atlassian/jira/7.3.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.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/7.3.3/Makefile b/atlassian/jira/7.3.3/Makefile deleted file mode 100644 index 5656105a5..000000000 --- a/atlassian/jira/7.3.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.3 . diff --git a/atlassian/jira/7.3.3/README.md b/atlassian/jira/7.3.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.3/entrypoint.sh b/atlassian/jira/7.3.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.4/.docker-repository.yml b/atlassian/jira/7.3.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.4/.dockerignore b/atlassian/jira/7.3.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.4/Dockerfile b/atlassian/jira/7.3.4/Dockerfile deleted file mode 100644 index 268661f8f..000000000 --- a/atlassian/jira/7.3.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.4 -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/7.3.4/Makefile b/atlassian/jira/7.3.4/Makefile deleted file mode 100644 index 45256309c..000000000 --- a/atlassian/jira/7.3.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.4 . diff --git a/atlassian/jira/7.3.4/README.md b/atlassian/jira/7.3.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.4/entrypoint.sh b/atlassian/jira/7.3.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.5/.docker-repository.yml b/atlassian/jira/7.3.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.5/.dockerignore b/atlassian/jira/7.3.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.5/Dockerfile b/atlassian/jira/7.3.5/Dockerfile deleted file mode 100644 index dcbabee74..000000000 --- a/atlassian/jira/7.3.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.5 -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/7.3.5/Makefile b/atlassian/jira/7.3.5/Makefile deleted file mode 100644 index dcea2c3b0..000000000 --- a/atlassian/jira/7.3.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.5 . diff --git a/atlassian/jira/7.3.5/README.md b/atlassian/jira/7.3.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.5/entrypoint.sh b/atlassian/jira/7.3.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.6/.docker-repository.yml b/atlassian/jira/7.3.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.6/.dockerignore b/atlassian/jira/7.3.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.6/Dockerfile b/atlassian/jira/7.3.6/Dockerfile deleted file mode 100644 index 188f6857d..000000000 --- a/atlassian/jira/7.3.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.6 -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/7.3.6/Makefile b/atlassian/jira/7.3.6/Makefile deleted file mode 100644 index 7a99ba206..000000000 --- a/atlassian/jira/7.3.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.6 . diff --git a/atlassian/jira/7.3.6/README.md b/atlassian/jira/7.3.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.6/entrypoint.sh b/atlassian/jira/7.3.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.7/.docker-repository.yml b/atlassian/jira/7.3.7/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.7/.dockerignore b/atlassian/jira/7.3.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.7/Dockerfile b/atlassian/jira/7.3.7/Dockerfile deleted file mode 100644 index f274ac5c1..000000000 --- a/atlassian/jira/7.3.7/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.7 -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/7.3.7/Makefile b/atlassian/jira/7.3.7/Makefile deleted file mode 100644 index 7791706ad..000000000 --- a/atlassian/jira/7.3.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.7 . diff --git a/atlassian/jira/7.3.7/README.md b/atlassian/jira/7.3.7/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.7/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.7/entrypoint.sh b/atlassian/jira/7.3.7/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.7/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.8/.docker-repository.yml b/atlassian/jira/7.3.8/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.8/.dockerignore b/atlassian/jira/7.3.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.8/Dockerfile b/atlassian/jira/7.3.8/Dockerfile deleted file mode 100644 index fcb483846..000000000 --- a/atlassian/jira/7.3.8/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.8 -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/7.3.8/Makefile b/atlassian/jira/7.3.8/Makefile deleted file mode 100644 index 1efa30532..000000000 --- a/atlassian/jira/7.3.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.8 . diff --git a/atlassian/jira/7.3.8/README.md b/atlassian/jira/7.3.8/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.8/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.8/entrypoint.sh b/atlassian/jira/7.3.8/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.8/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.3.9/.docker-repository.yml b/atlassian/jira/7.3.9/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.3.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.3.9/.dockerignore b/atlassian/jira/7.3.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.3.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.3.9/Dockerfile b/atlassian/jira/7.3.9/Dockerfile deleted file mode 100644 index 1d85b041b..000000000 --- a/atlassian/jira/7.3.9/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.3.9 -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/7.3.9/Makefile b/atlassian/jira/7.3.9/Makefile deleted file mode 100644 index 90583bc03..000000000 --- a/atlassian/jira/7.3.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.3.9 . diff --git a/atlassian/jira/7.3.9/README.md b/atlassian/jira/7.3.9/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.3.9/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.3.9/entrypoint.sh b/atlassian/jira/7.3.9/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.3.9/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.0/.docker-repository.yml b/atlassian/jira/7.4.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.0/.dockerignore b/atlassian/jira/7.4.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.0/Dockerfile b/atlassian/jira/7.4.0/Dockerfile deleted file mode 100644 index 1d5527ad5..000000000 --- a/atlassian/jira/7.4.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.0 -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/7.4.0/Makefile b/atlassian/jira/7.4.0/Makefile deleted file mode 100644 index 52e9ac418..000000000 --- a/atlassian/jira/7.4.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.0 . diff --git a/atlassian/jira/7.4.0/README.md b/atlassian/jira/7.4.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.0/entrypoint.sh b/atlassian/jira/7.4.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.1/.docker-repository.yml b/atlassian/jira/7.4.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.1/.dockerignore b/atlassian/jira/7.4.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.1/Dockerfile b/atlassian/jira/7.4.1/Dockerfile deleted file mode 100644 index 6f74d409b..000000000 --- a/atlassian/jira/7.4.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.1 -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/7.4.1/Makefile b/atlassian/jira/7.4.1/Makefile deleted file mode 100644 index c7c83da76..000000000 --- a/atlassian/jira/7.4.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.1 . diff --git a/atlassian/jira/7.4.1/README.md b/atlassian/jira/7.4.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.1/entrypoint.sh b/atlassian/jira/7.4.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.2/.docker-repository.yml b/atlassian/jira/7.4.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.2/.dockerignore b/atlassian/jira/7.4.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.2/Dockerfile b/atlassian/jira/7.4.2/Dockerfile deleted file mode 100644 index 5aba5380a..000000000 --- a/atlassian/jira/7.4.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.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/7.4.2/Makefile b/atlassian/jira/7.4.2/Makefile deleted file mode 100644 index 4fdc41139..000000000 --- a/atlassian/jira/7.4.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.2 . diff --git a/atlassian/jira/7.4.2/README.md b/atlassian/jira/7.4.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.2/entrypoint.sh b/atlassian/jira/7.4.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.3/.docker-repository.yml b/atlassian/jira/7.4.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.3/.dockerignore b/atlassian/jira/7.4.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.3/Dockerfile b/atlassian/jira/7.4.3/Dockerfile deleted file mode 100644 index 20063c3f2..000000000 --- a/atlassian/jira/7.4.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.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/7.4.3/Makefile b/atlassian/jira/7.4.3/Makefile deleted file mode 100644 index 009baca7e..000000000 --- a/atlassian/jira/7.4.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.3 . diff --git a/atlassian/jira/7.4.3/README.md b/atlassian/jira/7.4.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.3/entrypoint.sh b/atlassian/jira/7.4.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.4/.docker-repository.yml b/atlassian/jira/7.4.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.4/.dockerignore b/atlassian/jira/7.4.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.4/Dockerfile b/atlassian/jira/7.4.4/Dockerfile deleted file mode 100644 index 8980155df..000000000 --- a/atlassian/jira/7.4.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.4 -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/7.4.4/Makefile b/atlassian/jira/7.4.4/Makefile deleted file mode 100644 index 4628d54ba..000000000 --- a/atlassian/jira/7.4.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.4 . diff --git a/atlassian/jira/7.4.4/README.md b/atlassian/jira/7.4.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.4/entrypoint.sh b/atlassian/jira/7.4.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.5/.docker-repository.yml b/atlassian/jira/7.4.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.5/.dockerignore b/atlassian/jira/7.4.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.5/Dockerfile b/atlassian/jira/7.4.5/Dockerfile deleted file mode 100644 index 8431bda78..000000000 --- a/atlassian/jira/7.4.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.5 -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/7.4.5/Makefile b/atlassian/jira/7.4.5/Makefile deleted file mode 100644 index 99d248d42..000000000 --- a/atlassian/jira/7.4.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.5 . diff --git a/atlassian/jira/7.4.5/README.md b/atlassian/jira/7.4.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.5/entrypoint.sh b/atlassian/jira/7.4.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.4.6/.docker-repository.yml b/atlassian/jira/7.4.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.4.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.4.6/.dockerignore b/atlassian/jira/7.4.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.4.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.4.6/Dockerfile b/atlassian/jira/7.4.6/Dockerfile deleted file mode 100644 index d4691ceab..000000000 --- a/atlassian/jira/7.4.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.4.6 -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/7.4.6/Makefile b/atlassian/jira/7.4.6/Makefile deleted file mode 100644 index 7dd540b9b..000000000 --- a/atlassian/jira/7.4.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.4.6 . diff --git a/atlassian/jira/7.4.6/README.md b/atlassian/jira/7.4.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.4.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.4.6/entrypoint.sh b/atlassian/jira/7.4.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.4.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.5.0/.docker-repository.yml b/atlassian/jira/7.5.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.5.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.5.0/.dockerignore b/atlassian/jira/7.5.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.5.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.5.0/Dockerfile b/atlassian/jira/7.5.0/Dockerfile deleted file mode 100644 index 5bb1823dd..000000000 --- a/atlassian/jira/7.5.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.5.0 -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/7.5.0/Makefile b/atlassian/jira/7.5.0/Makefile deleted file mode 100644 index 79ae30952..000000000 --- a/atlassian/jira/7.5.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.5.0 . diff --git a/atlassian/jira/7.5.0/README.md b/atlassian/jira/7.5.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.5.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.5.0/entrypoint.sh b/atlassian/jira/7.5.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.5.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.5.1/.docker-repository.yml b/atlassian/jira/7.5.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.5.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.5.1/.dockerignore b/atlassian/jira/7.5.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.5.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.5.1/Dockerfile b/atlassian/jira/7.5.1/Dockerfile deleted file mode 100644 index c6d46d9de..000000000 --- a/atlassian/jira/7.5.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.5.1 -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/7.5.1/Makefile b/atlassian/jira/7.5.1/Makefile deleted file mode 100644 index f27d551d1..000000000 --- a/atlassian/jira/7.5.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.5.1 . diff --git a/atlassian/jira/7.5.1/README.md b/atlassian/jira/7.5.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.5.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.5.1/entrypoint.sh b/atlassian/jira/7.5.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.5.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.5.2/.docker-repository.yml b/atlassian/jira/7.5.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.5.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.5.2/.dockerignore b/atlassian/jira/7.5.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.5.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.5.2/Dockerfile b/atlassian/jira/7.5.2/Dockerfile deleted file mode 100644 index 5940efb6b..000000000 --- a/atlassian/jira/7.5.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.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/7.5.2/Makefile b/atlassian/jira/7.5.2/Makefile deleted file mode 100644 index bff56675e..000000000 --- a/atlassian/jira/7.5.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.5.2 . diff --git a/atlassian/jira/7.5.2/README.md b/atlassian/jira/7.5.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.5.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.5.2/entrypoint.sh b/atlassian/jira/7.5.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.5.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.5.3/.docker-repository.yml b/atlassian/jira/7.5.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.5.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.5.3/.dockerignore b/atlassian/jira/7.5.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.5.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.5.3/Dockerfile b/atlassian/jira/7.5.3/Dockerfile deleted file mode 100644 index 93a55b9b4..000000000 --- a/atlassian/jira/7.5.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.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/7.5.3/Makefile b/atlassian/jira/7.5.3/Makefile deleted file mode 100644 index 629bbb09d..000000000 --- a/atlassian/jira/7.5.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.5.3 . diff --git a/atlassian/jira/7.5.3/README.md b/atlassian/jira/7.5.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.5.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.5.3/entrypoint.sh b/atlassian/jira/7.5.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.5.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.5.4/.docker-repository.yml b/atlassian/jira/7.5.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.5.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.5.4/.dockerignore b/atlassian/jira/7.5.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.5.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.5.4/Dockerfile b/atlassian/jira/7.5.4/Dockerfile deleted file mode 100644 index 0fb88b1ec..000000000 --- a/atlassian/jira/7.5.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.5.4 -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/7.5.4/Makefile b/atlassian/jira/7.5.4/Makefile deleted file mode 100644 index 7a62f47df..000000000 --- a/atlassian/jira/7.5.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.5.4 . diff --git a/atlassian/jira/7.5.4/README.md b/atlassian/jira/7.5.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.5.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.5.4/entrypoint.sh b/atlassian/jira/7.5.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.5.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.0/.docker-repository.yml b/atlassian/jira/7.6.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.0/.dockerignore b/atlassian/jira/7.6.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.0/Dockerfile b/atlassian/jira/7.6.0/Dockerfile deleted file mode 100644 index 05617e427..000000000 --- a/atlassian/jira/7.6.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.0 -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/7.6.0/Makefile b/atlassian/jira/7.6.0/Makefile deleted file mode 100644 index 22296bdc8..000000000 --- a/atlassian/jira/7.6.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.0 . diff --git a/atlassian/jira/7.6.0/README.md b/atlassian/jira/7.6.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.0/entrypoint.sh b/atlassian/jira/7.6.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.1/.docker-repository.yml b/atlassian/jira/7.6.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.1/.dockerignore b/atlassian/jira/7.6.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.1/Dockerfile b/atlassian/jira/7.6.1/Dockerfile deleted file mode 100644 index b64b86a27..000000000 --- a/atlassian/jira/7.6.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.1 -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/7.6.1/Makefile b/atlassian/jira/7.6.1/Makefile deleted file mode 100644 index 0f3b0d140..000000000 --- a/atlassian/jira/7.6.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.1 . diff --git a/atlassian/jira/7.6.1/README.md b/atlassian/jira/7.6.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.1/entrypoint.sh b/atlassian/jira/7.6.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.10/.docker-repository.yml b/atlassian/jira/7.6.10/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.10/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.10/.dockerignore b/atlassian/jira/7.6.10/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.10/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.10/Dockerfile b/atlassian/jira/7.6.10/Dockerfile deleted file mode 100644 index ed257cf20..000000000 --- a/atlassian/jira/7.6.10/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.10 -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/7.6.10/Makefile b/atlassian/jira/7.6.10/Makefile deleted file mode 100644 index edac4d2f6..000000000 --- a/atlassian/jira/7.6.10/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.10 . diff --git a/atlassian/jira/7.6.10/README.md b/atlassian/jira/7.6.10/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.10/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.10/entrypoint.sh b/atlassian/jira/7.6.10/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.10/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.11/.docker-repository.yml b/atlassian/jira/7.6.11/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.11/.dockerignore b/atlassian/jira/7.6.11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.11/Dockerfile b/atlassian/jira/7.6.11/Dockerfile deleted file mode 100644 index d33d794a2..000000000 --- a/atlassian/jira/7.6.11/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.11 -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/7.6.11/Makefile b/atlassian/jira/7.6.11/Makefile deleted file mode 100644 index f1a503f40..000000000 --- a/atlassian/jira/7.6.11/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.11 \ No newline at end of file diff --git a/atlassian/jira/7.6.11/README.md b/atlassian/jira/7.6.11/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.11/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.11/entrypoint.sh b/atlassian/jira/7.6.11/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.11/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.12/.docker-repository.yml b/atlassian/jira/7.6.12/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.12/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.12/.dockerignore b/atlassian/jira/7.6.12/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.12/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.12/Dockerfile b/atlassian/jira/7.6.12/Dockerfile deleted file mode 100644 index dbf1c3182..000000000 --- a/atlassian/jira/7.6.12/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.12 -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/7.6.12/Makefile b/atlassian/jira/7.6.12/Makefile deleted file mode 100644 index 95ea442dc..000000000 --- a/atlassian/jira/7.6.12/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.12 . diff --git a/atlassian/jira/7.6.12/README.md b/atlassian/jira/7.6.12/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.12/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.12/entrypoint.sh b/atlassian/jira/7.6.12/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.12/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.13/.docker-repository.yml b/atlassian/jira/7.6.13/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.13/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.13/.dockerignore b/atlassian/jira/7.6.13/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.13/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.13/Dockerfile b/atlassian/jira/7.6.13/Dockerfile deleted file mode 100644 index e174a3df8..000000000 --- a/atlassian/jira/7.6.13/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.13 -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/7.6.13/Makefile b/atlassian/jira/7.6.13/Makefile deleted file mode 100644 index 2720d6482..000000000 --- a/atlassian/jira/7.6.13/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.13 . diff --git a/atlassian/jira/7.6.13/README.md b/atlassian/jira/7.6.13/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.13/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.13/entrypoint.sh b/atlassian/jira/7.6.13/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.13/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.14/.docker-repository.yml b/atlassian/jira/7.6.14/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.14/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.14/.dockerignore b/atlassian/jira/7.6.14/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.14/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.14/Dockerfile b/atlassian/jira/7.6.14/Dockerfile deleted file mode 100644 index 55aa10be3..000000000 --- a/atlassian/jira/7.6.14/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.14 -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/7.6.14/Makefile b/atlassian/jira/7.6.14/Makefile deleted file mode 100644 index bc18cc2a6..000000000 --- a/atlassian/jira/7.6.14/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.14 . diff --git a/atlassian/jira/7.6.14/README.md b/atlassian/jira/7.6.14/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.14/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.14/entrypoint.sh b/atlassian/jira/7.6.14/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.14/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.15/.docker-repository.yml b/atlassian/jira/7.6.15/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.15/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.15/.dockerignore b/atlassian/jira/7.6.15/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.15/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.15/Dockerfile b/atlassian/jira/7.6.15/Dockerfile deleted file mode 100644 index 2aea85a3d..000000000 --- a/atlassian/jira/7.6.15/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.15 -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/7.6.15/Makefile b/atlassian/jira/7.6.15/Makefile deleted file mode 100644 index de0914463..000000000 --- a/atlassian/jira/7.6.15/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.15 . diff --git a/atlassian/jira/7.6.15/README.md b/atlassian/jira/7.6.15/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.15/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.15/entrypoint.sh b/atlassian/jira/7.6.15/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.15/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.16/.docker-repository.yml b/atlassian/jira/7.6.16/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.16/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.16/.dockerignore b/atlassian/jira/7.6.16/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.16/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.16/Dockerfile b/atlassian/jira/7.6.16/Dockerfile deleted file mode 100644 index 2cdb83881..000000000 --- a/atlassian/jira/7.6.16/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.16 -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/7.6.16/Makefile b/atlassian/jira/7.6.16/Makefile deleted file mode 100644 index 53a9333f0..000000000 --- a/atlassian/jira/7.6.16/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.16 . diff --git a/atlassian/jira/7.6.16/README.md b/atlassian/jira/7.6.16/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.16/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.16/entrypoint.sh b/atlassian/jira/7.6.16/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.16/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.17/.docker-repository.yml b/atlassian/jira/7.6.17/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.17/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.17/.dockerignore b/atlassian/jira/7.6.17/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.17/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.17/Dockerfile b/atlassian/jira/7.6.17/Dockerfile deleted file mode 100644 index e12c6532f..000000000 --- a/atlassian/jira/7.6.17/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.17 -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/7.6.17/Makefile b/atlassian/jira/7.6.17/Makefile deleted file mode 100644 index 456033f2d..000000000 --- a/atlassian/jira/7.6.17/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.17 . diff --git a/atlassian/jira/7.6.17/README.md b/atlassian/jira/7.6.17/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.17/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.17/entrypoint.sh b/atlassian/jira/7.6.17/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.17/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.2/.docker-repository.yml b/atlassian/jira/7.6.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.2/.dockerignore b/atlassian/jira/7.6.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.2/Dockerfile b/atlassian/jira/7.6.2/Dockerfile deleted file mode 100644 index 8d6fc9d86..000000000 --- a/atlassian/jira/7.6.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.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/7.6.2/Makefile b/atlassian/jira/7.6.2/Makefile deleted file mode 100644 index d4e074a42..000000000 --- a/atlassian/jira/7.6.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.2 . diff --git a/atlassian/jira/7.6.2/README.md b/atlassian/jira/7.6.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.2/entrypoint.sh b/atlassian/jira/7.6.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.3/.docker-repository.yml b/atlassian/jira/7.6.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.3/.dockerignore b/atlassian/jira/7.6.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.3/Dockerfile b/atlassian/jira/7.6.3/Dockerfile deleted file mode 100644 index b106ce402..000000000 --- a/atlassian/jira/7.6.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.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/7.6.3/Makefile b/atlassian/jira/7.6.3/Makefile deleted file mode 100644 index 7a8c98ffb..000000000 --- a/atlassian/jira/7.6.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.3 . diff --git a/atlassian/jira/7.6.3/README.md b/atlassian/jira/7.6.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.3/entrypoint.sh b/atlassian/jira/7.6.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.4/.docker-repository.yml b/atlassian/jira/7.6.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.4/.dockerignore b/atlassian/jira/7.6.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.4/Dockerfile b/atlassian/jira/7.6.4/Dockerfile deleted file mode 100644 index 66aa5c5f3..000000000 --- a/atlassian/jira/7.6.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.4 -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/7.6.4/Makefile b/atlassian/jira/7.6.4/Makefile deleted file mode 100644 index 6396d95c3..000000000 --- a/atlassian/jira/7.6.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.4 . diff --git a/atlassian/jira/7.6.4/README.md b/atlassian/jira/7.6.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.4/entrypoint.sh b/atlassian/jira/7.6.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.6/.docker-repository.yml b/atlassian/jira/7.6.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.6/.dockerignore b/atlassian/jira/7.6.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.6/Dockerfile b/atlassian/jira/7.6.6/Dockerfile deleted file mode 100644 index 2041a4e0e..000000000 --- a/atlassian/jira/7.6.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.6 -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/7.6.6/Makefile b/atlassian/jira/7.6.6/Makefile deleted file mode 100644 index 258c78519..000000000 --- a/atlassian/jira/7.6.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.6 . diff --git a/atlassian/jira/7.6.6/README.md b/atlassian/jira/7.6.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.6/entrypoint.sh b/atlassian/jira/7.6.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.7/.docker-repository.yml b/atlassian/jira/7.6.7/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.7/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.7/.dockerignore b/atlassian/jira/7.6.7/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.7/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.7/Dockerfile b/atlassian/jira/7.6.7/Dockerfile deleted file mode 100644 index 93e9070b7..000000000 --- a/atlassian/jira/7.6.7/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.7 -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/7.6.7/Makefile b/atlassian/jira/7.6.7/Makefile deleted file mode 100644 index b6dfcfec1..000000000 --- a/atlassian/jira/7.6.7/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.7 . diff --git a/atlassian/jira/7.6.7/README.md b/atlassian/jira/7.6.7/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.7/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.7/entrypoint.sh b/atlassian/jira/7.6.7/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.7/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.8/.docker-repository.yml b/atlassian/jira/7.6.8/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.8/.dockerignore b/atlassian/jira/7.6.8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.8/Dockerfile b/atlassian/jira/7.6.8/Dockerfile deleted file mode 100644 index f7ec54037..000000000 --- a/atlassian/jira/7.6.8/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.8 -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/7.6.8/Makefile b/atlassian/jira/7.6.8/Makefile deleted file mode 100644 index d4dbf81e3..000000000 --- a/atlassian/jira/7.6.8/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.8 . diff --git a/atlassian/jira/7.6.8/README.md b/atlassian/jira/7.6.8/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.8/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.8/entrypoint.sh b/atlassian/jira/7.6.8/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.8/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.6.9/.docker-repository.yml b/atlassian/jira/7.6.9/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.6.9/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.6.9/.dockerignore b/atlassian/jira/7.6.9/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.6.9/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.6.9/Dockerfile b/atlassian/jira/7.6.9/Dockerfile deleted file mode 100644 index c838cc1c5..000000000 --- a/atlassian/jira/7.6.9/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.6.9 -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/7.6.9/Makefile b/atlassian/jira/7.6.9/Makefile deleted file mode 100644 index 4d1b321ab..000000000 --- a/atlassian/jira/7.6.9/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.6.9 . diff --git a/atlassian/jira/7.6.9/README.md b/atlassian/jira/7.6.9/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.6.9/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.6.9/entrypoint.sh b/atlassian/jira/7.6.9/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.6.9/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.7.0/.docker-repository.yml b/atlassian/jira/7.7.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.7.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.7.0/.dockerignore b/atlassian/jira/7.7.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.7.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.7.0/Dockerfile b/atlassian/jira/7.7.0/Dockerfile deleted file mode 100644 index c28dc53fb..000000000 --- a/atlassian/jira/7.7.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.7.0 -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/7.7.0/Makefile b/atlassian/jira/7.7.0/Makefile deleted file mode 100644 index 484b63ebe..000000000 --- a/atlassian/jira/7.7.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.7.0 . diff --git a/atlassian/jira/7.7.0/README.md b/atlassian/jira/7.7.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.7.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.7.0/entrypoint.sh b/atlassian/jira/7.7.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.7.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.7.1/.docker-repository.yml b/atlassian/jira/7.7.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.7.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.7.1/.dockerignore b/atlassian/jira/7.7.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.7.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.7.1/Dockerfile b/atlassian/jira/7.7.1/Dockerfile deleted file mode 100644 index 7feb33a0b..000000000 --- a/atlassian/jira/7.7.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.7.1 -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/7.7.1/Makefile b/atlassian/jira/7.7.1/Makefile deleted file mode 100644 index f585f6150..000000000 --- a/atlassian/jira/7.7.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.7.1 . diff --git a/atlassian/jira/7.7.1/README.md b/atlassian/jira/7.7.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.7.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.7.1/entrypoint.sh b/atlassian/jira/7.7.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.7.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.7.2/.docker-repository.yml b/atlassian/jira/7.7.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.7.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.7.2/.dockerignore b/atlassian/jira/7.7.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.7.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.7.2/Dockerfile b/atlassian/jira/7.7.2/Dockerfile deleted file mode 100644 index 5a5c5d671..000000000 --- a/atlassian/jira/7.7.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.7.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/7.7.2/Makefile b/atlassian/jira/7.7.2/Makefile deleted file mode 100644 index 33f32889d..000000000 --- a/atlassian/jira/7.7.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.7.2 . diff --git a/atlassian/jira/7.7.2/README.md b/atlassian/jira/7.7.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.7.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.7.2/entrypoint.sh b/atlassian/jira/7.7.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.7.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.7.4/.docker-repository.yml b/atlassian/jira/7.7.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.7.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.7.4/.dockerignore b/atlassian/jira/7.7.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.7.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.7.4/Dockerfile b/atlassian/jira/7.7.4/Dockerfile deleted file mode 100644 index 79346f86c..000000000 --- a/atlassian/jira/7.7.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.7.4 -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/7.7.4/Makefile b/atlassian/jira/7.7.4/Makefile deleted file mode 100644 index ec7c511d6..000000000 --- a/atlassian/jira/7.7.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.7.4 . diff --git a/atlassian/jira/7.7.4/README.md b/atlassian/jira/7.7.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.7.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.7.4/entrypoint.sh b/atlassian/jira/7.7.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.7.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.8.0/.docker-repository.yml b/atlassian/jira/7.8.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.8.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.8.0/.dockerignore b/atlassian/jira/7.8.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.8.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.8.0/Dockerfile b/atlassian/jira/7.8.0/Dockerfile deleted file mode 100644 index 02bca0b8f..000000000 --- a/atlassian/jira/7.8.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.8.0 -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/7.8.0/Makefile b/atlassian/jira/7.8.0/Makefile deleted file mode 100644 index a8c1c3708..000000000 --- a/atlassian/jira/7.8.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.8.0 . diff --git a/atlassian/jira/7.8.0/README.md b/atlassian/jira/7.8.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.8.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.8.0/entrypoint.sh b/atlassian/jira/7.8.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.8.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.8.1/.docker-repository.yml b/atlassian/jira/7.8.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.8.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.8.1/.dockerignore b/atlassian/jira/7.8.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.8.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.8.1/Dockerfile b/atlassian/jira/7.8.1/Dockerfile deleted file mode 100644 index 598aca639..000000000 --- a/atlassian/jira/7.8.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.8.1 -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/7.8.1/Makefile b/atlassian/jira/7.8.1/Makefile deleted file mode 100644 index 15a553644..000000000 --- a/atlassian/jira/7.8.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.8.1 . diff --git a/atlassian/jira/7.8.1/README.md b/atlassian/jira/7.8.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.8.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.8.1/entrypoint.sh b/atlassian/jira/7.8.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.8.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.8.2/.docker-repository.yml b/atlassian/jira/7.8.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.8.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.8.2/.dockerignore b/atlassian/jira/7.8.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.8.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.8.2/Dockerfile b/atlassian/jira/7.8.2/Dockerfile deleted file mode 100644 index 9e8fb7dc4..000000000 --- a/atlassian/jira/7.8.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.8.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/7.8.2/Makefile b/atlassian/jira/7.8.2/Makefile deleted file mode 100644 index 7d73c3eaf..000000000 --- a/atlassian/jira/7.8.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.8.2 . diff --git a/atlassian/jira/7.8.2/README.md b/atlassian/jira/7.8.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.8.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.8.2/entrypoint.sh b/atlassian/jira/7.8.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.8.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.8.4/.docker-repository.yml b/atlassian/jira/7.8.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.8.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.8.4/.dockerignore b/atlassian/jira/7.8.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.8.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.8.4/Dockerfile b/atlassian/jira/7.8.4/Dockerfile deleted file mode 100644 index 06cc20d95..000000000 --- a/atlassian/jira/7.8.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.8.4 -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/7.8.4/Makefile b/atlassian/jira/7.8.4/Makefile deleted file mode 100644 index 13d159ddc..000000000 --- a/atlassian/jira/7.8.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.8.4 . diff --git a/atlassian/jira/7.8.4/README.md b/atlassian/jira/7.8.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.8.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.8.4/entrypoint.sh b/atlassian/jira/7.8.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.8.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.9.0/.docker-repository.yml b/atlassian/jira/7.9.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.9.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.9.0/.dockerignore b/atlassian/jira/7.9.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.9.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.9.0/Dockerfile b/atlassian/jira/7.9.0/Dockerfile deleted file mode 100644 index 3fcc0c8f1..000000000 --- a/atlassian/jira/7.9.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.9.0 -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/7.9.0/Makefile b/atlassian/jira/7.9.0/Makefile deleted file mode 100644 index 083bd154b..000000000 --- a/atlassian/jira/7.9.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.9.0 . diff --git a/atlassian/jira/7.9.0/README.md b/atlassian/jira/7.9.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.9.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.9.0/entrypoint.sh b/atlassian/jira/7.9.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.9.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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/7.9.2/.docker-repository.yml b/atlassian/jira/7.9.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/7.9.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/7.9.2/.dockerignore b/atlassian/jira/7.9.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/7.9.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/7.9.2/Dockerfile b/atlassian/jira/7.9.2/Dockerfile deleted file mode 100644 index ea4dd675b..000000000 --- a/atlassian/jira/7.9.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=7.9.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/7.9.2/Makefile b/atlassian/jira/7.9.2/Makefile deleted file mode 100644 index d16c74d5f..000000000 --- a/atlassian/jira/7.9.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:7.9.2 . diff --git a/atlassian/jira/7.9.2/README.md b/atlassian/jira/7.9.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/7.9.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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/7.9.2/entrypoint.sh b/atlassian/jira/7.9.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/7.9.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.0.0/.docker-repository.yml b/atlassian/jira/8.0.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.0.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.0.0/.dockerignore b/atlassian/jira/8.0.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.0.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.0.0/Dockerfile b/atlassian/jira/8.0.0/Dockerfile deleted file mode 100644 index 98e94c6bc..000000000 --- a/atlassian/jira/8.0.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.0.0 -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.0.0/Makefile b/atlassian/jira/8.0.0/Makefile deleted file mode 100644 index ec734ea67..000000000 --- a/atlassian/jira/8.0.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.0.0 . diff --git a/atlassian/jira/8.0.0/README.md b/atlassian/jira/8.0.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.0.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.0.0/entrypoint.sh b/atlassian/jira/8.0.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.0.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.0.2/.docker-repository.yml b/atlassian/jira/8.0.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.0.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.0.2/.dockerignore b/atlassian/jira/8.0.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.0.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.0.2/Dockerfile b/atlassian/jira/8.0.2/Dockerfile deleted file mode 100644 index b4346797e..000000000 --- a/atlassian/jira/8.0.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.0.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.0.2/Makefile b/atlassian/jira/8.0.2/Makefile deleted file mode 100644 index fd595c493..000000000 --- a/atlassian/jira/8.0.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.0.2 . diff --git a/atlassian/jira/8.0.2/README.md b/atlassian/jira/8.0.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.0.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.0.2/entrypoint.sh b/atlassian/jira/8.0.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.0.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.0.3/.docker-repository.yml b/atlassian/jira/8.0.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.0.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.0.3/.dockerignore b/atlassian/jira/8.0.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.0.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.0.3/Dockerfile b/atlassian/jira/8.0.3/Dockerfile deleted file mode 100644 index c96af7da2..000000000 --- a/atlassian/jira/8.0.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.0.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.0.3/Makefile b/atlassian/jira/8.0.3/Makefile deleted file mode 100644 index af66b6115..000000000 --- a/atlassian/jira/8.0.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.0.3 . diff --git a/atlassian/jira/8.0.3/README.md b/atlassian/jira/8.0.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.0.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.0.3/entrypoint.sh b/atlassian/jira/8.0.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.0.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.1.0/.docker-repository.yml b/atlassian/jira/8.1.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.1.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.1.0/.dockerignore b/atlassian/jira/8.1.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.1.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.1.0/Dockerfile b/atlassian/jira/8.1.0/Dockerfile deleted file mode 100644 index 60a5c20be..000000000 --- a/atlassian/jira/8.1.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.1.0 -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.1.0/Makefile b/atlassian/jira/8.1.0/Makefile deleted file mode 100644 index 77ebb66c5..000000000 --- a/atlassian/jira/8.1.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.1.0 . diff --git a/atlassian/jira/8.1.0/README.md b/atlassian/jira/8.1.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.1.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.1.0/entrypoint.sh b/atlassian/jira/8.1.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.1.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.1.1/.docker-repository.yml b/atlassian/jira/8.1.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.1.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.1.1/.dockerignore b/atlassian/jira/8.1.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.1.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.1.1/Dockerfile b/atlassian/jira/8.1.1/Dockerfile deleted file mode 100644 index 3cbd9cb52..000000000 --- a/atlassian/jira/8.1.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.1.1 -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.1.1/Makefile b/atlassian/jira/8.1.1/Makefile deleted file mode 100644 index 3d9ae7851..000000000 --- a/atlassian/jira/8.1.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.1.1 . diff --git a/atlassian/jira/8.1.1/README.md b/atlassian/jira/8.1.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.1.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.1.1/entrypoint.sh b/atlassian/jira/8.1.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.1.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.1.2/.docker-repository.yml b/atlassian/jira/8.1.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.1.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.1.2/.dockerignore b/atlassian/jira/8.1.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.1.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.1.2/Dockerfile b/atlassian/jira/8.1.2/Dockerfile deleted file mode 100644 index 857d2cf23..000000000 --- a/atlassian/jira/8.1.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.1.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.1.2/Makefile b/atlassian/jira/8.1.2/Makefile deleted file mode 100644 index 7c89625c5..000000000 --- a/atlassian/jira/8.1.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.1.2 . diff --git a/atlassian/jira/8.1.2/README.md b/atlassian/jira/8.1.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.1.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.1.2/entrypoint.sh b/atlassian/jira/8.1.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.1.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.1.3/.docker-repository.yml b/atlassian/jira/8.1.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.1.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.1.3/.dockerignore b/atlassian/jira/8.1.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.1.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.1.3/Dockerfile b/atlassian/jira/8.1.3/Dockerfile deleted file mode 100644 index c38c5d398..000000000 --- a/atlassian/jira/8.1.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.1.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.1.3/Makefile b/atlassian/jira/8.1.3/Makefile deleted file mode 100644 index 9115ebaf5..000000000 --- a/atlassian/jira/8.1.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.1.3 . diff --git a/atlassian/jira/8.1.3/README.md b/atlassian/jira/8.1.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.1.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.1.3/entrypoint.sh b/atlassian/jira/8.1.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.1.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.0/.docker-repository.yml b/atlassian/jira/8.2.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.0/.dockerignore b/atlassian/jira/8.2.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.0/Dockerfile b/atlassian/jira/8.2.0/Dockerfile deleted file mode 100644 index 53e0b84be..000000000 --- a/atlassian/jira/8.2.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.0 -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.2.0/Dockerfile.jdk11 b/atlassian/jira/8.2.0/Dockerfile.jdk11 deleted file mode 100644 index 6bab33843..000000000 --- a/atlassian/jira/8.2.0/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.0 -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.2.0/Makefile b/atlassian/jira/8.2.0/Makefile deleted file mode 100644 index 6430df6d3..000000000 --- a/atlassian/jira/8.2.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.0 . diff --git a/atlassian/jira/8.2.0/README.md b/atlassian/jira/8.2.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.0/entrypoint.sh b/atlassian/jira/8.2.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.1/.docker-repository.yml b/atlassian/jira/8.2.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.1/.dockerignore b/atlassian/jira/8.2.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.1/Dockerfile b/atlassian/jira/8.2.1/Dockerfile deleted file mode 100644 index 2bcd39287..000000000 --- a/atlassian/jira/8.2.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.1 -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.2.1/Dockerfile.jdk11 b/atlassian/jira/8.2.1/Dockerfile.jdk11 deleted file mode 100644 index f1dc5bd51..000000000 --- a/atlassian/jira/8.2.1/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.1 -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.2.1/Makefile b/atlassian/jira/8.2.1/Makefile deleted file mode 100644 index 20d6118ee..000000000 --- a/atlassian/jira/8.2.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.1 . diff --git a/atlassian/jira/8.2.1/README.md b/atlassian/jira/8.2.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.1/entrypoint.sh b/atlassian/jira/8.2.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.2/.docker-repository.yml b/atlassian/jira/8.2.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.2/.dockerignore b/atlassian/jira/8.2.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.2/Dockerfile b/atlassian/jira/8.2.2/Dockerfile deleted file mode 100644 index 1ad98368d..000000000 --- a/atlassian/jira/8.2.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.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.2.2/Dockerfile.jdk11 b/atlassian/jira/8.2.2/Dockerfile.jdk11 deleted file mode 100644 index eb09f592e..000000000 --- a/atlassian/jira/8.2.2/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.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.2.2/Makefile b/atlassian/jira/8.2.2/Makefile deleted file mode 100644 index 4ed1126fa..000000000 --- a/atlassian/jira/8.2.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.2 . diff --git a/atlassian/jira/8.2.2/README.md b/atlassian/jira/8.2.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.2/entrypoint.sh b/atlassian/jira/8.2.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.3/.docker-repository.yml b/atlassian/jira/8.2.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.3/.dockerignore b/atlassian/jira/8.2.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.3/Dockerfile b/atlassian/jira/8.2.3/Dockerfile deleted file mode 100644 index 7b22fae69..000000000 --- a/atlassian/jira/8.2.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.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.2.3/Dockerfile.jdk11 b/atlassian/jira/8.2.3/Dockerfile.jdk11 deleted file mode 100644 index 5d85db334..000000000 --- a/atlassian/jira/8.2.3/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.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.2.3/Makefile b/atlassian/jira/8.2.3/Makefile deleted file mode 100644 index a0971b5ed..000000000 --- a/atlassian/jira/8.2.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.3 . diff --git a/atlassian/jira/8.2.3/README.md b/atlassian/jira/8.2.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.3/entrypoint.sh b/atlassian/jira/8.2.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.4/.docker-repository.yml b/atlassian/jira/8.2.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.4/.dockerignore b/atlassian/jira/8.2.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.4/Dockerfile b/atlassian/jira/8.2.4/Dockerfile deleted file mode 100644 index bb0bf7d45..000000000 --- a/atlassian/jira/8.2.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.4 -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.2.4/Dockerfile.jdk11 b/atlassian/jira/8.2.4/Dockerfile.jdk11 deleted file mode 100644 index fe86295f7..000000000 --- a/atlassian/jira/8.2.4/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.4 -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.2.4/Makefile b/atlassian/jira/8.2.4/Makefile deleted file mode 100644 index ecfb821c9..000000000 --- a/atlassian/jira/8.2.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.4 . diff --git a/atlassian/jira/8.2.4/README.md b/atlassian/jira/8.2.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.4/entrypoint.sh b/atlassian/jira/8.2.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.5/.docker-repository.yml b/atlassian/jira/8.2.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.5/.dockerignore b/atlassian/jira/8.2.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.5/Dockerfile b/atlassian/jira/8.2.5/Dockerfile deleted file mode 100644 index 2f741b295..000000000 --- a/atlassian/jira/8.2.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.5 -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.2.5/Dockerfile.jdk11 b/atlassian/jira/8.2.5/Dockerfile.jdk11 deleted file mode 100644 index d6498ec49..000000000 --- a/atlassian/jira/8.2.5/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.5 -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.2.5/Makefile b/atlassian/jira/8.2.5/Makefile deleted file mode 100644 index 3cbc72272..000000000 --- a/atlassian/jira/8.2.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.5 . diff --git a/atlassian/jira/8.2.5/README.md b/atlassian/jira/8.2.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.5/entrypoint.sh b/atlassian/jira/8.2.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2.6/.docker-repository.yml b/atlassian/jira/8.2.6/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.2.6/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.2.6/.dockerignore b/atlassian/jira/8.2.6/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.2.6/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.2.6/Dockerfile b/atlassian/jira/8.2.6/Dockerfile deleted file mode 100644 index 6c52750a8..000000000 --- a/atlassian/jira/8.2.6/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.6 -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.2.6/Dockerfile.jdk11 b/atlassian/jira/8.2.6/Dockerfile.jdk11 deleted file mode 100644 index 74207d383..000000000 --- a/atlassian/jira/8.2.6/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.2.6 -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.2.6/Makefile b/atlassian/jira/8.2.6/Makefile deleted file mode 100644 index f4ed77086..000000000 --- a/atlassian/jira/8.2.6/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.2.6 . diff --git a/atlassian/jira/8.2.6/README.md b/atlassian/jira/8.2.6/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.2.6/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.2.6/entrypoint.sh b/atlassian/jira/8.2.6/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.2.6/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.0/.docker-repository.yml b/atlassian/jira/8.3.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.0/.dockerignore b/atlassian/jira/8.3.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.0/Dockerfile b/atlassian/jira/8.3.0/Dockerfile deleted file mode 100644 index 6918c3f1f..000000000 --- a/atlassian/jira/8.3.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.0 -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.3.0/Dockerfile.jdk11 b/atlassian/jira/8.3.0/Dockerfile.jdk11 deleted file mode 100644 index 510cccac8..000000000 --- a/atlassian/jira/8.3.0/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.0 -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.3.0/Makefile b/atlassian/jira/8.3.0/Makefile deleted file mode 100644 index 72bad8d70..000000000 --- a/atlassian/jira/8.3.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.0 . diff --git a/atlassian/jira/8.3.0/README.md b/atlassian/jira/8.3.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.0/entrypoint.sh b/atlassian/jira/8.3.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.1/.docker-repository.yml b/atlassian/jira/8.3.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.1/.dockerignore b/atlassian/jira/8.3.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.1/Dockerfile b/atlassian/jira/8.3.1/Dockerfile deleted file mode 100644 index 45123d298..000000000 --- a/atlassian/jira/8.3.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.1 -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.3.1/Dockerfile.jdk11 b/atlassian/jira/8.3.1/Dockerfile.jdk11 deleted file mode 100644 index ba2aaf577..000000000 --- a/atlassian/jira/8.3.1/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.1 -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.3.1/Makefile b/atlassian/jira/8.3.1/Makefile deleted file mode 100644 index c2f6fb33a..000000000 --- a/atlassian/jira/8.3.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.1 . diff --git a/atlassian/jira/8.3.1/README.md b/atlassian/jira/8.3.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.1/entrypoint.sh b/atlassian/jira/8.3.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.2/.docker-repository.yml b/atlassian/jira/8.3.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.2/.dockerignore b/atlassian/jira/8.3.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.2/Dockerfile b/atlassian/jira/8.3.2/Dockerfile deleted file mode 100644 index 8ef1bc261..000000000 --- a/atlassian/jira/8.3.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.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.3.2/Dockerfile.jdk11 b/atlassian/jira/8.3.2/Dockerfile.jdk11 deleted file mode 100644 index 23d3e6fd8..000000000 --- a/atlassian/jira/8.3.2/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.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.3.2/Makefile b/atlassian/jira/8.3.2/Makefile deleted file mode 100644 index 172eec6e5..000000000 --- a/atlassian/jira/8.3.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.2 . diff --git a/atlassian/jira/8.3.2/README.md b/atlassian/jira/8.3.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.2/entrypoint.sh b/atlassian/jira/8.3.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.3/.docker-repository.yml b/atlassian/jira/8.3.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.3/.dockerignore b/atlassian/jira/8.3.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.3/Dockerfile b/atlassian/jira/8.3.3/Dockerfile deleted file mode 100644 index 55ec899e1..000000000 --- a/atlassian/jira/8.3.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.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.3.3/Dockerfile.jdk11 b/atlassian/jira/8.3.3/Dockerfile.jdk11 deleted file mode 100644 index 2ad7f24b0..000000000 --- a/atlassian/jira/8.3.3/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.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.3.3/Makefile b/atlassian/jira/8.3.3/Makefile deleted file mode 100644 index 0adece15c..000000000 --- a/atlassian/jira/8.3.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.3 . diff --git a/atlassian/jira/8.3.3/README.md b/atlassian/jira/8.3.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.3/entrypoint.sh b/atlassian/jira/8.3.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.4/.docker-repository.yml b/atlassian/jira/8.3.4/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.4/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.4/.dockerignore b/atlassian/jira/8.3.4/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.4/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.4/Dockerfile b/atlassian/jira/8.3.4/Dockerfile deleted file mode 100644 index 3bd48bf31..000000000 --- a/atlassian/jira/8.3.4/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.4 -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.3.4/Dockerfile.jdk11 b/atlassian/jira/8.3.4/Dockerfile.jdk11 deleted file mode 100644 index cb9199c1e..000000000 --- a/atlassian/jira/8.3.4/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.4 -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.3.4/Makefile b/atlassian/jira/8.3.4/Makefile deleted file mode 100644 index 574b3a88e..000000000 --- a/atlassian/jira/8.3.4/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.4 . diff --git a/atlassian/jira/8.3.4/README.md b/atlassian/jira/8.3.4/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.4/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.4/entrypoint.sh b/atlassian/jira/8.3.4/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.4/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.3.5/.docker-repository.yml b/atlassian/jira/8.3.5/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.3.5/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.3.5/.dockerignore b/atlassian/jira/8.3.5/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.3.5/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.3.5/Dockerfile b/atlassian/jira/8.3.5/Dockerfile deleted file mode 100644 index 6e2cdb970..000000000 --- a/atlassian/jira/8.3.5/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.5 -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.3.5/Dockerfile.jdk11 b/atlassian/jira/8.3.5/Dockerfile.jdk11 deleted file mode 100644 index 40f571e6f..000000000 --- a/atlassian/jira/8.3.5/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.3.5 -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.3.5/Makefile b/atlassian/jira/8.3.5/Makefile deleted file mode 100644 index b97785a03..000000000 --- a/atlassian/jira/8.3.5/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.3.5 . diff --git a/atlassian/jira/8.3.5/README.md b/atlassian/jira/8.3.5/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.3.5/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.3.5/entrypoint.sh b/atlassian/jira/8.3.5/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.3.5/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.4.0/.docker-repository.yml b/atlassian/jira/8.4.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.4.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.4.0/.dockerignore b/atlassian/jira/8.4.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.4.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.4.0/Dockerfile b/atlassian/jira/8.4.0/Dockerfile deleted file mode 100644 index b4d523351..000000000 --- a/atlassian/jira/8.4.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.0 -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.4.0/Dockerfile.jdk11 b/atlassian/jira/8.4.0/Dockerfile.jdk11 deleted file mode 100644 index 575fdcbd3..000000000 --- a/atlassian/jira/8.4.0/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.0 -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.4.0/Makefile b/atlassian/jira/8.4.0/Makefile deleted file mode 100644 index 67e871ef6..000000000 --- a/atlassian/jira/8.4.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.4.0 . diff --git a/atlassian/jira/8.4.0/README.md b/atlassian/jira/8.4.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.4.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.4.0/entrypoint.sh b/atlassian/jira/8.4.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.4.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.4.1/.docker-repository.yml b/atlassian/jira/8.4.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.4.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.4.1/.dockerignore b/atlassian/jira/8.4.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.4.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.4.1/Dockerfile b/atlassian/jira/8.4.1/Dockerfile deleted file mode 100644 index 901adc69e..000000000 --- a/atlassian/jira/8.4.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.1 -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.4.1/Dockerfile.jdk11 b/atlassian/jira/8.4.1/Dockerfile.jdk11 deleted file mode 100644 index a0be846db..000000000 --- a/atlassian/jira/8.4.1/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.1 -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.4.1/Makefile b/atlassian/jira/8.4.1/Makefile deleted file mode 100644 index c17e33929..000000000 --- a/atlassian/jira/8.4.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.4.1 . diff --git a/atlassian/jira/8.4.1/README.md b/atlassian/jira/8.4.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.4.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.4.1/entrypoint.sh b/atlassian/jira/8.4.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.4.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.4.2/.docker-repository.yml b/atlassian/jira/8.4.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.4.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.4.2/.dockerignore b/atlassian/jira/8.4.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.4.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.4.2/Dockerfile b/atlassian/jira/8.4.2/Dockerfile deleted file mode 100644 index 2497ee702..000000000 --- a/atlassian/jira/8.4.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.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.4.2/Dockerfile.jdk11 b/atlassian/jira/8.4.2/Dockerfile.jdk11 deleted file mode 100644 index b39613392..000000000 --- a/atlassian/jira/8.4.2/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.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.4.2/Makefile b/atlassian/jira/8.4.2/Makefile deleted file mode 100644 index f306219ff..000000000 --- a/atlassian/jira/8.4.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.4.2 . diff --git a/atlassian/jira/8.4.2/README.md b/atlassian/jira/8.4.2/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.4.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.4.2/entrypoint.sh b/atlassian/jira/8.4.2/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.4.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.4.3/.docker-repository.yml b/atlassian/jira/8.4.3/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.4.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.4.3/.dockerignore b/atlassian/jira/8.4.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.4.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.4.3/Dockerfile b/atlassian/jira/8.4.3/Dockerfile deleted file mode 100644 index 52f582346..000000000 --- a/atlassian/jira/8.4.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.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.4.3/Dockerfile.jdk11 b/atlassian/jira/8.4.3/Dockerfile.jdk11 deleted file mode 100644 index d76d43725..000000000 --- a/atlassian/jira/8.4.3/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.4.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.4.3/Makefile b/atlassian/jira/8.4.3/Makefile deleted file mode 100644 index e7fd13f05..000000000 --- a/atlassian/jira/8.4.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.4.3 . diff --git a/atlassian/jira/8.4.3/README.md b/atlassian/jira/8.4.3/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.4.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.4.3/entrypoint.sh b/atlassian/jira/8.4.3/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.4.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.0/.docker-repository.yml b/atlassian/jira/8.5.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.5.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.5.0/.dockerignore b/atlassian/jira/8.5.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.5.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.5.0/Dockerfile b/atlassian/jira/8.5.0/Dockerfile deleted file mode 100644 index 3899c4039..000000000 --- a/atlassian/jira/8.5.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.5.0 -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.0/Dockerfile.jdk11 b/atlassian/jira/8.5.0/Dockerfile.jdk11 deleted file mode 100644 index f43659f70..000000000 --- a/atlassian/jira/8.5.0/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -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.0 -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.0/Makefile b/atlassian/jira/8.5.0/Makefile deleted file mode 100644 index 54f206019..000000000 --- a/atlassian/jira/8.5.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.5.0 . diff --git a/atlassian/jira/8.5.0/README.md b/atlassian/jira/8.5.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.5.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.0/entrypoint.sh b/atlassian/jira/8.5.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.5.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.1/.docker-repository.yml b/atlassian/jira/8.5.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.5.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.5.1/.dockerignore b/atlassian/jira/8.5.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.5.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.5.1/Dockerfile b/atlassian/jira/8.5.1/Dockerfile deleted file mode 100644 index b7aba9776..000000000 --- a/atlassian/jira/8.5.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.5.1 -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.1/Dockerfile.jdk11 b/atlassian/jira/8.5.1/Dockerfile.jdk11 deleted file mode 100644 index c03ba4349..000000000 --- a/atlassian/jira/8.5.1/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -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.1 -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.1/Makefile b/atlassian/jira/8.5.1/Makefile deleted file mode 100644 index 128178b1b..000000000 --- a/atlassian/jira/8.5.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.5.1 . diff --git a/atlassian/jira/8.5.1/README.md b/atlassian/jira/8.5.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.5.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.1/entrypoint.sh b/atlassian/jira/8.5.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.5.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.2/.docker-repository.yml b/atlassian/jira/8.5.2/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.5.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.5.2/.dockerignore b/atlassian/jira/8.5.2/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.5.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.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 deleted file mode 100644 index 4f9d13f41..000000000 --- a/atlassian/jira/8.5.2/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -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/Dockerfile.jdk11 b/atlassian/jira/8.5.2/Dockerfile.jdk11 deleted file mode 100644 index b58a1df0f..000000000 --- a/atlassian/jira/8.5.2/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index c230d45b7..000000000 --- a/atlassian/jira/8.5.2/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.5.2/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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 deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.5.2/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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 deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.5.3/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.5.3/.dockerignore b/atlassian/jira/8.5.3/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.5.3/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.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 deleted file mode 100644 index 03d935dfa..000000000 --- a/atlassian/jira/8.5.3/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -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/Dockerfile.jdk11 b/atlassian/jira/8.5.3/Dockerfile.jdk11 deleted file mode 100644 index 30bc99420..000000000 --- a/atlassian/jira/8.5.3/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 431d0ee96..000000000 --- a/atlassian/jira/8.5.3/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.5.3/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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 deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.5.3/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.6.0/.docker-repository.yml b/atlassian/jira/8.6.0/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.6.0/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.6.0/.dockerignore b/atlassian/jira/8.6.0/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.6.0/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.6.0/Dockerfile b/atlassian/jira/8.6.0/Dockerfile deleted file mode 100644 index 94f8835dc..000000000 --- a/atlassian/jira/8.6.0/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.6.0 -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.6.0/Dockerfile.jdk11 b/atlassian/jira/8.6.0/Dockerfile.jdk11 deleted file mode 100644 index be0f685fb..000000000 --- a/atlassian/jira/8.6.0/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.6.0 -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.6.0/Makefile b/atlassian/jira/8.6.0/Makefile deleted file mode 100644 index 3e5773d79..000000000 --- a/atlassian/jira/8.6.0/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.6.0 . diff --git a/atlassian/jira/8.6.0/README.md b/atlassian/jira/8.6.0/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.6.0/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.6.0/entrypoint.sh b/atlassian/jira/8.6.0/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.6.0/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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.6.1/.docker-repository.yml b/atlassian/jira/8.6.1/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/8.6.1/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/8.6.1/.dockerignore b/atlassian/jira/8.6.1/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/8.6.1/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/8.6.1/Dockerfile b/atlassian/jira/8.6.1/Dockerfile deleted file mode 100644 index 947578d9a..000000000 --- a/atlassian/jira/8.6.1/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk8 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.6.1 -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.6.1/Dockerfile.jdk11 b/atlassian/jira/8.6.1/Dockerfile.jdk11 deleted file mode 100644 index 6902e4045..000000000 --- a/atlassian/jira/8.6.1/Dockerfile.jdk11 +++ /dev/null @@ -1,47 +0,0 @@ -FROM epicmorg/prod:jdk11 -LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ARG JIRA_VERSION=8.6.1 -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.6.1/Makefile b/atlassian/jira/8.6.1/Makefile deleted file mode 100644 index e4bb61905..000000000 --- a/atlassian/jira/8.6.1/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: jr - -jr: - docker build --compress -t epicmorg/jira:8.6.1 . diff --git a/atlassian/jira/8.6.1/README.md b/atlassian/jira/8.6.1/README.md deleted file mode 100644 index 4cab96ead..000000000 --- a/atlassian/jira/8.6.1/README.md +++ /dev/null @@ -1,151 +0,0 @@ -![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.6.1/entrypoint.sh b/atlassian/jira/8.6.1/entrypoint.sh deleted file mode 100755 index 50ee4ecd1..000000000 --- a/atlassian/jira/8.6.1/entrypoint.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/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 dc135cd42..d2d4a323a 100644 --- a/atlassian/jira/README.md +++ b/atlassian/jira/README.md @@ -3,10 +3,15 @@ All presented images avalible on our repo in docker hub. +* Jira v5 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-jira-5). +* Jira v6 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-jira-6). +* Jira v7 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-jira-7). +* Jira v8 images avalible [here](https://github.com/EpicMorgVault/docker-atlassian-jira-8). + ## LTS releases: * Latest version of `Jira 8` branch is `8.5.3` * Older version of `Jira 8` branch is `8.5.0` -* Latest version of `Jira 7` branch is `7.13.3` +* Latest version of `Jira 7` branch is `7.13.11` * Older version of `Jira 7` branch is `7.6.17` ------- diff --git a/atlassian/jira/latest/.docker-repository.yml b/atlassian/jira/latest/.docker-repository.yml deleted file mode 100644 index 8dc515604..000000000 --- a/atlassian/jira/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/jira diff --git a/atlassian/jira/latest/.dockerignore b/atlassian/jira/latest/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/atlassian/jira/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/atlassian/jira/latest/Dockerfile b/atlassian/jira/latest/Dockerfile index 947578d9a..9460cf4cf 100644 --- a/atlassian/jira/latest/Dockerfile +++ b/atlassian/jira/latest/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.6.1 +ARG JIRA_VERSION=8.7.1 ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz ################################################################## diff --git a/atlassian/jira/latest/Dockerfile.jdk11 b/atlassian/jira/latest/Dockerfile.jdk11 index 6902e4045..899c05e47 100644 --- a/atlassian/jira/latest/Dockerfile.jdk11 +++ b/atlassian/jira/latest/Dockerfile.jdk11 @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.6.1 +ARG JIRA_VERSION=8.7.1 ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz ################################################################## diff --git a/atlassian/jira/latest/Makefile b/atlassian/jira/latest/Makefile index 898cffe44..85c8a1f2c 100644 --- a/atlassian/jira/latest/Makefile +++ b/atlassian/jira/latest/Makefile @@ -2,3 +2,4 @@ all: jr jr: docker build --compress -t epicmorg/jira . + docker push epicmorg/jira \ No newline at end of file diff --git a/balancer/latest/.docker-repository.yml b/balancer/latest/.docker-repository.yml deleted file mode 100644 index 6bf9e2675..000000000 --- a/balancer/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/balancer diff --git a/balancer/latest/.dockerignore b/balancer/latest/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/balancer/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/balancer/php/.docker-repository.yml b/balancer/php/.docker-repository.yml deleted file mode 100644 index 6bf9e2675..000000000 --- a/balancer/php/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/balancer diff --git a/balancer/php/.dockerignore b/balancer/php/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/balancer/php/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/epicmorg/devel/jdk11/.docker-repository.yml b/epicmorg/devel/jdk11/.docker-repository.yml deleted file mode 100644 index 9ab554e4d..000000000 --- a/epicmorg/devel/jdk11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/devel diff --git a/epicmorg/devel/jdk11/.dockerignore b/epicmorg/devel/jdk11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/devel/jdk11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/devel/jdk11/Dockerfile b/epicmorg/devel/jdk11/Dockerfile index 721ebfcbc..3c99bceda 100644 --- a/epicmorg/devel/jdk11/Dockerfile +++ b/epicmorg/devel/jdk11/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java11 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/devel/jdk6/Dockerfile b/epicmorg/devel/jdk6/Dockerfile new file mode 100644 index 000000000..477630f7a --- /dev/null +++ b/epicmorg/devel/jdk6/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/devel +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java6 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-6 && \ + java -version + +################################################################## +# 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/jdk6/Makefile b/epicmorg/devel/jdk6/Makefile new file mode 100644 index 000000000..6c683ad45 --- /dev/null +++ b/epicmorg/devel/jdk6/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/devel:jdk6 . + docker push epicmorg/devel:jdk6 + diff --git a/epicmorg/devel/jdk7/Dockerfile b/epicmorg/devel/jdk7/Dockerfile new file mode 100644 index 000000000..828853acb --- /dev/null +++ b/epicmorg/devel/jdk7/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/devel +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java7 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-7 && \ + java -version + +################################################################## +# 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/jdk7/Makefile b/epicmorg/devel/jdk7/Makefile new file mode 100644 index 000000000..227771561 --- /dev/null +++ b/epicmorg/devel/jdk7/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/devel:jdk7 . + docker push epicmorg/devel:jdk7 + diff --git a/epicmorg/devel/jdk8/.docker-repository.yml b/epicmorg/devel/jdk8/.docker-repository.yml deleted file mode 100644 index 9ab554e4d..000000000 --- a/epicmorg/devel/jdk8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/devel diff --git a/epicmorg/devel/jdk8/.dockerignore b/epicmorg/devel/jdk8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/devel/jdk8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/devel/jdk8/Dockerfile b/epicmorg/devel/jdk8/Dockerfile index 349f64c2b..c8442c274 100644 --- a/epicmorg/devel/jdk8/Dockerfile +++ b/epicmorg/devel/jdk8/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java8 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/devel/main/.docker-repository.yml b/epicmorg/devel/main/.docker-repository.yml deleted file mode 100644 index 9ab554e4d..000000000 --- a/epicmorg/devel/main/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/devel diff --git a/epicmorg/devel/main/.dockerignore b/epicmorg/devel/main/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/devel/main/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/edge/jdk11/.docker-repository.yml b/epicmorg/edge/jdk11/.docker-repository.yml deleted file mode 100644 index 7d6511aa9..000000000 --- a/epicmorg/edge/jdk11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/edge diff --git a/epicmorg/edge/jdk11/.dockerignore b/epicmorg/edge/jdk11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/edge/jdk11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/edge/jdk11/Dockerfile b/epicmorg/edge/jdk11/Dockerfile index 141402264..af321551d 100644 --- a/epicmorg/edge/jdk11/Dockerfile +++ b/epicmorg/edge/jdk11/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java11 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/edge/jdk6/Dockerfile b/epicmorg/edge/jdk6/Dockerfile new file mode 100644 index 000000000..189601b1f --- /dev/null +++ b/epicmorg/edge/jdk6/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/edge +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java6 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-6 && \ + java -version + +################################################################## +# 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/edge/jdk6/Makefile b/epicmorg/edge/jdk6/Makefile new file mode 100644 index 000000000..d02c51767 --- /dev/null +++ b/epicmorg/edge/jdk6/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/edge:jdk6 . + docker push epicmorg/edge:jdk6 + diff --git a/epicmorg/edge/jdk7/Dockerfile b/epicmorg/edge/jdk7/Dockerfile new file mode 100644 index 000000000..bf4c2dc83 --- /dev/null +++ b/epicmorg/edge/jdk7/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/edge +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java7 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-7 && \ + java -version + +################################################################## +# 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/edge/jdk7/Makefile b/epicmorg/edge/jdk7/Makefile new file mode 100644 index 000000000..ca513d304 --- /dev/null +++ b/epicmorg/edge/jdk7/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/edge:jdk7 . + docker push epicmorg/edge:jdk7 + diff --git a/epicmorg/edge/jdk8/.docker-repository.yml b/epicmorg/edge/jdk8/.docker-repository.yml deleted file mode 100644 index 7d6511aa9..000000000 --- a/epicmorg/edge/jdk8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/edge diff --git a/epicmorg/edge/jdk8/.dockerignore b/epicmorg/edge/jdk8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/edge/jdk8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/edge/jdk8/Dockerfile b/epicmorg/edge/jdk8/Dockerfile index e15c3a5e8..fc85fe4e5 100644 --- a/epicmorg/edge/jdk8/Dockerfile +++ b/epicmorg/edge/jdk8/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java8 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/edge/main/.docker-repository.yml b/epicmorg/edge/main/.docker-repository.yml deleted file mode 100644 index 7d6511aa9..000000000 --- a/epicmorg/edge/main/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/edge diff --git a/epicmorg/edge/main/.dockerignore b/epicmorg/edge/main/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/edge/main/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/prod/jdk11/.docker-repository.yml b/epicmorg/prod/jdk11/.docker-repository.yml deleted file mode 100644 index 1e50bcd0a..000000000 --- a/epicmorg/prod/jdk11/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/prod diff --git a/epicmorg/prod/jdk11/.dockerignore b/epicmorg/prod/jdk11/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/prod/jdk11/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/prod/jdk11/Dockerfile b/epicmorg/prod/jdk11/Dockerfile index a8b973af1..d0f3001aa 100644 --- a/epicmorg/prod/jdk11/Dockerfile +++ b/epicmorg/prod/jdk11/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java11 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/prod/jdk6/Dockerfile b/epicmorg/prod/jdk6/Dockerfile new file mode 100644 index 000000000..b9f68955d --- /dev/null +++ b/epicmorg/prod/jdk6/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/prod +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java6 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-6 && \ + java -version + +################################################################## +# 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/jdk6/Makefile b/epicmorg/prod/jdk6/Makefile new file mode 100644 index 000000000..fa42f0e27 --- /dev/null +++ b/epicmorg/prod/jdk6/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/prod:jdk6 . + docker push epicmorg/prod:jdk6 + diff --git a/epicmorg/prod/jdk7/Dockerfile b/epicmorg/prod/jdk7/Dockerfile new file mode 100644 index 000000000..a2dfba358 --- /dev/null +++ b/epicmorg/prod/jdk7/Dockerfile @@ -0,0 +1,20 @@ +FROM epicmorg/prod +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing java7 +################################################################## +RUN wget -qO - http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems | apt-key add - && \ + echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list && \ + apt-get update -y && \ + apt-get install -y --allow-unauthenticated zulu-7 && \ + java -version + +################################################################## +# 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/jdk7/Makefile b/epicmorg/prod/jdk7/Makefile new file mode 100644 index 000000000..5288c1ad5 --- /dev/null +++ b/epicmorg/prod/jdk7/Makefile @@ -0,0 +1,5 @@ +all: emgprod +emgprod: + docker build --compress -t epicmorg/prod:jdk7 . + docker push epicmorg/prod:jdk7 + diff --git a/epicmorg/prod/jdk8/.docker-repository.yml b/epicmorg/prod/jdk8/.docker-repository.yml deleted file mode 100644 index 1e50bcd0a..000000000 --- a/epicmorg/prod/jdk8/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/prod diff --git a/epicmorg/prod/jdk8/.dockerignore b/epicmorg/prod/jdk8/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/prod/jdk8/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/epicmorg/prod/jdk8/Dockerfile b/epicmorg/prod/jdk8/Dockerfile index 9ce3d8503..4a9d951fd 100644 --- a/epicmorg/prod/jdk8/Dockerfile +++ b/epicmorg/prod/jdk8/Dockerfile @@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # installing java8 ################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - && \ +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 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 autoremove -y && \ diff --git a/epicmorg/prod/main/.docker-repository.yml b/epicmorg/prod/main/.docker-repository.yml deleted file mode 100644 index 1e50bcd0a..000000000 --- a/epicmorg/prod/main/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/prod diff --git a/epicmorg/prod/main/.dockerignore b/epicmorg/prod/main/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/epicmorg/prod/main/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/nextcloud/16/.docker-repository.yml b/nextcloud/16/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/16/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/16/.dockerignore b/nextcloud/16/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/16/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/16/Dockerfile b/nextcloud/16/Dockerfile deleted file mode 100644 index 2ab40d8be..000000000 --- a/nextcloud/16/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:16 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/16/Makefile b/nextcloud/16/Makefile deleted file mode 100644 index 6ac8545e4..000000000 --- a/nextcloud/16/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:16 . - diff --git a/nextcloud/16/Streamer.php b/nextcloud/16/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/16/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/16/php-smbclient-latest.tar.gz b/nextcloud/16/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/16/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/16/smb.conf b/nextcloud/16/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/16/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/17/.docker-repository.yml b/nextcloud/17/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/17/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/17/.dockerignore b/nextcloud/17/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/17/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/17/Dockerfile b/nextcloud/17/Dockerfile deleted file mode 100644 index 15be670b0..000000000 --- a/nextcloud/17/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:17 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/17/Makefile b/nextcloud/17/Makefile deleted file mode 100644 index c66ad8b5a..000000000 --- a/nextcloud/17/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:17 . - diff --git a/nextcloud/17/Streamer.php b/nextcloud/17/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/17/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/17/php-smbclient-latest.tar.gz b/nextcloud/17/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/17/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/17/smb.conf b/nextcloud/17/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/17/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/18/.docker-repository.yml b/nextcloud/18/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/18/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/18/.dockerignore b/nextcloud/18/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/18/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/18/Dockerfile b/nextcloud/18/Dockerfile deleted file mode 100644 index 9038ea57a..000000000 --- a/nextcloud/18/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:18 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/18/Makefile b/nextcloud/18/Makefile deleted file mode 100644 index 86a2ab24c..000000000 --- a/nextcloud/18/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:18 . - diff --git a/nextcloud/18/Streamer.php b/nextcloud/18/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/18/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/18/php-smbclient-latest.tar.gz b/nextcloud/18/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/18/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/18/smb.conf b/nextcloud/18/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/18/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/latest/.docker-repository.yml b/nextcloud/latest/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/latest/.dockerignore b/nextcloud/latest/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/postgres/AUTHORS b/postgres/AUTHORS new file mode 100644 index 000000000..d3ad2447a --- /dev/null +++ b/postgres/AUTHORS @@ -0,0 +1,6 @@ +Docker PostgreSQL Authors + +Tianon Gravi +Joseph Ferguson + +And other contributors not specifically named here. diff --git a/postgres/Dockerfile.template b/postgres/Dockerfile.template new file mode 100644 index 000000000..9d86078a9 --- /dev/null +++ b/postgres/Dockerfile.template @@ -0,0 +1,44 @@ +# vim:set ft=dockerfile: +FROM debian:wheezy + +# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added +RUN groupadd -r postgres && useradd -r -g postgres postgres + +# grab gosu for easy step-down from root +RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* \ + && curl -o /usr/local/bin/gosu -SL 'https://github.com/tianon/gosu/releases/download/1.1/gosu' \ + && chmod +x /usr/local/bin/gosu \ + && apt-get purge -y --auto-remove curl + +# make the "en_US.UTF-8" locale so postgres will be utf-8 enabled by default +RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ + && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 +ENV LANG en_US.utf8 + +RUN apt-key adv --keyserver pgp.mit.edu --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 + +ENV PG_MAJOR %%PG_MAJOR%% +ENV PG_VERSION %%PG_VERSION%% + +RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main' $PG_MAJOR > /etc/apt/sources.list.d/pgdg.list + +RUN apt-get update \ + && apt-get install -y postgresql-common \ + && sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf \ + && apt-get install -y \ + postgresql-$PG_MAJOR=$PG_VERSION \ + postgresql-contrib-$PG_MAJOR=$PG_VERSION \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql + +ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH +ENV PGDATA /var/lib/postgresql/data +VOLUME /var/lib/postgresql/data + +COPY ./docker-entrypoint.sh / + +ENTRYPOINT ["/docker-entrypoint.sh"] + +EXPOSE 5432 +CMD ["postgres"] diff --git a/postgres/LICENSE b/postgres/LICENSE new file mode 100644 index 000000000..f86b1322e --- /dev/null +++ b/postgres/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2014, Docker PostgreSQL Authors (See AUTHORS) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/postgres/docker-entrypoint.sh b/postgres/docker-entrypoint.sh new file mode 100755 index 000000000..8011908ac --- /dev/null +++ b/postgres/docker-entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +if [ "$1" = 'postgres' ]; then + chown -R postgres "$PGDATA" + + if [ -z "$(ls -A "$PGDATA")" ]; then + gosu postgres initdb + + sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf + + { echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf + + if [ -d /docker-entrypoint-initdb.d ]; then + for f in /docker-entrypoint-initdb.d/*.sh; do + [ -f "$f" ] && . "$f" + done + fi + fi + + exec gosu postgres "$@" +fi + +exec "$@" diff --git a/postgres/generate-stackbrew-library.sh b/postgres/generate-stackbrew-library.sh new file mode 100755 index 000000000..230f74767 --- /dev/null +++ b/postgres/generate-stackbrew-library.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +declare -A aliases +aliases=( + [9.3]='9 latest' + [8.4]='8' +) + +cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" + +versions=( */ ) +versions=( "${versions[@]%/}" ) +url='git://github.com/docker-library/postgres' + +echo '# maintainer: InfoSiftr (@infosiftr)' + +for version in "${versions[@]}"; do + commit="$(git log -1 --format='format:%H' "$version")" + fullVersion="$(grep -m1 'ENV PG_VERSION ' "$version/Dockerfile" | cut -d' ' -f3 | cut -d- -f1 | sed 's/~/-/g')" + versionAliases=( $fullVersion $version ${aliases[$version]} ) + + echo + for va in "${versionAliases[@]}"; do + echo "$va: ${url}@${commit} $version" + done +done diff --git a/postgres/latest/Dockerfile b/postgres/latest/Dockerfile new file mode 100644 index 000000000..37bdbc0ed --- /dev/null +++ b/postgres/latest/Dockerfile @@ -0,0 +1,59 @@ +FROM epicmorg/edge +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +#################################################################################################################################### +# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added +#################################################################################################################################### + +RUN groupadd -r postgres && useradd -r -g postgres postgres + +#################################################################################################################################### +# grab gosu for easy step-down from root +#################################################################################################################################### + +RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* \ + && curl -o /usr/local/bin/gosu -SL 'https://github.com/tianon/gosu/releases/download/1.11/gosu-amd64' \ + && chmod +x /usr/local/bin/gosu \ + + && apt-get purge -y --auto-remove curl + +#################################################################################################################################### +# make the "en_US.UTF-8" locale so postgres will be utf-8 enabled by default +#################################################################################################################################### + +RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ + && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 +ENV LANG en_US.utf8 + +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 + +#################################################################################################################################### +# http://apt.postgresql.org/pub/repos/apt/pool/12/p/postgresql-12/ +#################################################################################################################################### +ENV PG_MAJOR 12 + +RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ sid-pgdg main' $PG_MAJOR > /etc/apt/sources.list.d/pgdg.list && \ + echo 'deb http://apt.postgresql.org/pub/repos/apt/ sid-pgdg-testing main' $PG_MAJOR >> /etc/apt/sources.list.d/pgdg.list + +RUN apt-get update \ + && apt-get install -y postgresql-common \ + && sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf \ + && apt-get install -y \ + postgresql-$PG_MAJOR \ + postgresql-contrib-$PG_MAJOR \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql + + +ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH +ENV PGDATA /var/lib/postgresql/data +VOLUME /var/lib/postgresql/data + +COPY ./docker-entrypoint.sh / + +ENTRYPOINT ["/docker-entrypoint.sh"] + +EXPOSE 5432 +CMD ["postgres"] diff --git a/postgres/latest/Makefile b/postgres/latest/Makefile new file mode 100644 index 000000000..55729c4e9 --- /dev/null +++ b/postgres/latest/Makefile @@ -0,0 +1,4 @@ +all: pssql +pssql: + docker build --compress -t epicmorg/postgres:latest . + docker push epicmorg/postgres:latest diff --git a/postgres/latest/docker-entrypoint.sh b/postgres/latest/docker-entrypoint.sh new file mode 100755 index 000000000..8011908ac --- /dev/null +++ b/postgres/latest/docker-entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +if [ "$1" = 'postgres' ]; then + chown -R postgres "$PGDATA" + + if [ -z "$(ls -A "$PGDATA")" ]; then + gosu postgres initdb + + sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf + + { echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf + + if [ -d /docker-entrypoint-initdb.d ]; then + for f in /docker-entrypoint-initdb.d/*.sh; do + [ -f "$f" ] && . "$f" + done + fi + fi + + exec gosu postgres "$@" +fi + +exec "$@" diff --git a/postgres/update.sh b/postgres/update.sh new file mode 100755 index 000000000..649d71619 --- /dev/null +++ b/postgres/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" + +versions=( "$@" ) +if [ ${#versions[@]} -eq 0 ]; then + versions=( */ ) +fi +versions=( "${versions[@]%/}" ) + +packagesUrl='http://apt.postgresql.org/pub/repos/apt/dists/wheezy-pgdg/main/binary-amd64/Packages' +packages="$(echo "$packagesUrl" | sed -r 's/[^a-zA-Z.-]+/-/g')" +curl -sSL "${packagesUrl}.bz2" | bunzip2 > "$packages" + +for version in "${versions[@]}"; do + fullVersion="$(grep -m1 -A10 "^Package: postgresql-$version\$" "$packages" | grep -m1 '^Version: ' | cut -d' ' -f2)" + ( + set -x + cp docker-entrypoint.sh Dockerfile.template "$version/" + mv "$version/Dockerfile.template" "$version/Dockerfile" + sed -i 's/%%PG_MAJOR%%/'$version'/g; s/%%PG_VERSION%%/'$fullVersion'/g' "$version/Dockerfile" + ) +done + +rm "$packages" diff --git a/qbittorrent/latest/.docker-repository.yml b/qbittorrent/latest/.docker-repository.yml deleted file mode 100644 index 78e948324..000000000 --- a/qbittorrent/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/qbittorrent diff --git a/qbittorrent/latest/.dockerignore b/qbittorrent/latest/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/qbittorrent/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/qbittorrent/stable/.docker-repository.yml b/qbittorrent/stable/.docker-repository.yml deleted file mode 100644 index 78e948324..000000000 --- a/qbittorrent/stable/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/qbittorrent diff --git a/qbittorrent/stable/.dockerignore b/qbittorrent/stable/.dockerignore deleted file mode 100644 index 99176b278..000000000 --- a/qbittorrent/stable/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea \ No newline at end of file diff --git a/websites/latest/.docker-repository.yml b/websites/latest/.docker-repository.yml deleted file mode 100644 index f5f1c309b..000000000 --- a/websites/latest/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/websites diff --git a/websites/latest/.dockerignore b/websites/latest/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/websites/latest/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/websites/php7.2/.docker-repository.yml b/websites/php7.2/.docker-repository.yml deleted file mode 100644 index f5f1c309b..000000000 --- a/websites/php7.2/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/websites diff --git a/websites/php7.2/.dockerignore b/websites/php7.2/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/websites/php7.2/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/zabbix/agent/.docker-repository.yml b/zabbix/agent/.docker-repository.yml deleted file mode 100644 index 60ab0dd84..000000000 --- a/zabbix/agent/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/zabbix-agent diff --git a/zabbix/agent/.dockerignore b/zabbix/agent/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/zabbix/agent/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/zabbix/java-gateway/.docker-repository.yml b/zabbix/java-gateway/.docker-repository.yml deleted file mode 100644 index d14b236d1..000000000 --- a/zabbix/java-gateway/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/zabbix-java-gateway diff --git a/zabbix/java-gateway/.dockerignore b/zabbix/java-gateway/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/zabbix/java-gateway/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/zabbix/server/.docker-repository.yml b/zabbix/server/.docker-repository.yml deleted file mode 100644 index 8d29a202d..000000000 --- a/zabbix/server/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/zabbix-server-mysql diff --git a/zabbix/server/.dockerignore b/zabbix/server/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/zabbix/server/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/zabbix/web/.docker-repository.yml b/zabbix/web/.docker-repository.yml deleted file mode 100644 index aaefbbe3d..000000000 --- a/zabbix/web/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/zabbix-web-apache-mysql diff --git a/zabbix/web/.dockerignore b/zabbix/web/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/zabbix/web/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea