├── .editorconfig ├── .gitignore ├── ISSUE_TEMPLATE ├── Jenkinsfile ├── LICENSE ├── README.md ├── docs ├── .nojekyll ├── README.md ├── SEVEN_ZERO_ONE │ ├── c1.png │ ├── c2.png │ ├── c3.png │ ├── c4.png │ ├── c5.png │ ├── c6.png │ ├── c7.png │ ├── c8.png │ └── c9.png ├── SIX_FOUR_ZERO │ ├── demo.gif │ ├── post-config │ │ ├── .gitkeep │ │ ├── 01-production-installation.png │ │ ├── 02-addons.png │ │ ├── 03-license.png │ │ ├── 04-cluster-config.png │ │ ├── 05-database.png │ │ ├── 06-database-postgres-select.png │ │ ├── 07-database-direct-jdbc.png │ │ ├── 08-database-postgres-config.png │ │ ├── 09-empty-site.png │ │ ├── 10-manage-users-with-confluence.png │ │ ├── 11-create-admin-user.png │ │ ├── 12-setup-done.png │ │ ├── 13-skip-intro.png │ │ ├── 14-skip-profile-pic.png │ │ ├── 15-create-space.png │ │ ├── 16-skip-tutorial.png │ │ ├── 17-create-test-page.png │ │ ├── 18-install-cluster-node1-done.png │ │ ├── 30-synchrony-change-mode.png │ │ ├── 31-synchrony-change-mode-confirm.png │ │ ├── 32-synchrony-running.png │ │ ├── 33-synchrony-edit-page-working.png │ │ ├── 40-health-support-tools-check.png │ │ └── 41-cluster-one-node-running.png │ ├── setup-structure.png │ └── setup-structure.sketch ├── img │ ├── .gitkeep │ ├── confluence-data-center-dockerhub-build-settings.png │ ├── github-product-logo-docker-atlassian-confluence.png │ ├── manage-confluence-cluster-logo.sketch │ └── manage-confluence-cluster-logo.svg └── provision │ └── provision-management-scripts.png ├── loadbalancer ├── .editorconfig ├── .gitignore ├── Dockerfile ├── README.md ├── docker-entrypoint.sh ├── document-root │ └── errors │ │ ├── error502.html │ │ └── error503.html ├── loadbalancer-virtual-host.conf.jinja2 └── proxy.conf ├── new-version.sh └── versions ├── 7.0.1 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml ├── 7.10.1 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml ├── 7.13.2 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml ├── 7.2.0 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml ├── 7.3.1 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml ├── 7.4.0 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml └── 7.5.0 ├── README.md ├── docker-compose-four-nodes.yml ├── docker-compose-one-node.yml ├── docker-compose-three-nodes.yml └── docker-compose-two-nodes.yml /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | root = true 4 | 5 | # Unix-style newlines with a newline ending every file 6 | [*] 7 | end_of_line = lf 8 | insert_final_newline = true 9 | 10 | # Matches multiple files with brace expansion notation 11 | # Set default charset 12 | [*.{js,py,jinja2,xml,sh,md}] 13 | charset = utf-8 14 | 15 | [*.sh] 16 | indent_style = space 17 | indent_size = 4 18 | 19 | [{package.json,.travis.yml}] 20 | indent_style = space 21 | indent_size = 2 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .idea 3 | confluencenode/confluence-shared-home 4 | confluence-shared-home 5 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE: -------------------------------------------------------------------------------- 1 | ------- 2 | 3 | I DO NOT GIVE SUPPORT FOR ATLASSIAN CONFLUENCE DATA CENTER! 4 | PLEASE ASK USAGE QUESTIONS ON THE ATLASSIAN COMMUNITY: 5 | 6 | https://community.atlassian.com/ 7 | 8 | OR IF YOU OWN A LICENSE ASK THE ATLASSIAN SUPPORT: 9 | 10 | https://support.atlassian.com/ 11 | 12 | ------- 13 | 14 | I WILL ONLY RESPOND TO ISSUES ABOUT THE MANAGEMENT SCRIPT. 15 | BUT ONLY FOR SUPPORTED PLATFORMS: 16 | 17 | * latest Ubuntu with latest Docker 18 | * latest macOS Sierra with latest Docker (without boot2docker or other shenanigans) 19 | 20 | ISSUES ON EVERYTHING ELSE WILL BE CLOSED IMMEDIATELY 21 | 22 | ------- 23 | 24 | When you have an issue with the management script please supply: 25 | 26 | * STDOUT/STDERR output from script 27 | * Docker version `docker --version` 28 | * Ubuntu / macOS Version 29 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | sh 'curl -sSLko pipeline-helper.groovy ${K8S_INFRASTRUCTURE_BASE_URL}pipeline-helper/pipeline-helper.groovy?v2' 2 | def pipelineHelper = load("./pipeline-helper.groovy") 3 | pipelineHelper.jenkinsDiscardOldBuilds(10) 4 | pipelineHelper.jenkinsDisableConcurrentBuilds() 5 | def hasLoadbalancerChanged = false 6 | pipelineHelper.deployTemplate { 7 | stage('clone') { 8 | sh 'rm -rf source | true' 9 | sh 'git clone --single-branch --branch $GWBT_BRANCH$GWBT_TAG https://${SECRET_GITHUB_AUTH_TOKEN}@github.com/${GWBT_REPO_FULL_NAME}.git source' 10 | dir('source') { 11 | sh 'git reset --hard $GWBT_COMMIT_AFTER' 12 | 13 | def gitCheck = sh (script: 'git show ' + env.GWBT_COMMIT_AFTER + ' | grep -e \'/loadbalancer/\' | wc -l', returnStdout: true).trim() 14 | if (gitCheck != "0") { 15 | hasLoadbalancerChanged = true 16 | } 17 | } 18 | } 19 | stage('build & push docker image') { 20 | dir('source') { 21 | if (hasLoadbalancerChanged) { 22 | echo "LOADBALANCER HAS CHANGED - DO BUILD" 23 | dir('loadbalancer') { 24 | def shortCommitId = env.GWBT_COMMIT_AFTER.substring(0, 7) 25 | echo "shortCommit: " + shortCommitId 26 | sh 'docker login -u codeclou -p ${SECRET_DOCKERHUB_CODECLOU_PASSWORD}' 27 | sh 'docker build . -t codeclou/' + env.GWBT_REPO_NAME + ':loadbalancer-' + shortCommitId 28 | sh 'docker push codeclou/' + env.GWBT_REPO_NAME + ':loadbalancer-' + shortCommitId 29 | } 30 | } else { 31 | echo "LOADBALANCER HAS NOT CHANGED - DO NOTHING" 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Bernhard Grünewaldt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | :mega: **End of Lifetime Notice:** We no longer provide updates to this repository. We have changed our internal way of testing Atlassian Data Center Apps, and do not have the resources to manage changes needed to this repository. The Repository will be made readonly, you can still fork it and adapt it to your needs. 2 | 3 | ----- 4 | 5 | # Docker Atlassian Confluence Data Center 6 | 7 | > Start an [Atlassian Confluence Data Center](https://de.atlassian.com/enterprise/data-center) with Docker for local testing during plugin development. 8 | 9 | [![](https://codeclou.github.io/docker-atlassian-confluence-data-center/img/github-product-logo-docker-atlassian-confluence.png)](https://github.com/codeclou/docker-atlassian-confluence-data-center) 10 | 11 | It starts a PostgreSQL Database, several Confluence cluster nodes and Apache2 HTTPD as sticky session loadbalancer. The shared confluence-home is handled via a shared Docker volume. This is not meant to be used in production! The cluster is designed to not be persistent, meaning, once you shut it down, all data is lost. See it as the Data Center version of [`atlas-run-standalone`](https://developer.atlassian.com/docs/developer-tools/working-with-the-sdk/command-reference/atlas-run-standalone). 12 | 13 | Please choose the Confluence version you want to run: 14 | 15 | * **⇨ [versions](https://github.com/codeclou/docker-atlassian-confluence-data-center/tree/master/versions/)** 16 | 17 |   18 | 19 | **Please Note:** 20 | 21 | - :warning: **Since version 7.0.1 we use the official Atlassian Docker images and docker compose.** 22 | - Older versions can be found in [codeclou-archive/docker-atlassian-confluence-data-center](https://github.com/codeclou-archive/docker-atlassian-confluence-data-center) 23 | - We do not provide support. If you have questions on how to run Confluence and/or Confluence Data Center, please ask in the 24 | [Atlassian Community](https://community.atlassian.com/). 25 | 26 | --- 27 | 28 |   29 | 30 | ### Trademarks and Third Party Licenses 31 | 32 | - **Atlassian Confluence** 33 | - Atlassian and Confluence are registered [trademarks of Atlassian Pty Ltd](https://de.atlassian.com/legal/trademark). 34 | - Please check yourself for corresponding Licenses and Terms of Use at [atlassian.com](https://atlassian.com). 35 | - **Oracle Java JDK** 36 | - Oracle, OpenJDK and Java are registered [trademarks of Oracle](https://www.oracle.com/legal/trademarks.html) and/or its affiliates. Other names may be trademarks of their respective owners. 37 | - Please check yourself for corresponding Licenses and Terms of Use at [www.oracle.com](https://www.oracle.com/). 38 | - **Docker** 39 | - Docker and the Docker logo are trademarks or registered [trademarks of Docker](https://www.docker.com/trademark-guidelines), Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. 40 | - Please check yourself for corresponding Licenses and Terms of Use at [www.docker.com](https://www.docker.com/). 41 | - **PostgreSQL** 42 | - PostgreSQL is a [registered trademark of the PostgreSQL Community Association of Canada](https://wiki.postgresql.org/wiki/Trademark_Policy). 43 | - Please check yourself for corresponding Licenses and Terms of Use at [www.postgresql.org](https://www.postgresql.org/). 44 | - **Ubuntu** 45 | - Ubuntu and Canonical are registered [trademarks of Canonical Ltd.](https://www.ubuntu.com/legal/short-terms) 46 | - **Apple** 47 | - macOS®, Mac and OS X are [trademarks of Apple Inc.](http://www.apple.com/legal/intellectual-property/trademark/appletmlist.html), registered in the U.S. and other countries. 48 | 49 | --- 50 | 51 |   52 | 53 | ### License 54 | 55 | [MIT](https://github.com/codeclou/docker-atlassian-confluence-data-center/blob/master/LICENSE) © [Bernhard Grünewaldt](https://github.com/clouless) 56 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/.nojekyll -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # GitHub Pages Folder 2 | 3 | For hosting images for documentation. -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c1.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c2.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c3.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c4.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c5.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c6.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c7.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c8.png -------------------------------------------------------------------------------- /docs/SEVEN_ZERO_ONE/c9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SEVEN_ZERO_ONE/c9.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/demo.gif -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/.gitkeep: -------------------------------------------------------------------------------- 1 | . -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/01-production-installation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/01-production-installation.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/02-addons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/02-addons.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/03-license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/03-license.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/04-cluster-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/04-cluster-config.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/05-database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/05-database.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/06-database-postgres-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/06-database-postgres-select.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/07-database-direct-jdbc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/07-database-direct-jdbc.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/08-database-postgres-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/08-database-postgres-config.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/09-empty-site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/09-empty-site.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/10-manage-users-with-confluence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/10-manage-users-with-confluence.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/11-create-admin-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/11-create-admin-user.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/12-setup-done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/12-setup-done.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/13-skip-intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/13-skip-intro.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/14-skip-profile-pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/14-skip-profile-pic.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/15-create-space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/15-create-space.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/16-skip-tutorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/16-skip-tutorial.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/17-create-test-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/17-create-test-page.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/18-install-cluster-node1-done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/18-install-cluster-node1-done.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/30-synchrony-change-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/30-synchrony-change-mode.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/31-synchrony-change-mode-confirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/31-synchrony-change-mode-confirm.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/32-synchrony-running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/32-synchrony-running.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/33-synchrony-edit-page-working.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/33-synchrony-edit-page-working.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/40-health-support-tools-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/40-health-support-tools-check.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/post-config/41-cluster-one-node-running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/post-config/41-cluster-one-node-running.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/setup-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/setup-structure.png -------------------------------------------------------------------------------- /docs/SIX_FOUR_ZERO/setup-structure.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/SIX_FOUR_ZERO/setup-structure.sketch -------------------------------------------------------------------------------- /docs/img/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/img/confluence-data-center-dockerhub-build-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/img/confluence-data-center-dockerhub-build-settings.png -------------------------------------------------------------------------------- /docs/img/github-product-logo-docker-atlassian-confluence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/img/github-product-logo-docker-atlassian-confluence.png -------------------------------------------------------------------------------- /docs/img/manage-confluence-cluster-logo.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/img/manage-confluence-cluster-logo.sketch -------------------------------------------------------------------------------- /docs/provision/provision-management-scripts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-data-center/46697f446d157d892bd25ef26165206a4e36073f/docs/provision/provision-management-scripts.png -------------------------------------------------------------------------------- /loadbalancer/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | root = true 4 | 5 | # Unix-style newlines with a newline ending every file 6 | [*] 7 | end_of_line = lf 8 | insert_final_newline = true 9 | 10 | # Matches multiple files with brace expansion notation 11 | # Set default charset 12 | [*.{js,py,jinja2,xml,sh,md}] 13 | charset = utf-8 14 | 15 | [*.sh] 16 | indent_style = space 17 | indent_size = 4 18 | 19 | [{package.json,.travis.yml}] 20 | indent_style = space 21 | indent_size = 2 22 | -------------------------------------------------------------------------------- /loadbalancer/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .idea 3 | -------------------------------------------------------------------------------- /loadbalancer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.15 2 | 3 | # 4 | # BASE PACKAGES 5 | # 6 | RUN apk add --no-cache \ 7 | bash \ 8 | apache2 \ 9 | apache2-proxy \ 10 | apache2-utils \ 11 | python3 12 | RUN apk add --update --no-cache \ 13 | py-pip && \ 14 | pip install --upgrade pip && \ 15 | pip install shinto-cli 16 | 17 | # 18 | # ERROR LOG, USER 19 | # 20 | COPY docker-entrypoint.sh /work-private/docker-entrypoint.sh 21 | COPY proxy.conf /etc/apache2/conf.d/proxy.conf 22 | RUN chmod u+rx,g+rx,o+rx,a-w /work-private/docker-entrypoint.sh && \ 23 | ln -sf /dev/stderr /var/log/apache2/error.log && \ 24 | addgroup -g 10777 worker && \ 25 | adduser -h /work -H -D -G worker -u 10777 worker && \ 26 | mkdir -p /work && \ 27 | mkdir -p /work-private && \ 28 | chown -R worker:worker /work/ && \ 29 | chown -R worker:worker /work-private && \ 30 | chown -R worker:worker /var/www/logs && \ 31 | chown -R worker:worker /etc/apache2/ && \ 32 | touch /var/www/logs/error.log && chown -R worker:worker /var/www/logs/error.log && \ 33 | touch /var/www/logs/access.log && chown -R worker:worker /var/www/logs/access.log && \ 34 | chown -R worker:worker /var/log/apache2 && \ 35 | chown -R worker:worker /run/apache2 && \ 36 | sed -i -e 's/Listen 80/#Listen 80\nServerName localhost/g' /etc/apache2/httpd.conf && \ 37 | sed -i -e 's/AllowOverride\s*None/AllowOverride All/ig' /etc/apache2/httpd.conf && \ 38 | echo "Include /work-private/loadbalancer-virtual-host.conf" >> /etc/apache2/httpd.conf 39 | 40 | 41 | # 42 | # TEMPLATES 43 | # 44 | COPY loadbalancer-virtual-host.conf.jinja2 /work-private/loadbalancer-virtual-host.conf.jinja2 45 | COPY document-root /work-private/document-root 46 | RUN chown -R worker /work-private/* && chmod -R a+x /work-private 47 | 48 | 49 | # 50 | # WORKDIR 51 | # 52 | WORKDIR /work 53 | 54 | # 55 | # RUN 56 | # 57 | USER worker 58 | ENV NODES 1 59 | ENV LB_PORT 9090 60 | ENV NODES_NAME_SCHEMA node___NUM___ 61 | VOLUME ["/work"] 62 | ENTRYPOINT ["/work-private/docker-entrypoint.sh"] 63 | CMD ["httpd", "-DFOREGROUND"] 64 | -------------------------------------------------------------------------------- /loadbalancer/README.md: -------------------------------------------------------------------------------- 1 | # Sticky Session Loadbalancer 2 | 3 | for Confluence Data Center Cluster. 4 | 5 | ### Build 6 | 7 | ``` 8 | cd docker-atlassian-confluence-data-center/loadbalancer/ 9 | docker build . -t loadbalancer:v2 10 | ``` 11 | 12 | ### Deployment 13 | 14 | Automatically built and deployed to docker hub via Jenkins. 15 | With git commit ID as version. See `../Jenkinsfile` 16 | 17 | ### Use 18 | 19 | see e.g. `../versions/7.0.1/docker-compose.yml` 20 | 21 | . 22 | -------------------------------------------------------------------------------- /loadbalancer/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | umask u+rxw,g+rwx,o-rwx 6 | 7 | # 8 | # GENERATE LOADBALANCER CONFIG BASED ON AMOUNT OF NODES 9 | # 10 | echo "generating loadbalancer config for $NODES nodes" 11 | env | j2 --format=env /work-private/loadbalancer-virtual-host.conf.jinja2 > /work-private/loadbalancer-virtual-host.conf 12 | 13 | 14 | exec "$@" 15 | -------------------------------------------------------------------------------- /loadbalancer/document-root/errors/error502.html: -------------------------------------------------------------------------------- 1 | 2 | Cluster is starting up 3 | 32 | 33 | 34 | 35 |
Cluster
36 |
37 |
38 |

Cluster is starting up ...

39 |

Please be patient and reload this page after some minutes.

40 |

HTTP 502 - Bad Gateway

41 |
42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /loadbalancer/document-root/errors/error503.html: -------------------------------------------------------------------------------- 1 | 2 | Cluster is starting up 3 | 32 | 33 | 34 | 35 |
Cluster
36 |
37 |
38 |

Cluster is starting up ...

39 |

Please be patient and reload this page after some minutes.

40 |

HTTP 503 - Service Unavailable

41 |
42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /loadbalancer/loadbalancer-virtual-host.conf.jinja2: -------------------------------------------------------------------------------- 1 | {% set amountNodes = NODES | int %} 2 | {% set loadBalancerPort = LB_PORT | int %} 3 | {% set nameSchema = NODES_NAME_SCHEMA | replace("___NUM___","") %} 4 | 5 | Listen 0.0.0.0:{{loadBalancerPort}} 6 | 7 | ServerName confluencecluster 8 | 9 | # START - ErrorDocuments 10 | DocumentRoot /work-private/document-root/ 11 | ProxyPass /errors/error502.html ! 12 | ProxyPass /errors/error503.html ! 13 | ErrorDocument 502 /errors/error502.html 14 | ErrorDocument 503 /errors/error503.html 15 | 16 | Require all granted 17 | 18 | # END - ErrorDocuments 19 | 20 | 21 | SetHandler balancer-manager 22 | Require all granted 23 | 24 | 25 | # Main Synchrony proxy rule 26 | ProxyPass /synchrony balancer://synchrony-http/synchron 27 | 28 | # Synchrony HTTP balancer declaration 29 | 30 | {% for n in range(1, (amountNodes+1)) %} 31 | BalancerMember http://{{nameSchema}}{{ n }}:8091 route=synnode{{ n }} 32 | {% endfor %} 33 | 34 | Require all granted 35 | 36 | # Synchrony WebSocket balancer declaration 37 | 38 | {% for n in range(1, (amountNodes+1)) %} 39 | BalancerMember ws://{{nameSchema}}{{ n }}:8091 route=synnode{{ n }} 40 | {% endfor %} 41 | 42 | Require all granted 43 | 44 | 45 | # WebSocket rewrite condition and rules 46 | RewriteEngine On 47 | RewriteCond %{REQUEST_URI} ^/synchrony/(.*)/bayeux-sync1 [NC] 48 | RewriteRule /(.*) balancer://synchrony-ws/$1 [P,L] 49 | 50 | 51 | 52 | # Main Confluence balancer 53 | Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED 54 | 55 | {% for n in range(1, (amountNodes+1)) %} 56 | BalancerMember http://{{nameSchema}}{{ n }}:8090 route={{ n }} 57 | {% endfor %} 58 | 59 | 60 | # Main Confluence proxy rules (stickysession=ROUTEID added by codeclou) 61 | ProxyPass "/" "balancer://confluence-cluster/" stickysession=ROUTEID 62 | ProxyPassReverse "/" "balancer://confluence-cluster/" 63 | 64 | # custom stuff by codeclou 65 | ProxyPreserveHost on 66 | ProxyRequests off 67 | ProxyTimeout 9600 68 | 69 | -------------------------------------------------------------------------------- /loadbalancer/proxy.conf: -------------------------------------------------------------------------------- 1 | LoadModule watchdog_module modules/mod_watchdog.so 2 | # LOAD PROXY FIRST! 3 | LoadModule proxy_module modules/mod_proxy.so 4 | LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 5 | LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 6 | LoadModule proxy_connect_module modules/mod_proxy_connect.so 7 | LoadModule proxy_express_module modules/mod_proxy_express.so 8 | LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 9 | LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so 10 | LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 11 | LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so 12 | LoadModule proxy_http_module modules/mod_proxy_http.so 13 | LoadModule proxy_scgi_module modules/mod_proxy_scgi.so 14 | LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so 15 | LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so 16 | # THEN LBMETHOD! (ORDER IS IMPORTANT) 17 | LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so 18 | LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so 19 | LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so 20 | LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so 21 | # LOAD SLOTMEM 22 | LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 23 | # REWRITE 24 | LoadModule rewrite_module modules/mod_rewrite.so 25 | -------------------------------------------------------------------------------- /new-version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # USAGE "bash new-version.sh 8.6.0 8.8.0" 4 | 5 | #################################################################################### 6 | # MIT License 7 | # Copyright (c) 2018 Bernhard Grünewaldt 8 | # See https://github.com/codeclou/docker-atlassian-confluence-data-center/blob/master/LICENSE 9 | #################################################################################### 10 | 11 | set -e 12 | 13 | #################################################################################### 14 | # 15 | # VARS 16 | # 17 | #################################################################################### 18 | 19 | # script params 20 | LAST_VERSION=$1 21 | NEW_VERSION=$2 22 | 23 | # internal vars 24 | script_version="2020-03-22 18:52" 25 | 26 | # new feature: to be able to use versions like "8.0.0-m0030-beta" and the dotfree version still being "800" 27 | # we changed the NEW_VERSION_NO_DOTS regex on 2018-12-31 28 | NEW_VERSION_NO_DOTS=$(echo $NEW_VERSION | sed -e 's/^\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\).*$/\1\2\3/g') 29 | #- 30 | LAST_VERSION_NO_DOTS=${LAST_VERSION//[.]/} 31 | 32 | #################################################################################### 33 | # 34 | # COLORS 35 | # 36 | #################################################################################### 37 | 38 | export CLICOLOR=1 39 | C_RED='\x1B[31m' 40 | C_CYN='\x1B[96m' 41 | C_GRN='\x1B[32m' 42 | C_MGN='\x1B[35m' 43 | C_RST='\x1B[39m' 44 | 45 | #################################################################################### 46 | # 47 | # FUNCTIONS 48 | # 49 | #################################################################################### 50 | 51 | # Used to be able to use pass-by-reference in bash 52 | # 53 | # 54 | return_by_reference() { 55 | if unset -v "$1"; then 56 | eval $1=\"\$2\" 57 | fi 58 | } 59 | 60 | # Replace str1 in file by str2 61 | # 62 | # @param $1 {string} str1 63 | # @param $2 {string} str2 64 | # @param $3 {string} file 65 | function replace_in_file { 66 | str1=$1 67 | str2=$2 68 | file=$3 69 | echo -e $C_GRN" replace : ${C_CYN}${str1}${C_RST} by ${C_CYN}${str2}${C_RST} in ${C_CYN}${file}${C_RST}${C_RST}" 70 | # Usage with .bak is compatible to macOS and normal linux 71 | sed -i .bak "s/${str1}/${str2}/g" ${file} 72 | rm -f ${file}.bak 73 | } 74 | 75 | # Rename oldFileName by newFileName 76 | # 77 | # @param $1 {string} oldFileName 78 | # @param $2 {string} newFileName 79 | function rename_file { 80 | oldFileName=$1 81 | newFileName=$2 82 | echo -e $C_GRN" renaming : ${C_CYN}${oldFileName}${C_RST} to ${C_CYN}${newFileName}${C_RST}${C_RST}" 83 | mv ${oldFileName} ${newFileName} 84 | } 85 | 86 | # Clone folder dirToClone to dirNameToCloneTo 87 | # 88 | # @param $1 {string} dirToClone 89 | # @param $2 {string} dirNameToCloneTo 90 | function clone_dir { 91 | dirToClone=$1 92 | dirNameToCloneTo=$2 93 | echo -e $C_GRN" clone dir : ${C_CYN}${dirToClone}${C_RST} to ${C_CYN}${dirNameToCloneTo}${C_RST}${C_RST}" 94 | cp -r ${dirToClone} ${dirNameToCloneTo} 95 | } 96 | 97 | 98 | # Print action header 99 | # 100 | # @param $1 {string} actionname 101 | function print_action_header { 102 | echo -e $C_MGN">>${C_RST}" 103 | echo -e $C_MGN">> ACTION: ${1} > ${LAST_VERSION} -> ${NEW_VERSION} ${C_RST}" 104 | echo -e $C_MGN">>${C_RST}" 105 | echo "" 106 | } 107 | 108 | 109 | # 110 | # 111 | # 112 | function confirm_git_add_and_commit { 113 | function management_scripts_do_git_addcommit { 114 | git add . -A 115 | git commit -m "automated creation of version ${NEW_VERSION}" 116 | echo -e $C_GRN" adding new files and comitting. Ready to push to remote."${C_RST} 117 | } 118 | function management_scripts_cancel_git_addcommit { 119 | echo -e $C_RED" skipping add and commit. no files staged! EXIT."${C_RST} 120 | exit 1 121 | } 122 | git status 123 | echo -e $C_CYN">> Do you wish to add and commit changes?${C_RST}" 124 | select yn in "Yes" "No"; do 125 | case $yn in 126 | Yes ) management_scripts_do_git_addcommit; break;; 127 | No ) management_scripts_cancel_git_addcommit; exit;; 128 | esac 129 | done 130 | } 131 | 132 | # 133 | # SCRIPT HEADER 134 | # 135 | echo "" 136 | echo -e $C_MGN'°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸'$C_RST 137 | echo "" 138 | echo -e $C_GRN' Create new versions of Confluence Software Data Center docker-compose files'$C_RST 139 | echo -e $C_CYN" version $script_version"$C_RST 140 | echo "" 141 | echo -e $C_MGN'°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸'$C_RST 142 | echo "" 143 | 144 | # 145 | # PREREQUISITES 146 | # 147 | if [ ! -d ~/.provision-confluence-ds-versions-workdir/ ] 148 | then 149 | mkdir ~/.provision-confluence-ds-versions-workdir/ 150 | fi 151 | 152 | 153 | 154 | 155 | print_action_header "new docker-compose files" 156 | echo -e $C_CYN">> trying to clone master branch${C_RST}" 157 | cd ~/.provision-jira-ds-versions-workdir/ 158 | if [ -d "docker-atlassian-confluence-data-center___master-branch" ] 159 | then 160 | rm -rf docker-atlassian-confluence-data-center___master-branch 161 | fi 162 | git clone https://github.com/codeclou/docker-atlassian-confluence-data-center.git docker-atlassian-confluence-data-center___master-branch 163 | cd docker-atlassian-confluence-data-center___master-branch 164 | git checkout master > /dev/null 2>&1 165 | current_branch=$(git rev-parse --abbrev-ref HEAD) 166 | if [ "$current_branch" == "master" ] 167 | then 168 | echo -e $C_GRN" we are on master branch ...${C_RST}" 169 | else 170 | echo -e $C_RED" we are NOT on master branch. EXIT${C_RST}" 171 | exit 1 172 | fi 173 | 174 | echo "" 175 | echo -e $C_CYN">> trying to create new version ${NEW_VERSION} from old version ${LAST_VERSION}.${C_RST}" 176 | 177 | if [ -d "versions/${NEW_VERSION}" ] 178 | then 179 | echo -e $C_RED" new version ${NEW_VERSION} already exists. EXIT${C_RST}" 180 | exit 1 181 | else 182 | echo -e $C_GRN" new version ${NEW_VERSION} does not yet exist. CONTINUE${C_RST}" 183 | fi 184 | echo "" 185 | 186 | clone_dir versions/${LAST_VERSION} versions/${NEW_VERSION} 187 | 188 | cd versions/${NEW_VERSION} 189 | replace_in_file ${LAST_VERSION} ${NEW_VERSION} docker-compose-four-nodes.yml 190 | replace_in_file ${LAST_VERSION} ${NEW_VERSION} docker-compose-three-nodes.yml 191 | replace_in_file ${LAST_VERSION} ${NEW_VERSION} docker-compose-two-nodes.yml 192 | replace_in_file ${LAST_VERSION} ${NEW_VERSION} docker-compose-one-node.yml 193 | replace_in_file ${LAST_VERSION_NO_DOTS} ${NEW_VERSION_NO_DOTS} docker-compose-four-nodes.yml 194 | replace_in_file ${LAST_VERSION_NO_DOTS} ${NEW_VERSION_NO_DOTS} docker-compose-three-nodes.yml 195 | replace_in_file ${LAST_VERSION_NO_DOTS} ${NEW_VERSION_NO_DOTS} docker-compose-two-nodes.yml 196 | replace_in_file ${LAST_VERSION_NO_DOTS} ${NEW_VERSION_NO_DOTS} docker-compose-one-node.yml 197 | 198 | replace_in_file ${LAST_VERSION} ${NEW_VERSION} README.md 199 | replace_in_file ${LAST_VERSION_NO_DOTS} ${NEW_VERSION_NO_DOTS} README.md 200 | 201 | 202 | cd ../../ 203 | 204 | confirm_git_add_and_commit 205 | git push 206 | 207 | # cleanup 208 | rm -rf docker-atlassian-confluence-data-center___master-branch 209 | echo "" 210 | 211 | 212 | -------------------------------------------------------------------------------- /versions/7.0.1/README.md: -------------------------------------------------------------------------------- 1 | # docker-atlassian-confluence-data-center 2 | 3 | > Start an [Atlassian Confluence Data Center](https://de.atlassian.com/enterprise/data-center) with Docker for local testing during plugin development. 4 | 5 | [![](https://codeclou.github.io/docker-atlassian-confluence-data-center/img/github-product-logo-docker-atlassian-confluence.png)](https://github.com/codeclou/docker-atlassian-confluence-data-center) 6 | 7 | ## Version 7.0.1 8 | 9 | It starts a PostgreSQL Database, some Confluence nodes and Apache2 HTTPD as sticky session loadbalancer. The shared confluence-home is handled via a shared Docker volume mounts. 10 | 11 | ----- 12 | 13 |   14 | 15 | ### Prerequisites 16 | 17 | * All Docker containers run internally as non-root with fixed UID 10777 and GID 10777. 18 | * The Atlassian Docker container use UID and GID 2001. 19 | * You need Linux or macOS. 20 | * Basic unix-tools like `wc`, `awk`, `curl`, `tr`, `head` and `bash` must be installed. 21 | * Bash 3 or 4 must be installed. 22 | * Latest Docker version must be installed. 23 | * docker-compose must be installed. 24 | 25 | 26 | ----- 27 | 28 |   29 | 30 | ### Container Composition 31 | 32 |

33 | 34 | ----- 35 | 36 |   37 | 38 | ### Initial Configuration 39 | 40 | **(1) Add cluster hostname alias** 41 | 42 | Add the alias on your Docker-Host machine. 43 | 44 | ```bash 45 | sudo su 46 | echo "127.0.0.1 confluence-cluster-701-lb" >> /etc/hosts 47 | ``` 48 | If you like to work with your cluster from your local network, use the servers public IP instead. 49 | 50 |   51 | 52 | **(2) Enable Network Forwarding (Multicast)** 53 | 54 | Confluence Data Center uses [EHCache Multicast networking features](http://www.ehcache.org/documentation/2.8/replication/rmi-replicated-caching.html). We need to enable IP Forwarding. 55 | 56 | On macOS® you do this with: 57 | 58 | ```bash 59 | sudo sysctl -w net.inet.ip.forwarding=1 60 | ``` 61 | 62 |   63 | 64 | **(3) Create work directories** 65 | 66 | ``` 67 | sudo mkdir -p /opt/confluence-cluster/ 68 | NORMALUSER=$(whoami) 69 | sudo chown $NORMALUSER /opt/confluence-cluster/ 70 | ``` 71 | 72 | **(4) On macOS add /opt/confluence-cluster/ to Docker Settings** 73 | 74 | Under Docker Settings add `/opt/confluence-cluster/` to *File Sharing* folders 75 | and restart docker. 76 | 77 | ----- 78 | 79 |   80 | 81 | ### Usage 82 | 83 | **(1) Start a Confluence Data Center 7.0.1 Cluster** 84 | 85 | ```bash 86 | rm -rf /opt/confluence-cluster/7.0.1 | true 87 | mkdir -p /opt/confluence-cluster/7.0.1 88 | mkdir -p /opt/confluence-cluster/7.0.1/confluence-home-shared 89 | mkdir -p /opt/confluence-cluster/7.0.1/confluence-home-node1 90 | mkdir -p /opt/confluence-cluster/7.0.1/confluence-home-node2 91 | # If on linux fix permissions for volume mounts 92 | # sudo chown 2002:2002 /opt/confluence-cluster/7.0.1/confluence-* 93 | ``` 94 | 95 | Now download the `docker-compose-two-nodes.yml` file which defines the nodes. We use the official [Atlassian Docker Confluence images](https://hub.docker.com/r/atlassian/confluence-server). 96 | 97 | ```bash 98 | cd /opt/confluence-cluster/7.0.1 99 | curl -so docker-compose-one-node.yml \ 100 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 101 | data-center/master/versions/7.0.1/docker-compose-one-node.yml" 102 | 103 | docker-compose -f docker-compose-one-node.yml up --detach 104 | # on linux you might need to run docker with sudo e.g. "sudo docker-compose ..." 105 | ``` 106 | 107 | This will start one Confluence Cluster nodes, a loadbalancer and a PostgreSQL database. 108 | 109 |   110 | 111 | **(2) Browse to Confluence** 112 | 113 | * Open a browser to [http://confluence-cluster-701-lb:2701/](http://confluence-cluster-701-lb:2701/) 114 | * It might take several minutes for the cluster to fully start up. 115 | 116 |   117 | 118 | **(3) Check Containers** 119 | 120 | Check if all containers have started with: 121 | 122 | ```bash 123 | docker ps 124 | ``` 125 | 126 | Should show something like: 127 | 128 | ``` 129 | CONTAINER ID IMAGE COMMAND PORTS NAMES 130 | 15ed1263c551 loadbalancer:v2 "/work-private/docke…" 0.0.0.0:2701->2701/tcp confluence-cluster-701-lb 131 | 2994d0d680ad atlassian/confluence-server:7.0.1 "/tini -- /entrypoin…" 8080/tcp confluence-cluster-701-node1 132 | 572fcaf9f669 postgres:9.6 "docker-entrypoint.s…" 5432/tcp confluence-cluster-701-db 133 | ``` 134 | 135 | You can check the logs of all containers by calling e.g.: 136 | 137 | ```bash 138 | docker-compose -f docker-compose-two-nodes.yml logs 139 | ``` 140 | 141 | 142 |   143 | 144 | **(4) Start Post Configuration** 145 | 146 | Once the cluster is fully started up, you need to configure Confluence in the browser. 147 | 148 | Go to **[http://confluence-cluster-701-lb:2701/](http://confluence-cluster-701-lb:2701/)** and make sure you enabled cookies (sticky session). 149 | 150 | Wait for Confluence to start up - simply reload the cluster startup page after some minutes. 151 | 152 |

153 | 154 | Use a Data Center license. Either an Evaluation License or a [Timebomb License](https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/). 155 | 156 |

157 | 158 | Use multicast and the `230.0.0.1` address for cluster setup. 159 | 160 |

161 | 162 | Then load an empty site. 163 | 164 |

165 | 166 | Select manage users within Confluence. 167 | 168 |

169 | 170 | Setup your admin account. Usually username `admin` and password `admin`. 171 | 172 |

173 | 174 | Finish setup. 175 | 176 |

177 | 178 |   179 | 180 | 181 | Use the [Jira Data Center Health Check Tools](https://confluence.atlassian.com/enterprise/jira-data-center-health-check-tools-644580752.html) 182 | to check the Health of each cluster node. `System` → `Troubleshooting and support Tools` → `Instance Health` tab. When using the 3 hour timebomb license, 183 | the license warning can be ignored. 184 | 185 |

186 | 187 |   188 | 189 | Now you should see one Cluster node as active under `System` → `System Info` → `Cluster Nodes`. We will add a second node now. 190 | 191 | 192 |   193 | 194 | **(5) Scale Up Cluster - Add Confluence Nodes** 195 | 196 | Now scale the cluster up to two nodes. 197 | 198 | ``` 199 | curl -so docker-compose-two-nodes.yml \ 200 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 201 | data-center/master/versions/7.0.1/docker-compose-two-nodes.yml" 202 | 203 | docker-compose -f docker-compose-two-nodes.yml up -d 204 | docker-compose -f docker-compose-two-nodes.yml restart confluence-cluster-701-lb 205 | ``` 206 | 207 | Now wait a little and again goto `System` → `System Info` → `Cluster Nodes`. There should now be both nodes active. 208 | 209 |

210 | 211 | 212 |   213 | 214 | 215 | To add more nodes do: 216 | 217 | ```bash 218 | cd /opt/confluence-cluster/7.0.1 219 | mkdir -p /opt/confluence-cluster/7.0.1/confluence-home-node3 220 | mkdir -p /opt/confluence-cluster/7.0.1/confluence-home-node4 221 | # If on linux fix permissions for volume mounts 222 | # sudo chown 2002:2002 /opt/confluence-cluster/7.0.1/confluence-* 223 | ``` 224 | 225 | Now scale the cluster up to three nodes. 226 | 227 | ``` 228 | curl -so docker-compose-three-nodes.yml \ 229 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 230 | data-center/master/versions/7.0.1/docker-compose-three-nodes.yml" 231 | 232 | docker-compose -f docker-compose-three-nodes.yml up -d 233 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-701-lb 234 | ``` 235 | 236 | Or even scale up to four nodes. 237 | 238 | ``` 239 | curl -so docker-compose-four-nodes.yml \ 240 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 241 | data-center/master/versions/7.0.1/docker-compose-four-nodes.yml" 242 | 243 | docker-compose -f docker-compose-four-nodes.yml up -d 244 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-701-lb 245 | ``` 246 | 247 | To check call this multiple times, and it should output the different node ids after some time 248 | 249 | ``` 250 | curl -I -s http://confluence-cluster-701-lb:2701 | grep ROUTEID 251 | ``` 252 | 253 |   254 | 255 | **(6) Shutting down the cluster** 256 | 257 | ```bash 258 | cd /opt/confluence-cluster/7.0.1 259 | docker-compose -f docker-compose-two-nodes.yml down 260 | ``` 261 | 262 | This will kill and remove all instances. 263 | 264 | ----- 265 | 266 |   267 | 268 | **Running with ufw and iptables on Ubuntu** 269 | 270 | If you run docker on ubuntu behind UFW and started docker with `--iptables=false` then you 271 | need to enable Postrouting in `/etc/ufw/before.rules` for the network. 272 | 273 | Use `docker network list` to get Network-ID which is then `br-NETWORK-ID` under ifconfig, where you get the network range in my case 172.18.0.0. 274 | 275 | ``` 276 | *nat 277 | :POSTROUTING ACCEPT [0:0] 278 | #... 279 | # DOCKER confluence-cluster-701 network 280 | -A POSTROUTING ! -o br-8a831390552b -s 172.18.0.0/16 -j MASQUERADE 281 | #... 282 | COMMIT 283 | ``` 284 | 285 |   286 | 287 | 288 | ----- 289 | 290 |   291 | 292 | ### Compatibility 293 | 294 | Tested under the following Operating Systems: 295 | 296 | * Ubuntu 16.04 64 Bit Server 297 | * Docker version 17.03.0-ce, build 60ccb22 298 | * GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu) 299 | * OS X El Capitan 300 | * Docker version 17.03.0-ce, build 60ccb22 301 | * GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15) 302 | 303 | Not tested and not compatible under the following Operating Systems: 304 | 305 | * Microsoft Windows 306 | 307 | ----- 308 | 309 |   310 | 311 | ### Trademarks and Third Party Licenses 312 | 313 | * **Atlassian Jira Sofware** 314 | * Atlassian®, Jira, Jira Software are registered [trademarks of Atlassian Pty Ltd](https://de.atlassian.com/legal/trademark). 315 | * Please check yourself for corresponding Licenses and Terms of Use at [atlassian.com](https://atlassian.com). 316 | * **Oracle Java** 317 | * Oracle, OpenJDK and Java are registered [trademarks of Oracle](https://www.oracle.com/legal/trademarks.html) and/or its affiliates. Other names may be trademarks of their respective owners. 318 | * Please check yourself for corresponding Licenses and Terms of Use at [www.oracle.com](https://www.oracle.com/). 319 | * **Docker** 320 | * Docker and the Docker logo are trademarks or registered [trademarks of Docker](https://www.docker.com/trademark-guidelines), Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. 321 | * Please check yourself for corresponding Licenses and Terms of Use at [www.docker.com](https://www.docker.com/). 322 | * **PostgreSQL** 323 | * PostgreSQL is a [registered trademark of the PostgreSQL Community Association of Canada](https://wiki.postgresql.org/wiki/Trademark_Policy). 324 | * Please check yourself for corresponding Licenses and Terms of Use at [www.postgresql.org](https://www.postgresql.org/). 325 | * **Ubuntu** 326 | * Ubuntu and Canonical are registered [trademarks of Canonical Ltd.](https://www.ubuntu.com/legal/short-terms) 327 | * **Apple** 328 | * macOS®, Mac and OS X are [trademarks of Apple Inc.](http://www.apple.com/legal/intellectual-property/trademark/appletmlist.html), registered in the U.S. and other countries. 329 | 330 | ----- 331 | 332 |   333 | 334 | ### License 335 | 336 | [MIT](./LICENSE) © [Bernhard Grünewaldt](https://github.com/clouless) 337 | -------------------------------------------------------------------------------- /versions/7.0.1/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-701-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-701-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-701: 12 | aliases: 13 | - confluence-cluster-701-db 14 | confluence-cluster-701-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-701-lb 17 | links: 18 | - confluence-cluster-701-node1 19 | - confluence-cluster-701-node2 20 | - confluence-cluster-701-node3 21 | - confluence-cluster-701-node4 22 | ports: 23 | - 2701:2701 24 | environment: 25 | - LB_PORT=2701 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-701-node___NUM___ 28 | networks: 29 | confluence-cluster-network-701: 30 | aliases: 31 | - confluence-cluster-701-lb 32 | confluence-cluster-701-node1: 33 | image: atlassian/confluence-server:7.0.1 34 | container_name: confluence-cluster-701-node1 35 | links: 36 | - confluence-cluster-701-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-701-lb 43 | - ATL_PROXY_PORT=2701 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.0.1/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-701-db 66 | networks: 67 | confluence-cluster-network-701: 68 | aliases: 69 | - confluence-cluster-701-node1 70 | confluence-cluster-701-node2: 71 | image: atlassian/confluence-server:7.0.1 72 | container_name: confluence-cluster-701-node2 73 | links: 74 | - confluence-cluster-701-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-701-lb 81 | - ATL_PROXY_PORT=2701 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.0.1/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-701-db 104 | networks: 105 | confluence-cluster-network-701: 106 | aliases: 107 | - confluence-cluster-701-node2 108 | confluence-cluster-701-node3: 109 | image: atlassian/confluence-server:7.0.1 110 | container_name: confluence-cluster-701-node3 111 | links: 112 | - confluence-cluster-701-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-701-lb 119 | - ATL_PROXY_PORT=2701 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.0.1/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-701-db 142 | networks: 143 | confluence-cluster-network-701: 144 | aliases: 145 | - confluence-cluster-701-node3 146 | confluence-cluster-701-node4: 147 | image: atlassian/confluence-server:7.0.1 148 | container_name: confluence-cluster-701-node4 149 | links: 150 | - confluence-cluster-701-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-701-lb 157 | - ATL_PROXY_PORT=2701 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.0.1/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-701-db 180 | networks: 181 | confluence-cluster-network-701: 182 | aliases: 183 | - confluence-cluster-701-node4 184 | 185 | networks: 186 | confluence-cluster-network-701: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.0.1/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-701-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-701-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-701: 12 | aliases: 13 | - confluence-cluster-701-db 14 | confluence-cluster-701-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-701-lb 17 | links: 18 | - confluence-cluster-701-node1 19 | ports: 20 | - 2701:2701 21 | environment: 22 | - LB_PORT=2701 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-701-node___NUM___ 25 | networks: 26 | confluence-cluster-network-701: 27 | aliases: 28 | - confluence-cluster-701-lb 29 | confluence-cluster-701-node1: 30 | image: atlassian/confluence-server:7.0.1 31 | container_name: confluence-cluster-701-node1 32 | links: 33 | - confluence-cluster-701-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-701-lb 40 | - ATL_PROXY_PORT=2701 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.0.1/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-701-db 63 | networks: 64 | confluence-cluster-network-701: 65 | aliases: 66 | - confluence-cluster-701-node1 67 | 68 | 69 | 70 | networks: 71 | confluence-cluster-network-701: 72 | driver: bridge 73 | -------------------------------------------------------------------------------- /versions/7.0.1/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-701-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-701-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-701: 12 | aliases: 13 | - confluence-cluster-701-db 14 | confluence-cluster-701-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-701-lb 17 | links: 18 | - confluence-cluster-701-node1 19 | - confluence-cluster-701-node2 20 | - confluence-cluster-701-node3 21 | ports: 22 | - 2701:2701 23 | environment: 24 | - LB_PORT=2701 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-701-node___NUM___ 27 | networks: 28 | confluence-cluster-network-701: 29 | aliases: 30 | - confluence-cluster-701-lb 31 | confluence-cluster-701-node1: 32 | image: atlassian/confluence-server:7.0.1 33 | container_name: confluence-cluster-701-node1 34 | links: 35 | - confluence-cluster-701-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-701-lb 42 | - ATL_PROXY_PORT=2701 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.0.1/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-701-db 65 | networks: 66 | confluence-cluster-network-701: 67 | aliases: 68 | - confluence-cluster-701-node1 69 | confluence-cluster-701-node2: 70 | image: atlassian/confluence-server:7.0.1 71 | container_name: confluence-cluster-701-node2 72 | links: 73 | - confluence-cluster-701-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-701-lb 80 | - ATL_PROXY_PORT=2701 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.0.1/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-701-db 103 | networks: 104 | confluence-cluster-network-701: 105 | aliases: 106 | - confluence-cluster-701-node2 107 | confluence-cluster-701-node3: 108 | image: atlassian/confluence-server:7.0.1 109 | container_name: confluence-cluster-701-node3 110 | links: 111 | - confluence-cluster-701-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-701-lb 118 | - ATL_PROXY_PORT=2701 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.0.1/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-701-db 141 | networks: 142 | confluence-cluster-network-701: 143 | aliases: 144 | - confluence-cluster-701-node3 145 | 146 | networks: 147 | confluence-cluster-network-701: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.0.1/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-701-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-701-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-701: 12 | aliases: 13 | - confluence-cluster-701-db 14 | confluence-cluster-701-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-701-lb 17 | links: 18 | - confluence-cluster-701-node1 19 | - confluence-cluster-701-node2 20 | ports: 21 | - 2701:2701 22 | environment: 23 | - LB_PORT=2701 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-701-node___NUM___ 26 | networks: 27 | confluence-cluster-network-701: 28 | aliases: 29 | - confluence-cluster-701-lb 30 | confluence-cluster-701-node1: 31 | image: atlassian/confluence-server:7.0.1 32 | container_name: confluence-cluster-701-node1 33 | links: 34 | - confluence-cluster-701-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-701-lb 41 | - ATL_PROXY_PORT=2701 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.0.1/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-701-db 64 | networks: 65 | confluence-cluster-network-701: 66 | aliases: 67 | - confluence-cluster-701-node1 68 | confluence-cluster-701-node2: 69 | image: atlassian/confluence-server:7.0.1 70 | container_name: confluence-cluster-701-node2 71 | links: 72 | - confluence-cluster-701-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-701-lb 79 | - ATL_PROXY_PORT=2701 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-701-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.0.1/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.0.1/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-701-db 102 | networks: 103 | confluence-cluster-network-701: 104 | aliases: 105 | - confluence-cluster-701-node2 106 | 107 | 108 | networks: 109 | confluence-cluster-network-701: 110 | driver: bridge 111 | -------------------------------------------------------------------------------- /versions/7.10.1/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7101-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-7101-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7101: 12 | aliases: 13 | - confluence-cluster-7101-db 14 | confluence-cluster-7101-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-7101-lb 17 | links: 18 | - confluence-cluster-7101-node1 19 | - confluence-cluster-7101-node2 20 | - confluence-cluster-7101-node3 21 | - confluence-cluster-7101-node4 22 | ports: 23 | - 27101:27101 24 | environment: 25 | - LB_PORT=27101 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-7101-node___NUM___ 28 | networks: 29 | confluence-cluster-network-7101: 30 | aliases: 31 | - confluence-cluster-7101-lb 32 | confluence-cluster-7101-node1: 33 | image: atlassian/confluence-server:7.10.1-jdk11 34 | container_name: confluence-cluster-7101-node1 35 | links: 36 | - confluence-cluster-7101-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 43 | - ATL_PROXY_PORT=27101 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.10.1/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-7101-db 66 | networks: 67 | confluence-cluster-network-7101: 68 | aliases: 69 | - confluence-cluster-7101-node1 70 | confluence-cluster-7101-node2: 71 | image: atlassian/confluence-server:7.10.1-jdk11 72 | container_name: confluence-cluster-7101-node2 73 | links: 74 | - confluence-cluster-7101-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 81 | - ATL_PROXY_PORT=27101 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.10.1/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-7101-db 104 | networks: 105 | confluence-cluster-network-7101: 106 | aliases: 107 | - confluence-cluster-7101-node2 108 | confluence-cluster-7101-node3: 109 | image: atlassian/confluence-server:7.10.1-jdk11 110 | container_name: confluence-cluster-7101-node3 111 | links: 112 | - confluence-cluster-7101-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 119 | - ATL_PROXY_PORT=27101 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.10.1/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-7101-db 142 | networks: 143 | confluence-cluster-network-7101: 144 | aliases: 145 | - confluence-cluster-7101-node3 146 | confluence-cluster-7101-node4: 147 | image: atlassian/confluence-server:7.10.1-jdk11 148 | container_name: confluence-cluster-7101-node4 149 | links: 150 | - confluence-cluster-7101-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 157 | - ATL_PROXY_PORT=27101 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.10.1/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-7101-db 180 | networks: 181 | confluence-cluster-network-7101: 182 | aliases: 183 | - confluence-cluster-7101-node4 184 | 185 | networks: 186 | confluence-cluster-network-7101: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.10.1/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7101-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-7101-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7101: 12 | aliases: 13 | - confluence-cluster-7101-db 14 | confluence-cluster-7101-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-7101-lb 17 | links: 18 | - confluence-cluster-7101-node1 19 | ports: 20 | - 27101:27101 21 | environment: 22 | - LB_PORT=27101 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-7101-node___NUM___ 25 | networks: 26 | confluence-cluster-network-7101: 27 | aliases: 28 | - confluence-cluster-7101-lb 29 | confluence-cluster-7101-node1: 30 | image: atlassian/confluence-server:7.10.1-jdk11 31 | container_name: confluence-cluster-7101-node1 32 | links: 33 | - confluence-cluster-7101-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 40 | - ATL_PROXY_PORT=27101 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.10.1/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-7101-db 63 | networks: 64 | confluence-cluster-network-7101: 65 | aliases: 66 | - confluence-cluster-7101-node1 67 | 68 | networks: 69 | confluence-cluster-network-7101: 70 | driver: bridge 71 | -------------------------------------------------------------------------------- /versions/7.10.1/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7101-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-7101-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7101: 12 | aliases: 13 | - confluence-cluster-7101-db 14 | confluence-cluster-7101-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-7101-lb 17 | links: 18 | - confluence-cluster-7101-node1 19 | - confluence-cluster-7101-node2 20 | - confluence-cluster-7101-node3 21 | ports: 22 | - 27101:27101 23 | environment: 24 | - LB_PORT=27101 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-7101-node___NUM___ 27 | networks: 28 | confluence-cluster-network-7101: 29 | aliases: 30 | - confluence-cluster-7101-lb 31 | confluence-cluster-7101-node1: 32 | image: atlassian/confluence-server:7.10.1-jdk11 33 | container_name: confluence-cluster-7101-node1 34 | links: 35 | - confluence-cluster-7101-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 42 | - ATL_PROXY_PORT=27101 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.10.1/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-7101-db 65 | networks: 66 | confluence-cluster-network-7101: 67 | aliases: 68 | - confluence-cluster-7101-node1 69 | confluence-cluster-7101-node2: 70 | image: atlassian/confluence-server:7.10.1-jdk11 71 | container_name: confluence-cluster-7101-node2 72 | links: 73 | - confluence-cluster-7101-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 80 | - ATL_PROXY_PORT=27101 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.10.1/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-7101-db 103 | networks: 104 | confluence-cluster-network-7101: 105 | aliases: 106 | - confluence-cluster-7101-node2 107 | confluence-cluster-7101-node3: 108 | image: atlassian/confluence-server:7.10.1-jdk11 109 | container_name: confluence-cluster-7101-node3 110 | links: 111 | - confluence-cluster-7101-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 118 | - ATL_PROXY_PORT=27101 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.10.1/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-7101-db 141 | networks: 142 | confluence-cluster-network-7101: 143 | aliases: 144 | - confluence-cluster-7101-node3 145 | 146 | networks: 147 | confluence-cluster-network-7101: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.10.1/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7101-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-7101-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7101: 12 | aliases: 13 | - confluence-cluster-7101-db 14 | confluence-cluster-7101-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-7101-lb 17 | links: 18 | - confluence-cluster-7101-node1 19 | - confluence-cluster-7101-node2 20 | ports: 21 | - 27101:27101 22 | environment: 23 | - LB_PORT=27101 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-7101-node___NUM___ 26 | networks: 27 | confluence-cluster-network-7101: 28 | aliases: 29 | - confluence-cluster-7101-lb 30 | confluence-cluster-7101-node1: 31 | image: atlassian/confluence-server:7.10.1-jdk11 32 | container_name: confluence-cluster-7101-node1 33 | links: 34 | - confluence-cluster-7101-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 41 | - ATL_PROXY_PORT=27101 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.10.1/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-7101-db 64 | networks: 65 | confluence-cluster-network-7101: 66 | aliases: 67 | - confluence-cluster-7101-node1 68 | confluence-cluster-7101-node2: 69 | image: atlassian/confluence-server:7.10.1-jdk11 70 | container_name: confluence-cluster-7101-node2 71 | links: 72 | - confluence-cluster-7101-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-7101-lb 79 | - ATL_PROXY_PORT=27101 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7101-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.10.1/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.10.1/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-7101-db 102 | networks: 103 | confluence-cluster-network-7101: 104 | aliases: 105 | - confluence-cluster-7101-node2 106 | 107 | networks: 108 | confluence-cluster-network-7101: 109 | driver: bridge 110 | -------------------------------------------------------------------------------- /versions/7.13.2/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7132-db: 4 | image: postgres:11-alpine 5 | container_name: confluence-cluster-7132-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7132: 12 | aliases: 13 | - confluence-cluster-7132-db 14 | confluence-cluster-7132-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-0b294bb 16 | container_name: confluence-cluster-7132-lb 17 | links: 18 | - confluence-cluster-7132-node1 19 | - confluence-cluster-7132-node2 20 | - confluence-cluster-7132-node3 21 | - confluence-cluster-7132-node4 22 | ports: 23 | - 27132:27132 24 | environment: 25 | - LB_PORT=27132 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-7132-node___NUM___ 28 | networks: 29 | confluence-cluster-network-7132: 30 | aliases: 31 | - confluence-cluster-7132-lb 32 | confluence-cluster-7132-node1: 33 | image: atlassian/confluence-server:7.13.2-jdk11 34 | container_name: confluence-cluster-7132-node1 35 | links: 36 | - confluence-cluster-7132-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=1024M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 42 | # Reverse Proxy Settings 43 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 44 | - ATL_PROXY_PORT=27132 45 | # Database 46 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 47 | - ATL_JDBC_USER=confluence 48 | - ATL_JDBC_PASSWORD=confluence 49 | - ATL_DB_TYPE=postgresql 50 | # Data Center configuration 51 | - ATL_CLUSTER_TYPE=multicast 52 | - ATL_CLUSTER_NAME=confluence-cluster 53 | - ATL_CLUSTER_ADDRESS=230.0.0.1 54 | - ATL_CLUSTER_TTL=32 55 | # Home Directories 56 | - CONFLUENCE_HOME=/opt/confluence-home 57 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 58 | volumes: 59 | - type: bind 60 | source: /opt/confluence-cluster/7.13.2/confluence-home-node1 61 | target: /opt/confluence-home 62 | - type: bind 63 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 64 | target: /opt/confluence-home-shared 65 | depends_on: 66 | - confluence-cluster-7132-db 67 | networks: 68 | confluence-cluster-network-7132: 69 | aliases: 70 | - confluence-cluster-7132-node1 71 | confluence-cluster-7132-node2: 72 | image: atlassian/confluence-server:7.13.2-jdk11 73 | container_name: confluence-cluster-7132-node2 74 | links: 75 | - confluence-cluster-7132-db 76 | environment: 77 | # Memory / Heap Size 78 | - JVM_MINIMUM_MEMORY=1024M 79 | - JVM_MAXIMUM_MEMORY=2048M 80 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 81 | # Reverse Proxy Settings 82 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 83 | - ATL_PROXY_PORT=27132 84 | # Database 85 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 86 | - ATL_JDBC_USER=confluence 87 | - ATL_JDBC_PASSWORD=confluence 88 | - ATL_DB_TYPE=postgresql 89 | # Data Center configuration 90 | - ATL_CLUSTER_TYPE=multicast 91 | - ATL_CLUSTER_NAME=confluence-cluster 92 | - ATL_CLUSTER_ADDRESS=230.0.0.1 93 | - ATL_CLUSTER_TTL=32 94 | # Home Directories 95 | - CONFLUENCE_HOME=/opt/confluence-home 96 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 97 | volumes: 98 | - type: bind 99 | source: /opt/confluence-cluster/7.13.2/confluence-home-node2 100 | target: /opt/confluence-home 101 | - type: bind 102 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 103 | target: /opt/confluence-home-shared 104 | depends_on: 105 | - confluence-cluster-7132-db 106 | networks: 107 | confluence-cluster-network-7132: 108 | aliases: 109 | - confluence-cluster-7132-node2 110 | confluence-cluster-7132-node3: 111 | image: atlassian/confluence-server:7.13.2-jdk11 112 | container_name: confluence-cluster-7132-node3 113 | links: 114 | - confluence-cluster-7132-db 115 | environment: 116 | # Memory / Heap Size 117 | - JVM_MINIMUM_MEMORY=1024M 118 | - JVM_MAXIMUM_MEMORY=2048M 119 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 120 | # Reverse Proxy Settings 121 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 122 | - ATL_PROXY_PORT=27132 123 | # Database 124 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 125 | - ATL_JDBC_USER=confluence 126 | - ATL_JDBC_PASSWORD=confluence 127 | - ATL_DB_TYPE=postgresql 128 | # Data Center configuration 129 | - ATL_CLUSTER_TYPE=multicast 130 | - ATL_CLUSTER_NAME=confluence-cluster 131 | - ATL_CLUSTER_ADDRESS=230.0.0.1 132 | - ATL_CLUSTER_TTL=32 133 | # Home Directories 134 | - CONFLUENCE_HOME=/opt/confluence-home 135 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 136 | volumes: 137 | - type: bind 138 | source: /opt/confluence-cluster/7.13.2/confluence-home-node3 139 | target: /opt/confluence-home 140 | - type: bind 141 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 142 | target: /opt/confluence-home-shared 143 | depends_on: 144 | - confluence-cluster-7132-db 145 | networks: 146 | confluence-cluster-network-7132: 147 | aliases: 148 | - confluence-cluster-7132-node3 149 | confluence-cluster-7132-node4: 150 | image: atlassian/confluence-server:7.13.2-jdk11 151 | container_name: confluence-cluster-7132-node4 152 | links: 153 | - confluence-cluster-7132-db 154 | environment: 155 | # Memory / Heap Size 156 | - JVM_MINIMUM_MEMORY=1024M 157 | - JVM_MAXIMUM_MEMORY=2048M 158 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 159 | # Reverse Proxy Settings 160 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 161 | - ATL_PROXY_PORT=27132 162 | # Database 163 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 164 | - ATL_JDBC_USER=confluence 165 | - ATL_JDBC_PASSWORD=confluence 166 | - ATL_DB_TYPE=postgresql 167 | # Data Center configuration 168 | - ATL_CLUSTER_TYPE=multicast 169 | - ATL_CLUSTER_NAME=confluence-cluster 170 | - ATL_CLUSTER_ADDRESS=230.0.0.1 171 | - ATL_CLUSTER_TTL=32 172 | # Home Directories 173 | - CONFLUENCE_HOME=/opt/confluence-home 174 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 175 | volumes: 176 | - type: bind 177 | source: /opt/confluence-cluster/7.13.2/confluence-home-node4 178 | target: /opt/confluence-home 179 | - type: bind 180 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 181 | target: /opt/confluence-home-shared 182 | depends_on: 183 | - confluence-cluster-7132-db 184 | networks: 185 | confluence-cluster-network-7132: 186 | aliases: 187 | - confluence-cluster-7132-node4 188 | 189 | networks: 190 | confluence-cluster-network-7132: 191 | driver: bridge 192 | -------------------------------------------------------------------------------- /versions/7.13.2/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7132-db: 4 | image: postgres:11-alpine 5 | container_name: confluence-cluster-7132-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7132: 12 | aliases: 13 | - confluence-cluster-7132-db 14 | confluence-cluster-7132-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-0b294bb 16 | container_name: confluence-cluster-7132-lb 17 | links: 18 | - confluence-cluster-7132-node1 19 | ports: 20 | - 27132:27132 21 | environment: 22 | - LB_PORT=27132 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-7132-node___NUM___ 25 | networks: 26 | confluence-cluster-network-7132: 27 | aliases: 28 | - confluence-cluster-7132-lb 29 | confluence-cluster-7132-node1: 30 | image: atlassian/confluence-server:7.13.2-jdk11 31 | container_name: confluence-cluster-7132-node1 32 | links: 33 | - confluence-cluster-7132-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=1024M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 41 | - ATL_PROXY_PORT=27132 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.13.2/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-7132-db 64 | networks: 65 | confluence-cluster-network-7132: 66 | aliases: 67 | - confluence-cluster-7132-node1 68 | 69 | networks: 70 | confluence-cluster-network-7132: 71 | driver: bridge 72 | -------------------------------------------------------------------------------- /versions/7.13.2/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7132-db: 4 | image: postgres:11-alpine 5 | container_name: confluence-cluster-7132-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7132: 12 | aliases: 13 | - confluence-cluster-7132-db 14 | confluence-cluster-7132-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-0b294bb 16 | container_name: confluence-cluster-7132-lb 17 | links: 18 | - confluence-cluster-7132-node1 19 | - confluence-cluster-7132-node2 20 | - confluence-cluster-7132-node3 21 | ports: 22 | - 27132:27132 23 | environment: 24 | - LB_PORT=27132 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-7132-node___NUM___ 27 | networks: 28 | confluence-cluster-network-7132: 29 | aliases: 30 | - confluence-cluster-7132-lb 31 | confluence-cluster-7132-node1: 32 | image: atlassian/confluence-server:7.13.2-jdk11 33 | container_name: confluence-cluster-7132-node1 34 | links: 35 | - confluence-cluster-7132-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=1024M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 43 | - ATL_PROXY_PORT=27132 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.13.2/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-7132-db 66 | networks: 67 | confluence-cluster-network-7132: 68 | aliases: 69 | - confluence-cluster-7132-node1 70 | confluence-cluster-7132-node2: 71 | image: atlassian/confluence-server:7.13.2-jdk11 72 | container_name: confluence-cluster-7132-node2 73 | links: 74 | - confluence-cluster-7132-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=1024M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 80 | # Reverse Proxy Settings 81 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 82 | - ATL_PROXY_PORT=27132 83 | # Database 84 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 85 | - ATL_JDBC_USER=confluence 86 | - ATL_JDBC_PASSWORD=confluence 87 | - ATL_DB_TYPE=postgresql 88 | # Data Center configuration 89 | - ATL_CLUSTER_TYPE=multicast 90 | - ATL_CLUSTER_NAME=confluence-cluster 91 | - ATL_CLUSTER_ADDRESS=230.0.0.1 92 | - ATL_CLUSTER_TTL=32 93 | # Home Directories 94 | - CONFLUENCE_HOME=/opt/confluence-home 95 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 96 | volumes: 97 | - type: bind 98 | source: /opt/confluence-cluster/7.13.2/confluence-home-node2 99 | target: /opt/confluence-home 100 | - type: bind 101 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 102 | target: /opt/confluence-home-shared 103 | depends_on: 104 | - confluence-cluster-7132-db 105 | networks: 106 | confluence-cluster-network-7132: 107 | aliases: 108 | - confluence-cluster-7132-node2 109 | confluence-cluster-7132-node3: 110 | image: atlassian/confluence-server:7.13.2-jdk11 111 | container_name: confluence-cluster-7132-node3 112 | links: 113 | - confluence-cluster-7132-db 114 | environment: 115 | # Memory / Heap Size 116 | - JVM_MINIMUM_MEMORY=1024M 117 | - JVM_MAXIMUM_MEMORY=2048M 118 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 119 | # Reverse Proxy Settings 120 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 121 | - ATL_PROXY_PORT=27132 122 | # Database 123 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 124 | - ATL_JDBC_USER=confluence 125 | - ATL_JDBC_PASSWORD=confluence 126 | - ATL_DB_TYPE=postgresql 127 | # Data Center configuration 128 | - ATL_CLUSTER_TYPE=multicast 129 | - ATL_CLUSTER_NAME=confluence-cluster 130 | - ATL_CLUSTER_ADDRESS=230.0.0.1 131 | - ATL_CLUSTER_TTL=32 132 | # Home Directories 133 | - CONFLUENCE_HOME=/opt/confluence-home 134 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 135 | volumes: 136 | - type: bind 137 | source: /opt/confluence-cluster/7.13.2/confluence-home-node3 138 | target: /opt/confluence-home 139 | - type: bind 140 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 141 | target: /opt/confluence-home-shared 142 | depends_on: 143 | - confluence-cluster-7132-db 144 | networks: 145 | confluence-cluster-network-7132: 146 | aliases: 147 | - confluence-cluster-7132-node3 148 | 149 | networks: 150 | confluence-cluster-network-7132: 151 | driver: bridge 152 | -------------------------------------------------------------------------------- /versions/7.13.2/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-7132-db: 4 | image: postgres:11-alpine 5 | container_name: confluence-cluster-7132-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-7132: 12 | aliases: 13 | - confluence-cluster-7132-db 14 | confluence-cluster-7132-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-0b294bb 16 | container_name: confluence-cluster-7132-lb 17 | links: 18 | - confluence-cluster-7132-node1 19 | - confluence-cluster-7132-node2 20 | ports: 21 | - 27132:27132 22 | environment: 23 | - LB_PORT=27132 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-7132-node___NUM___ 26 | networks: 27 | confluence-cluster-network-7132: 28 | aliases: 29 | - confluence-cluster-7132-lb 30 | confluence-cluster-7132-node1: 31 | image: atlassian/confluence-server:7.13.2-jdk11 32 | container_name: confluence-cluster-7132-node1 33 | links: 34 | - confluence-cluster-7132-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=1024M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 42 | - ATL_PROXY_PORT=27132 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.13.2/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-7132-db 65 | networks: 66 | confluence-cluster-network-7132: 67 | aliases: 68 | - confluence-cluster-7132-node1 69 | confluence-cluster-7132-node2: 70 | image: atlassian/confluence-server:7.13.2-jdk11 71 | container_name: confluence-cluster-7132-node2 72 | links: 73 | - confluence-cluster-7132-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=1024M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | - JVM_RESERVED_CODE_CACHE_SIZE=512M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-7132-lb 81 | - ATL_PROXY_PORT=27132 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-7132-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.13.2/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.13.2/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-7132-db 104 | networks: 105 | confluence-cluster-network-7132: 106 | aliases: 107 | - confluence-cluster-7132-node2 108 | 109 | networks: 110 | confluence-cluster-network-7132: 111 | driver: bridge 112 | -------------------------------------------------------------------------------- /versions/7.2.0/README.md: -------------------------------------------------------------------------------- 1 | # docker-atlassian-confluence-data-center 2 | 3 | > Start an [Atlassian Confluence Data Center](https://de.atlassian.com/enterprise/data-center) with Docker for local testing during plugin development. 4 | 5 | [![](https://codeclou.github.io/docker-atlassian-confluence-data-center/img/github-product-logo-docker-atlassian-confluence.png)](https://github.com/codeclou/docker-atlassian-confluence-data-center) 6 | 7 | ## Version 7.2.0 8 | 9 | It starts a PostgreSQL Database, some Confluence nodes and Apache2 HTTPD as sticky session loadbalancer. The shared confluence-home is handled via a shared Docker volume mounts. 10 | 11 | ----- 12 | 13 |   14 | 15 | ### Prerequisites 16 | 17 | * All Docker containers run internally as non-root with fixed UID 10777 and GID 10777. 18 | * The Atlassian Docker container use UID and GID 2001. 19 | * You need Linux or macOS. 20 | * Basic unix-tools like `wc`, `awk`, `curl`, `tr`, `head` and `bash` must be installed. 21 | * Bash 3 or 4 must be installed. 22 | * Latest Docker version must be installed. 23 | * docker-compose must be installed. 24 | 25 | 26 | ----- 27 | 28 |   29 | 30 | ### Container Composition 31 | 32 |

33 | 34 | ----- 35 | 36 |   37 | 38 | ### Initial Configuration 39 | 40 | **(1) Add cluster hostname alias** 41 | 42 | Add the alias on your Docker-Host machine. 43 | 44 | ```bash 45 | sudo su 46 | echo "127.0.0.1 confluence-cluster-720-lb" >> /etc/hosts 47 | ``` 48 | If you like to work with your cluster from your local network, use the servers public IP instead. 49 | 50 |   51 | 52 | **(2) Enable Network Forwarding (Multicast)** 53 | 54 | Confluence Data Center uses [EHCache Multicast networking features](http://www.ehcache.org/documentation/2.8/replication/rmi-replicated-caching.html). We need to enable IP Forwarding. 55 | 56 | On macOS® you do this with: 57 | 58 | ```bash 59 | sudo sysctl -w net.inet.ip.forwarding=1 60 | ``` 61 | 62 |   63 | 64 | **(3) Create work directories** 65 | 66 | ``` 67 | sudo mkdir -p /opt/confluence-cluster/ 68 | NORMALUSER=$(whoami) 69 | sudo chown $NORMALUSER /opt/confluence-cluster/ 70 | ``` 71 | 72 | **(4) On macOS add /opt/confluence-cluster/ to Docker Settings** 73 | 74 | Under Docker Settings add `/opt/confluence-cluster/` to *File Sharing* folders 75 | and restart docker. 76 | 77 | ----- 78 | 79 |   80 | 81 | ### Usage 82 | 83 | **(1) Start a Confluence Data Center 7.2.0 Cluster** 84 | 85 | ```bash 86 | rm -rf /opt/confluence-cluster/7.2.0 | true 87 | mkdir -p /opt/confluence-cluster/7.2.0 88 | mkdir -p /opt/confluence-cluster/7.2.0/confluence-home-shared 89 | mkdir -p /opt/confluence-cluster/7.2.0/confluence-home-node1 90 | mkdir -p /opt/confluence-cluster/7.2.0/confluence-home-node2 91 | # If on linux fix permissions for volume mounts 92 | # sudo chown 2002:2002 /opt/confluence-cluster/7.2.0/confluence-* 93 | ``` 94 | 95 | Now download the `docker-compose-two-nodes.yml` file which defines the nodes. We use the official [Atlassian Docker Confluence images](https://hub.docker.com/r/atlassian/confluence-server). 96 | 97 | ```bash 98 | cd /opt/confluence-cluster/7.2.0 99 | curl -so docker-compose-one-node.yml \ 100 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 101 | data-center/master/versions/7.2.0/docker-compose-one-node.yml" 102 | 103 | docker-compose -f docker-compose-one-node.yml up --detach 104 | # on linux you might need to run docker with sudo e.g. "sudo docker-compose ..." 105 | ``` 106 | 107 | This will start one Confluence Cluster nodes, a loadbalancer and a PostgreSQL database. 108 | 109 |   110 | 111 | **(2) Browse to Confluence** 112 | 113 | * Open a browser to [http://confluence-cluster-720-lb:2720/](http://confluence-cluster-720-lb:2720/) 114 | * It might take several minutes for the cluster to fully start up. 115 | 116 |   117 | 118 | **(3) Check Containers** 119 | 120 | Check if all containers have started with: 121 | 122 | ```bash 123 | docker ps 124 | ``` 125 | 126 | Should show something like: 127 | 128 | ``` 129 | CONTAINER ID IMAGE COMMAND PORTS NAMES 130 | 15ed1263c551 loadbalancer:v2 "/work-private/docke…" 0.0.0.0:2720->2720/tcp confluence-cluster-720-lb 131 | 2994d0d680ad atlassian/confluence-server:7.2.0 "/tini -- /entrypoin…" 8080/tcp confluence-cluster-720-node1 132 | 572fcaf9f669 postgres:9.6 "docker-entrypoint.s…" 5432/tcp confluence-cluster-720-db 133 | ``` 134 | 135 | You can check the logs of all containers by calling e.g.: 136 | 137 | ```bash 138 | docker-compose -f docker-compose-two-nodes.yml logs 139 | ``` 140 | 141 | 142 |   143 | 144 | **(4) Start Post Configuration** 145 | 146 | Once the cluster is fully started up, you need to configure Confluence in the browser. 147 | 148 | Go to **[http://confluence-cluster-720-lb:2720/](http://confluence-cluster-720-lb:2720/)** and make sure you enabled cookies (sticky session). 149 | 150 | Wait for Confluence to start up - simply reload the cluster startup page after some minutes. 151 | 152 |

153 | 154 | Use a Data Center license. Either an Evaluation License or a [Timebomb License](https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/). 155 | 156 |

157 | 158 | Use multicast and the `230.0.0.1` address for cluster setup. 159 | 160 |

161 | 162 | Then load an empty site. 163 | 164 |

165 | 166 | Select manage users within Confluence. 167 | 168 |

169 | 170 | Setup your admin account. Usually username `admin` and password `admin`. 171 | 172 |

173 | 174 | Finish setup. 175 | 176 |

177 | 178 |   179 | 180 | 181 | Use the [Jira Data Center Health Check Tools](https://confluence.atlassian.com/enterprise/jira-data-center-health-check-tools-644580752.html) 182 | to check the Health of each cluster node. `System` → `Troubleshooting and support Tools` → `Instance Health` tab. When using the 3 hour timebomb license, 183 | the license warning can be ignored. 184 | 185 |

186 | 187 |   188 | 189 | Now you should see one Cluster node as active under `System` → `System Info` → `Cluster Nodes`. We will add a second node now. 190 | 191 | 192 |   193 | 194 | **(5) Scale Up Cluster - Add Confluence Nodes** 195 | 196 | Now scale the cluster up to two nodes. 197 | 198 | ``` 199 | curl -so docker-compose-two-nodes.yml \ 200 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 201 | data-center/master/versions/7.2.0/docker-compose-two-nodes.yml" 202 | 203 | docker-compose -f docker-compose-two-nodes.yml up -d 204 | docker-compose -f docker-compose-two-nodes.yml restart confluence-cluster-720-lb 205 | ``` 206 | 207 | Now wait a little and again goto `System` → `System Info` → `Cluster Nodes`. There should now be both nodes active. 208 | 209 |

210 | 211 | 212 |   213 | 214 | 215 | To add more nodes do: 216 | 217 | ```bash 218 | cd /opt/confluence-cluster/7.2.0 219 | mkdir -p /opt/confluence-cluster/7.2.0/confluence-home-node3 220 | mkdir -p /opt/confluence-cluster/7.2.0/confluence-home-node4 221 | # If on linux fix permissions for volume mounts 222 | # sudo chown 2002:2002 /opt/confluence-cluster/7.2.0/confluence-* 223 | ``` 224 | 225 | Now scale the cluster up to three nodes. 226 | 227 | ``` 228 | curl -so docker-compose-three-nodes.yml \ 229 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 230 | data-center/master/versions/7.2.0/docker-compose-three-nodes.yml" 231 | 232 | docker-compose -f docker-compose-three-nodes.yml up -d 233 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-720-lb 234 | ``` 235 | 236 | Or even scale up to four nodes. 237 | 238 | ``` 239 | curl -so docker-compose-four-nodes.yml \ 240 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 241 | data-center/master/versions/7.2.0/docker-compose-four-nodes.yml" 242 | 243 | docker-compose -f docker-compose-four-nodes.yml up -d 244 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-720-lb 245 | ``` 246 | 247 | To check call this multiple times, and it should output the different node ids after some time 248 | 249 | ``` 250 | curl -I -s http://confluence-cluster-720-lb:2720 | grep ROUTEID 251 | ``` 252 | 253 |   254 | 255 | **(6) Shutting down the cluster** 256 | 257 | ```bash 258 | cd /opt/confluence-cluster/7.2.0 259 | docker-compose -f docker-compose-two-nodes.yml down 260 | ``` 261 | 262 | This will kill and remove all instances. 263 | 264 | ----- 265 | 266 |   267 | 268 | **Running with ufw and iptables on Ubuntu** 269 | 270 | If you run docker on ubuntu behind UFW and started docker with `--iptables=false` then you 271 | need to enable Postrouting in `/etc/ufw/before.rules` for the network. 272 | 273 | Use `docker network list` to get Network-ID which is then `br-NETWORK-ID` under ifconfig, where you get the network range in my case 172.18.0.0. 274 | 275 | ``` 276 | *nat 277 | :POSTROUTING ACCEPT [0:0] 278 | #... 279 | # DOCKER confluence-cluster-720 network 280 | -A POSTROUTING ! -o br-8a831390552b -s 172.18.0.0/16 -j MASQUERADE 281 | #... 282 | COMMIT 283 | ``` 284 | 285 |   286 | 287 | 288 | ----- 289 | 290 |   291 | 292 | ### Compatibility 293 | 294 | Tested under the following Operating Systems: 295 | 296 | * Ubuntu 16.04 64 Bit Server 297 | * Docker version 17.03.0-ce, build 60ccb22 298 | * GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu) 299 | * OS X El Capitan 300 | * Docker version 17.03.0-ce, build 60ccb22 301 | * GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15) 302 | 303 | Not tested and not compatible under the following Operating Systems: 304 | 305 | * Microsoft Windows 306 | 307 | ----- 308 | 309 |   310 | 311 | ### Trademarks and Third Party Licenses 312 | 313 | * **Atlassian Jira Sofware** 314 | * Atlassian®, Jira, Jira Software are registered [trademarks of Atlassian Pty Ltd](https://de.atlassian.com/legal/trademark). 315 | * Please check yourself for corresponding Licenses and Terms of Use at [atlassian.com](https://atlassian.com). 316 | * **Oracle Java** 317 | * Oracle, OpenJDK and Java are registered [trademarks of Oracle](https://www.oracle.com/legal/trademarks.html) and/or its affiliates. Other names may be trademarks of their respective owners. 318 | * Please check yourself for corresponding Licenses and Terms of Use at [www.oracle.com](https://www.oracle.com/). 319 | * **Docker** 320 | * Docker and the Docker logo are trademarks or registered [trademarks of Docker](https://www.docker.com/trademark-guidelines), Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. 321 | * Please check yourself for corresponding Licenses and Terms of Use at [www.docker.com](https://www.docker.com/). 322 | * **PostgreSQL** 323 | * PostgreSQL is a [registered trademark of the PostgreSQL Community Association of Canada](https://wiki.postgresql.org/wiki/Trademark_Policy). 324 | * Please check yourself for corresponding Licenses and Terms of Use at [www.postgresql.org](https://www.postgresql.org/). 325 | * **Ubuntu** 326 | * Ubuntu and Canonical are registered [trademarks of Canonical Ltd.](https://www.ubuntu.com/legal/short-terms) 327 | * **Apple** 328 | * macOS®, Mac and OS X are [trademarks of Apple Inc.](http://www.apple.com/legal/intellectual-property/trademark/appletmlist.html), registered in the U.S. and other countries. 329 | 330 | ----- 331 | 332 |   333 | 334 | ### License 335 | 336 | [MIT](./LICENSE) © [Bernhard Grünewaldt](https://github.com/clouless) 337 | -------------------------------------------------------------------------------- /versions/7.2.0/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-720-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-720-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-720: 12 | aliases: 13 | - confluence-cluster-720-db 14 | confluence-cluster-720-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-720-lb 17 | links: 18 | - confluence-cluster-720-node1 19 | - confluence-cluster-720-node2 20 | - confluence-cluster-720-node3 21 | - confluence-cluster-720-node4 22 | ports: 23 | - 2720:2720 24 | environment: 25 | - LB_PORT=2720 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-720-node___NUM___ 28 | networks: 29 | confluence-cluster-network-720: 30 | aliases: 31 | - confluence-cluster-720-lb 32 | confluence-cluster-720-node1: 33 | image: atlassian/confluence-server:7.2.0-jdk11 34 | container_name: confluence-cluster-720-node1 35 | links: 36 | - confluence-cluster-720-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-720-lb 43 | - ATL_PROXY_PORT=2720 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.2.0/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-720-db 66 | networks: 67 | confluence-cluster-network-720: 68 | aliases: 69 | - confluence-cluster-720-node1 70 | confluence-cluster-720-node2: 71 | image: atlassian/confluence-server:7.2.0-jdk11 72 | container_name: confluence-cluster-720-node2 73 | links: 74 | - confluence-cluster-720-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-720-lb 81 | - ATL_PROXY_PORT=2720 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.2.0/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-720-db 104 | networks: 105 | confluence-cluster-network-720: 106 | aliases: 107 | - confluence-cluster-720-node2 108 | confluence-cluster-720-node3: 109 | image: atlassian/confluence-server:7.2.0-jdk11 110 | container_name: confluence-cluster-720-node3 111 | links: 112 | - confluence-cluster-720-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-720-lb 119 | - ATL_PROXY_PORT=2720 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.2.0/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-720-db 142 | networks: 143 | confluence-cluster-network-720: 144 | aliases: 145 | - confluence-cluster-720-node3 146 | confluence-cluster-720-node4: 147 | image: atlassian/confluence-server:7.2.0-jdk11 148 | container_name: confluence-cluster-720-node4 149 | links: 150 | - confluence-cluster-720-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-720-lb 157 | - ATL_PROXY_PORT=2720 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.2.0/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-720-db 180 | networks: 181 | confluence-cluster-network-720: 182 | aliases: 183 | - confluence-cluster-720-node4 184 | 185 | networks: 186 | confluence-cluster-network-720: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.2.0/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-720-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-720-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-720: 12 | aliases: 13 | - confluence-cluster-720-db 14 | confluence-cluster-720-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-720-lb 17 | links: 18 | - confluence-cluster-720-node1 19 | ports: 20 | - 2720:2720 21 | environment: 22 | - LB_PORT=2720 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-720-node___NUM___ 25 | networks: 26 | confluence-cluster-network-720: 27 | aliases: 28 | - confluence-cluster-720-lb 29 | confluence-cluster-720-node1: 30 | image: atlassian/confluence-server:7.2.0-jdk11 31 | container_name: confluence-cluster-720-node1 32 | links: 33 | - confluence-cluster-720-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-720-lb 40 | - ATL_PROXY_PORT=2720 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.2.0/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-720-db 63 | networks: 64 | confluence-cluster-network-720: 65 | aliases: 66 | - confluence-cluster-720-node1 67 | 68 | 69 | 70 | networks: 71 | confluence-cluster-network-720: 72 | driver: bridge 73 | -------------------------------------------------------------------------------- /versions/7.2.0/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-720-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-720-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-720: 12 | aliases: 13 | - confluence-cluster-720-db 14 | confluence-cluster-720-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-720-lb 17 | links: 18 | - confluence-cluster-720-node1 19 | - confluence-cluster-720-node2 20 | - confluence-cluster-720-node3 21 | ports: 22 | - 2720:2720 23 | environment: 24 | - LB_PORT=2720 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-720-node___NUM___ 27 | networks: 28 | confluence-cluster-network-720: 29 | aliases: 30 | - confluence-cluster-720-lb 31 | confluence-cluster-720-node1: 32 | image: atlassian/confluence-server:7.2.0-jdk11 33 | container_name: confluence-cluster-720-node1 34 | links: 35 | - confluence-cluster-720-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-720-lb 42 | - ATL_PROXY_PORT=2720 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.2.0/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-720-db 65 | networks: 66 | confluence-cluster-network-720: 67 | aliases: 68 | - confluence-cluster-720-node1 69 | confluence-cluster-720-node2: 70 | image: atlassian/confluence-server:7.2.0-jdk11 71 | container_name: confluence-cluster-720-node2 72 | links: 73 | - confluence-cluster-720-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-720-lb 80 | - ATL_PROXY_PORT=2720 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.2.0/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-720-db 103 | networks: 104 | confluence-cluster-network-720: 105 | aliases: 106 | - confluence-cluster-720-node2 107 | confluence-cluster-720-node3: 108 | image: atlassian/confluence-server:7.2.0-jdk11 109 | container_name: confluence-cluster-720-node3 110 | links: 111 | - confluence-cluster-720-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-720-lb 118 | - ATL_PROXY_PORT=2720 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.2.0/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-720-db 141 | networks: 142 | confluence-cluster-network-720: 143 | aliases: 144 | - confluence-cluster-720-node3 145 | 146 | networks: 147 | confluence-cluster-network-720: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.2.0/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-720-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-720-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-720: 12 | aliases: 13 | - confluence-cluster-720-db 14 | confluence-cluster-720-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-720-lb 17 | links: 18 | - confluence-cluster-720-node1 19 | - confluence-cluster-720-node2 20 | ports: 21 | - 2720:2720 22 | environment: 23 | - LB_PORT=2720 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-720-node___NUM___ 26 | networks: 27 | confluence-cluster-network-720: 28 | aliases: 29 | - confluence-cluster-720-lb 30 | confluence-cluster-720-node1: 31 | image: atlassian/confluence-server:7.2.0-jdk11 32 | container_name: confluence-cluster-720-node1 33 | links: 34 | - confluence-cluster-720-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-720-lb 41 | - ATL_PROXY_PORT=2720 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.2.0/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-720-db 64 | networks: 65 | confluence-cluster-network-720: 66 | aliases: 67 | - confluence-cluster-720-node1 68 | confluence-cluster-720-node2: 69 | image: atlassian/confluence-server:7.2.0-jdk11 70 | container_name: confluence-cluster-720-node2 71 | links: 72 | - confluence-cluster-720-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-720-lb 79 | - ATL_PROXY_PORT=2720 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-720-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.2.0/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.2.0/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-720-db 102 | networks: 103 | confluence-cluster-network-720: 104 | aliases: 105 | - confluence-cluster-720-node2 106 | 107 | 108 | networks: 109 | confluence-cluster-network-720: 110 | driver: bridge 111 | -------------------------------------------------------------------------------- /versions/7.3.1/README.md: -------------------------------------------------------------------------------- 1 | # docker-atlassian-confluence-data-center 2 | 3 | > Start an [Atlassian Confluence Data Center](https://de.atlassian.com/enterprise/data-center) with Docker for local testing during plugin development. 4 | 5 | [![](https://codeclou.github.io/docker-atlassian-confluence-data-center/img/github-product-logo-docker-atlassian-confluence.png)](https://github.com/codeclou/docker-atlassian-confluence-data-center) 6 | 7 | ## Version 7.3.1 8 | 9 | It starts a PostgreSQL Database, some Confluence nodes and Apache2 HTTPD as sticky session loadbalancer. The shared confluence-home is handled via a shared Docker volume mounts. 10 | 11 | --- 12 | 13 |   14 | 15 | ### Prerequisites 16 | 17 | - All Docker containers run internally as non-root with fixed UID 10777 and GID 10777. 18 | - The Atlassian Docker container use UID and GID 2001. 19 | - You need Linux or macOS. 20 | - Basic unix-tools like `wc`, `awk`, `curl`, `tr`, `head` and `bash` must be installed. 21 | - Bash 3 or 4 must be installed. 22 | - Latest Docker version must be installed. 23 | - docker-compose must be installed. 24 | 25 | --- 26 | 27 |   28 | 29 | ### Container Composition 30 | 31 |

32 | 33 | --- 34 | 35 |   36 | 37 | ### Initial Configuration 38 | 39 | **(1) Add cluster hostname alias** 40 | 41 | Add the alias on your Docker-Host machine. 42 | 43 | ```bash 44 | sudo su 45 | echo "127.0.0.1 confluence-cluster-731-lb" >> /etc/hosts 46 | ``` 47 | 48 | If you like to work with your cluster from your local network, use the servers public IP instead. 49 | 50 |   51 | 52 | **(2) Enable Network Forwarding (Multicast)** 53 | 54 | Confluence Data Center uses [EHCache Multicast networking features](http://www.ehcache.org/documentation/2.8/replication/rmi-replicated-caching.html). We need to enable IP Forwarding. 55 | 56 | On macOS® you do this with: 57 | 58 | ```bash 59 | sudo sysctl -w net.inet.ip.forwarding=1 60 | ``` 61 | 62 |   63 | 64 | **(3) Create work directories** 65 | 66 | ``` 67 | sudo mkdir -p /opt/confluence-cluster/ 68 | NORMALUSER=$(whoami) 69 | sudo chown $NORMALUSER /opt/confluence-cluster/ 70 | ``` 71 | 72 | **(4) On macOS add /opt/confluence-cluster/ to Docker Settings** 73 | 74 | Under Docker Settings add `/opt/confluence-cluster/` to _File Sharing_ folders 75 | and restart docker. 76 | 77 | --- 78 | 79 |   80 | 81 | ### Usage 82 | 83 | **(1) Start a Confluence Data Center 7.3.1 Cluster** 84 | 85 | ```bash 86 | rm -rf /opt/confluence-cluster/7.3.1 | true 87 | mkdir -p /opt/confluence-cluster/7.3.1 88 | mkdir -p /opt/confluence-cluster/7.3.1/confluence-home-shared 89 | mkdir -p /opt/confluence-cluster/7.3.1/confluence-home-node1 90 | mkdir -p /opt/confluence-cluster/7.3.1/confluence-home-node2 91 | # If on linux fix permissions for volume mounts 92 | # sudo chown 2002:2002 /opt/confluence-cluster/7.3.1/confluence-* 93 | ``` 94 | 95 | Now download the `docker-compose-two-nodes.yml` file which defines the nodes. We use the official [Atlassian Docker Confluence images](https://hub.docker.com/r/atlassian/confluence-server). 96 | 97 | ```bash 98 | cd /opt/confluence-cluster/7.3.1 99 | curl -so docker-compose-one-node.yml \ 100 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 101 | data-center/master/versions/7.3.1/docker-compose-one-node.yml" 102 | 103 | docker-compose -f docker-compose-one-node.yml up --detach 104 | # on linux you might need to run docker with sudo e.g. "sudo docker-compose ..." 105 | 106 | # if some longer HTTP 503, try restarting Loadbalancer 107 | docker-compose -f docker-compose-one-node.yml restart confluence-cluster-731-lb 108 | ``` 109 | 110 | This will start one Confluence Cluster nodes, a loadbalancer and a PostgreSQL database. 111 | 112 |   113 | 114 | **(2) Browse to Confluence** 115 | 116 | - Open a browser to [http://confluence-cluster-731-lb:2731/](http://confluence-cluster-731-lb:2731/) 117 | - It might take several minutes for the cluster to fully start up. 118 | 119 |   120 | 121 | **(3) Check Containers** 122 | 123 | Check if all containers have started with: 124 | 125 | ```bash 126 | docker ps 127 | ``` 128 | 129 | Should show something like: 130 | 131 | ``` 132 | CONTAINER ID IMAGE COMMAND PORTS NAMES 133 | 15ed1263c551 loadbalancer:v2 "/work-private/docke…" 0.0.0.0:2731->2731/tcp confluence-cluster-731-lb 134 | 2994d0d680ad atlassian/confluence-server:7.3.1 "/tini -- /entrypoin…" 8080/tcp confluence-cluster-731-node1 135 | 572fcaf9f669 postgres:9.6 "docker-entrypoint.s…" 5432/tcp confluence-cluster-731-db 136 | ``` 137 | 138 | You can check the logs of all containers by calling e.g.: 139 | 140 | ```bash 141 | docker-compose -f docker-compose-two-nodes.yml logs 142 | ``` 143 | 144 |   145 | 146 | **(4) Start Post Configuration** 147 | 148 | Once the cluster is fully started up, you need to configure Confluence in the browser. 149 | 150 | Go to **[http://confluence-cluster-731-lb:2731/](http://confluence-cluster-731-lb:2731/)** and make sure you enabled cookies (sticky session). 151 | 152 | Wait for Confluence to start up - simply reload the cluster startup page after some minutes. 153 | 154 |

155 | 156 | Use a Data Center license. Either an Evaluation License or a [Timebomb License](https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/). 157 | 158 |

159 | 160 | Use multicast and the `230.0.0.1` address for cluster setup. 161 | 162 |

163 | 164 | Then load an empty site. 165 | 166 |

167 | 168 | Select manage users within Confluence. 169 | 170 |

171 | 172 | Setup your admin account. Usually username `admin` and password `admin`. 173 | 174 |

175 | 176 | Finish setup. 177 | 178 |

179 | 180 |   181 | 182 | Use the [Jira Data Center Health Check Tools](https://confluence.atlassian.com/enterprise/jira-data-center-health-check-tools-644580752.html) 183 | to check the Health of each cluster node. `System` → `Troubleshooting and support Tools` → `Instance Health` tab. When using the 3 hour timebomb license, 184 | the license warning can be ignored. 185 | 186 |

187 | 188 |   189 | 190 | Now you should see one Cluster node as active under `System` → `System Info` → `Cluster Nodes`. We will add a second node now. 191 | 192 |   193 | 194 | **(5) Scale Up Cluster - Add Confluence Nodes** 195 | 196 | Now scale the cluster up to two nodes. 197 | 198 | ``` 199 | curl -so docker-compose-two-nodes.yml \ 200 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 201 | data-center/master/versions/7.3.1/docker-compose-two-nodes.yml" 202 | 203 | docker-compose -f docker-compose-two-nodes.yml up -d 204 | docker-compose -f docker-compose-two-nodes.yml restart confluence-cluster-731-lb 205 | ``` 206 | 207 | Now wait a little and again goto `System` → `System Info` → `Cluster Nodes`. There should now be both nodes active. 208 | 209 |

210 | 211 |   212 | 213 | To add more nodes do: 214 | 215 | ```bash 216 | cd /opt/confluence-cluster/7.3.1 217 | mkdir -p /opt/confluence-cluster/7.3.1/confluence-home-node3 218 | mkdir -p /opt/confluence-cluster/7.3.1/confluence-home-node4 219 | # If on linux fix permissions for volume mounts 220 | # sudo chown 2002:2002 /opt/confluence-cluster/7.3.1/confluence-* 221 | ``` 222 | 223 | Now scale the cluster up to three nodes. 224 | 225 | ``` 226 | curl -so docker-compose-three-nodes.yml \ 227 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 228 | data-center/master/versions/7.3.1/docker-compose-three-nodes.yml" 229 | 230 | docker-compose -f docker-compose-three-nodes.yml up -d 231 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-731-lb 232 | ``` 233 | 234 | Or even scale up to four nodes. 235 | 236 | ``` 237 | curl -so docker-compose-four-nodes.yml \ 238 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 239 | data-center/master/versions/7.3.1/docker-compose-four-nodes.yml" 240 | 241 | docker-compose -f docker-compose-four-nodes.yml up -d 242 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-731-lb 243 | ``` 244 | 245 | To check call this multiple times, and it should output the different node ids after some time 246 | 247 | ``` 248 | curl -I -s http://confluence-cluster-731-lb:2731 | grep ROUTEID 249 | ``` 250 | 251 |   252 | 253 | **(6) Shutting down the cluster** 254 | 255 | ```bash 256 | cd /opt/confluence-cluster/7.3.1 257 | docker-compose -f docker-compose-two-nodes.yml down 258 | ``` 259 | 260 | This will kill and remove all instances. 261 | 262 | --- 263 | 264 |   265 | 266 | **Running with ufw and iptables on Ubuntu** 267 | 268 | If you run docker on ubuntu behind UFW and started docker with `--iptables=false` then you 269 | need to enable Postrouting in `/etc/ufw/before.rules` for the network. 270 | 271 | Use `docker network list` to get Network-ID which is then `br-NETWORK-ID` under ifconfig, where you get the network range in my case 172.18.0.0. 272 | 273 | ``` 274 | *nat 275 | :POSTROUTING ACCEPT [0:0] 276 | #... 277 | # DOCKER confluence-cluster-731 network 278 | -A POSTROUTING ! -o br-8a831390552b -s 172.18.0.0/16 -j MASQUERADE 279 | #... 280 | COMMIT 281 | ``` 282 | 283 |   284 | 285 | --- 286 | 287 |   288 | 289 | ### Compatibility 290 | 291 | Tested under the following Operating Systems: 292 | 293 | - Ubuntu 16.04 64 Bit Server 294 | - Docker version 17.03.0-ce, build 60ccb22 295 | - GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu) 296 | - OS X El Capitan 297 | - Docker version 17.03.0-ce, build 60ccb22 298 | - GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15) 299 | 300 | Not tested and not compatible under the following Operating Systems: 301 | 302 | - Microsoft Windows 303 | 304 | --- 305 | 306 |   307 | 308 | ### Trademarks and Third Party Licenses 309 | 310 | - **Atlassian Jira Sofware** 311 | - Atlassian®, Jira, Jira Software are registered [trademarks of Atlassian Pty Ltd](https://de.atlassian.com/legal/trademark). 312 | - Please check yourself for corresponding Licenses and Terms of Use at [atlassian.com](https://atlassian.com). 313 | - **Oracle Java** 314 | - Oracle, OpenJDK and Java are registered [trademarks of Oracle](https://www.oracle.com/legal/trademarks.html) and/or its affiliates. Other names may be trademarks of their respective owners. 315 | - Please check yourself for corresponding Licenses and Terms of Use at [www.oracle.com](https://www.oracle.com/). 316 | - **Docker** 317 | - Docker and the Docker logo are trademarks or registered [trademarks of Docker](https://www.docker.com/trademark-guidelines), Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. 318 | - Please check yourself for corresponding Licenses and Terms of Use at [www.docker.com](https://www.docker.com/). 319 | - **PostgreSQL** 320 | - PostgreSQL is a [registered trademark of the PostgreSQL Community Association of Canada](https://wiki.postgresql.org/wiki/Trademark_Policy). 321 | - Please check yourself for corresponding Licenses and Terms of Use at [www.postgresql.org](https://www.postgresql.org/). 322 | - **Ubuntu** 323 | - Ubuntu and Canonical are registered [trademarks of Canonical Ltd.](https://www.ubuntu.com/legal/short-terms) 324 | - **Apple** 325 | - macOS®, Mac and OS X are [trademarks of Apple Inc.](http://www.apple.com/legal/intellectual-property/trademark/appletmlist.html), registered in the U.S. and other countries. 326 | 327 | --- 328 | 329 |   330 | 331 | ### License 332 | 333 | [MIT](./LICENSE) © [Bernhard Grünewaldt](https://github.com/clouless) 334 | -------------------------------------------------------------------------------- /versions/7.3.1/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-731-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-731-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-731: 12 | aliases: 13 | - confluence-cluster-731-db 14 | confluence-cluster-731-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-731-lb 17 | links: 18 | - confluence-cluster-731-node1 19 | - confluence-cluster-731-node2 20 | - confluence-cluster-731-node3 21 | - confluence-cluster-731-node4 22 | ports: 23 | - 2731:2731 24 | environment: 25 | - LB_PORT=2731 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-731-node___NUM___ 28 | networks: 29 | confluence-cluster-network-731: 30 | aliases: 31 | - confluence-cluster-731-lb 32 | confluence-cluster-731-node1: 33 | image: atlassian/confluence-server:7.3.1-jdk11 34 | container_name: confluence-cluster-731-node1 35 | links: 36 | - confluence-cluster-731-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-731-lb 43 | - ATL_PROXY_PORT=2731 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.3.1/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-731-db 66 | networks: 67 | confluence-cluster-network-731: 68 | aliases: 69 | - confluence-cluster-731-node1 70 | confluence-cluster-731-node2: 71 | image: atlassian/confluence-server:7.3.1-jdk11 72 | container_name: confluence-cluster-731-node2 73 | links: 74 | - confluence-cluster-731-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-731-lb 81 | - ATL_PROXY_PORT=2731 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.3.1/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-731-db 104 | networks: 105 | confluence-cluster-network-731: 106 | aliases: 107 | - confluence-cluster-731-node2 108 | confluence-cluster-731-node3: 109 | image: atlassian/confluence-server:7.3.1-jdk11 110 | container_name: confluence-cluster-731-node3 111 | links: 112 | - confluence-cluster-731-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-731-lb 119 | - ATL_PROXY_PORT=2731 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.3.1/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-731-db 142 | networks: 143 | confluence-cluster-network-731: 144 | aliases: 145 | - confluence-cluster-731-node3 146 | confluence-cluster-731-node4: 147 | image: atlassian/confluence-server:7.3.1-jdk11 148 | container_name: confluence-cluster-731-node4 149 | links: 150 | - confluence-cluster-731-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-731-lb 157 | - ATL_PROXY_PORT=2731 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.3.1/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-731-db 180 | networks: 181 | confluence-cluster-network-731: 182 | aliases: 183 | - confluence-cluster-731-node4 184 | 185 | networks: 186 | confluence-cluster-network-731: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.3.1/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-731-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-731-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-731: 12 | aliases: 13 | - confluence-cluster-731-db 14 | confluence-cluster-731-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-731-lb 17 | links: 18 | - confluence-cluster-731-node1 19 | ports: 20 | - 2731:2731 21 | environment: 22 | - LB_PORT=2731 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-731-node___NUM___ 25 | networks: 26 | confluence-cluster-network-731: 27 | aliases: 28 | - confluence-cluster-731-lb 29 | confluence-cluster-731-node1: 30 | image: atlassian/confluence-server:7.3.1-jdk11 31 | container_name: confluence-cluster-731-node1 32 | links: 33 | - confluence-cluster-731-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-731-lb 40 | - ATL_PROXY_PORT=2731 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.3.1/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-731-db 63 | networks: 64 | confluence-cluster-network-731: 65 | aliases: 66 | - confluence-cluster-731-node1 67 | 68 | 69 | 70 | networks: 71 | confluence-cluster-network-731: 72 | driver: bridge 73 | -------------------------------------------------------------------------------- /versions/7.3.1/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-731-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-731-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-731: 12 | aliases: 13 | - confluence-cluster-731-db 14 | confluence-cluster-731-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-731-lb 17 | links: 18 | - confluence-cluster-731-node1 19 | - confluence-cluster-731-node2 20 | - confluence-cluster-731-node3 21 | ports: 22 | - 2731:2731 23 | environment: 24 | - LB_PORT=2731 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-731-node___NUM___ 27 | networks: 28 | confluence-cluster-network-731: 29 | aliases: 30 | - confluence-cluster-731-lb 31 | confluence-cluster-731-node1: 32 | image: atlassian/confluence-server:7.3.1-jdk11 33 | container_name: confluence-cluster-731-node1 34 | links: 35 | - confluence-cluster-731-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-731-lb 42 | - ATL_PROXY_PORT=2731 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.3.1/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-731-db 65 | networks: 66 | confluence-cluster-network-731: 67 | aliases: 68 | - confluence-cluster-731-node1 69 | confluence-cluster-731-node2: 70 | image: atlassian/confluence-server:7.3.1-jdk11 71 | container_name: confluence-cluster-731-node2 72 | links: 73 | - confluence-cluster-731-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-731-lb 80 | - ATL_PROXY_PORT=2731 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.3.1/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-731-db 103 | networks: 104 | confluence-cluster-network-731: 105 | aliases: 106 | - confluence-cluster-731-node2 107 | confluence-cluster-731-node3: 108 | image: atlassian/confluence-server:7.3.1-jdk11 109 | container_name: confluence-cluster-731-node3 110 | links: 111 | - confluence-cluster-731-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-731-lb 118 | - ATL_PROXY_PORT=2731 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.3.1/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-731-db 141 | networks: 142 | confluence-cluster-network-731: 143 | aliases: 144 | - confluence-cluster-731-node3 145 | 146 | networks: 147 | confluence-cluster-network-731: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.3.1/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-731-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-731-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-731: 12 | aliases: 13 | - confluence-cluster-731-db 14 | confluence-cluster-731-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-731-lb 17 | links: 18 | - confluence-cluster-731-node1 19 | - confluence-cluster-731-node2 20 | ports: 21 | - 2731:2731 22 | environment: 23 | - LB_PORT=2731 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-731-node___NUM___ 26 | networks: 27 | confluence-cluster-network-731: 28 | aliases: 29 | - confluence-cluster-731-lb 30 | confluence-cluster-731-node1: 31 | image: atlassian/confluence-server:7.3.1-jdk11 32 | container_name: confluence-cluster-731-node1 33 | links: 34 | - confluence-cluster-731-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-731-lb 41 | - ATL_PROXY_PORT=2731 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.3.1/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-731-db 64 | networks: 65 | confluence-cluster-network-731: 66 | aliases: 67 | - confluence-cluster-731-node1 68 | confluence-cluster-731-node2: 69 | image: atlassian/confluence-server:7.3.1-jdk11 70 | container_name: confluence-cluster-731-node2 71 | links: 72 | - confluence-cluster-731-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-731-lb 79 | - ATL_PROXY_PORT=2731 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-731-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.3.1/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.3.1/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-731-db 102 | networks: 103 | confluence-cluster-network-731: 104 | aliases: 105 | - confluence-cluster-731-node2 106 | 107 | 108 | networks: 109 | confluence-cluster-network-731: 110 | driver: bridge 111 | -------------------------------------------------------------------------------- /versions/7.4.0/README.md: -------------------------------------------------------------------------------- 1 | # docker-atlassian-confluence-data-center 2 | 3 | > Start an [Atlassian Confluence Data Center](https://de.atlassian.com/enterprise/data-center) with Docker for local testing during plugin development. 4 | 5 | [![](https://codeclou.github.io/docker-atlassian-confluence-data-center/img/github-product-logo-docker-atlassian-confluence.png)](https://github.com/codeclou/docker-atlassian-confluence-data-center) 6 | 7 | ## Version 7.4.0 8 | 9 | It starts a PostgreSQL Database, some Confluence nodes and Apache2 HTTPD as sticky session loadbalancer. The shared confluence-home is handled via a shared Docker volume mounts. 10 | 11 | --- 12 | 13 |   14 | 15 | ### Prerequisites 16 | 17 | - All Docker containers run internally as non-root with fixed UID 10777 and GID 10777. 18 | - The Atlassian Docker container use UID and GID 2001. 19 | - You need Linux or macOS. 20 | - Basic unix-tools like `wc`, `awk`, `curl`, `tr`, `head` and `bash` must be installed. 21 | - Bash 3 or 4 must be installed. 22 | - Latest Docker version must be installed. 23 | - docker-compose must be installed. 24 | 25 | --- 26 | 27 |   28 | 29 | ### Container Composition 30 | 31 |

32 | 33 | --- 34 | 35 |   36 | 37 | ### Initial Configuration 38 | 39 | **(1) Add cluster hostname alias** 40 | 41 | Add the alias on your Docker-Host machine. 42 | 43 | ```bash 44 | sudo su 45 | echo "127.0.0.1 confluence-cluster-740-lb" >> /etc/hosts 46 | ``` 47 | 48 | If you like to work with your cluster from your local network, use the servers public IP instead. 49 | 50 |   51 | 52 | **(2) Enable Network Forwarding (Multicast)** 53 | 54 | Confluence Data Center uses [EHCache Multicast networking features](http://www.ehcache.org/documentation/2.8/replication/rmi-replicated-caching.html). We need to enable IP Forwarding. 55 | 56 | On macOS® you do this with: 57 | 58 | ```bash 59 | sudo sysctl -w net.inet.ip.forwarding=1 60 | ``` 61 | 62 |   63 | 64 | **(3) Create work directories** 65 | 66 | ``` 67 | sudo mkdir -p /opt/confluence-cluster/ 68 | NORMALUSER=$(whoami) 69 | sudo chown $NORMALUSER /opt/confluence-cluster/ 70 | ``` 71 | 72 | **(4) On macOS add /opt/confluence-cluster/ to Docker Settings** 73 | 74 | Under Docker Settings add `/opt/confluence-cluster/` to _File Sharing_ folders 75 | and restart docker. 76 | 77 | --- 78 | 79 |   80 | 81 | ### Usage 82 | 83 | **(1) Start a Confluence Data Center 7.4.0 Cluster** 84 | 85 | ```bash 86 | rm -rf /opt/confluence-cluster/7.4.0 | true 87 | mkdir -p /opt/confluence-cluster/7.4.0 88 | mkdir -p /opt/confluence-cluster/7.4.0/confluence-home-shared 89 | mkdir -p /opt/confluence-cluster/7.4.0/confluence-home-node1 90 | mkdir -p /opt/confluence-cluster/7.4.0/confluence-home-node2 91 | # If on linux fix permissions for volume mounts 92 | # sudo chown 2002:2002 /opt/confluence-cluster/7.4.0/confluence-* 93 | ``` 94 | 95 | Now download the `docker-compose-two-nodes.yml` file which defines the nodes. We use the official [Atlassian Docker Confluence images](https://hub.docker.com/r/atlassian/confluence-server). 96 | 97 | ```bash 98 | cd /opt/confluence-cluster/7.4.0 99 | curl -so docker-compose-one-node.yml \ 100 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 101 | data-center/master/versions/7.4.0/docker-compose-one-node.yml" 102 | 103 | docker-compose -f docker-compose-one-node.yml up --detach 104 | # on linux you might need to run docker with sudo e.g. "sudo docker-compose ..." 105 | 106 | # if some longer HTTP 503, try restarting Loadbalancer 107 | docker-compose -f docker-compose-one-node.yml restart confluence-cluster-740-lb 108 | ``` 109 | 110 | This will start one Confluence Cluster nodes, a loadbalancer and a PostgreSQL database. 111 | 112 |   113 | 114 | **(2) Browse to Confluence** 115 | 116 | - Open a browser to [http://confluence-cluster-740-lb:2740/](http://confluence-cluster-740-lb:2740/) 117 | - It might take several minutes for the cluster to fully start up. 118 | 119 |   120 | 121 | **(3) Check Containers** 122 | 123 | Check if all containers have started with: 124 | 125 | ```bash 126 | docker ps 127 | ``` 128 | 129 | Should show something like: 130 | 131 | ``` 132 | CONTAINER ID IMAGE COMMAND PORTS NAMES 133 | 15ed1263c551 loadbalancer:v2 "/work-private/docke…" 0.0.0.0:2740->2740/tcp confluence-cluster-740-lb 134 | 2994d0d680ad atlassian/confluence-server:7.4.0 "/tini -- /entrypoin…" 8080/tcp confluence-cluster-740-node1 135 | 572fcaf9f669 postgres:9.6 "docker-entrypoint.s…" 5432/tcp confluence-cluster-740-db 136 | ``` 137 | 138 | You can check the logs of all containers by calling e.g.: 139 | 140 | ```bash 141 | docker-compose -f docker-compose-two-nodes.yml logs 142 | ``` 143 | 144 |   145 | 146 | **(4) Start Post Configuration** 147 | 148 | Once the cluster is fully started up, you need to configure Confluence in the browser. 149 | 150 | Go to **[http://confluence-cluster-740-lb:2740/](http://confluence-cluster-740-lb:2740/)** and make sure you enabled cookies (sticky session). 151 | 152 | Wait for Confluence to start up - simply reload the cluster startup page after some minutes. 153 | 154 |

155 | 156 | Use a Data Center license. Either an Evaluation License or a [Timebomb License](https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/). 157 | 158 |

159 | 160 | Use multicast and the `230.0.0.1` address for cluster setup. 161 | 162 |

163 | 164 | Then load an empty site. 165 | 166 |

167 | 168 | Select manage users within Confluence. 169 | 170 |

171 | 172 | Setup your admin account. Usually username `admin` and password `admin`. 173 | 174 |

175 | 176 | Finish setup. 177 | 178 |

179 | 180 |   181 | 182 | Use the [Jira Data Center Health Check Tools](https://confluence.atlassian.com/enterprise/jira-data-center-health-check-tools-644580752.html) 183 | to check the Health of each cluster node. `System` → `Troubleshooting and support Tools` → `Instance Health` tab. When using the 3 hour timebomb license, 184 | the license warning can be ignored. 185 | 186 |

187 | 188 |   189 | 190 | Now you should see one Cluster node as active under `System` → `System Info` → `Cluster Nodes`. We will add a second node now. 191 | 192 |   193 | 194 | **(5) Scale Up Cluster - Add Confluence Nodes** 195 | 196 | Now scale the cluster up to two nodes. 197 | 198 | ``` 199 | curl -so docker-compose-two-nodes.yml \ 200 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 201 | data-center/master/versions/7.4.0/docker-compose-two-nodes.yml" 202 | 203 | docker-compose -f docker-compose-two-nodes.yml up -d 204 | docker-compose -f docker-compose-two-nodes.yml restart confluence-cluster-740-lb 205 | ``` 206 | 207 | Now wait a little and again goto `System` → `System Info` → `Cluster Nodes`. There should now be both nodes active. 208 | 209 |

210 | 211 |   212 | 213 | To add more nodes do: 214 | 215 | ```bash 216 | cd /opt/confluence-cluster/7.4.0 217 | mkdir -p /opt/confluence-cluster/7.4.0/confluence-home-node3 218 | mkdir -p /opt/confluence-cluster/7.4.0/confluence-home-node4 219 | # If on linux fix permissions for volume mounts 220 | # sudo chown 2002:2002 /opt/confluence-cluster/7.4.0/confluence-* 221 | ``` 222 | 223 | Now scale the cluster up to three nodes. 224 | 225 | ``` 226 | curl -so docker-compose-three-nodes.yml \ 227 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 228 | data-center/master/versions/7.4.0/docker-compose-three-nodes.yml" 229 | 230 | docker-compose -f docker-compose-three-nodes.yml up -d 231 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-740-lb 232 | ``` 233 | 234 | Or even scale up to four nodes. 235 | 236 | ``` 237 | curl -so docker-compose-four-nodes.yml \ 238 | "https://raw.githubusercontent.com/codeclou/docker-atlassian-confluence-\ 239 | data-center/master/versions/7.4.0/docker-compose-four-nodes.yml" 240 | 241 | docker-compose -f docker-compose-four-nodes.yml up -d 242 | docker-compose -f docker-compose-three-nodes.yml restart confluence-cluster-740-lb 243 | ``` 244 | 245 | To check call this multiple times, and it should output the different node ids after some time 246 | 247 | ``` 248 | curl -I -s http://confluence-cluster-740-lb:2740 | grep ROUTEID 249 | ``` 250 | 251 |   252 | 253 | **(6) Shutting down the cluster** 254 | 255 | ```bash 256 | cd /opt/confluence-cluster/7.4.0 257 | docker-compose -f docker-compose-two-nodes.yml down 258 | ``` 259 | 260 | This will kill and remove all instances. 261 | 262 | --- 263 | 264 |   265 | 266 | **Running with ufw and iptables on Ubuntu** 267 | 268 | If you run docker on ubuntu behind UFW and started docker with `--iptables=false` then you 269 | need to enable Postrouting in `/etc/ufw/before.rules` for the network. 270 | 271 | Use `docker network list` to get Network-ID which is then `br-NETWORK-ID` under ifconfig, where you get the network range in my case 172.18.0.0. 272 | 273 | ``` 274 | *nat 275 | :POSTROUTING ACCEPT [0:0] 276 | #... 277 | # DOCKER confluence-cluster-740 network 278 | -A POSTROUTING ! -o br-8a831390552b -s 172.18.0.0/16 -j MASQUERADE 279 | #... 280 | COMMIT 281 | ``` 282 | 283 |   284 | 285 | --- 286 | 287 |   288 | 289 | ### Compatibility 290 | 291 | Tested under the following Operating Systems: 292 | 293 | - Ubuntu 16.04 64 Bit Server 294 | - Docker version 17.03.0-ce, build 60ccb22 295 | - GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu) 296 | - OS X El Capitan 297 | - Docker version 17.03.0-ce, build 60ccb22 298 | - GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15) 299 | 300 | Not tested and not compatible under the following Operating Systems: 301 | 302 | - Microsoft Windows 303 | 304 | --- 305 | 306 |   307 | 308 | ### Trademarks and Third Party Licenses 309 | 310 | - **Atlassian Jira Sofware** 311 | - Atlassian®, Jira, Jira Software are registered [trademarks of Atlassian Pty Ltd](https://de.atlassian.com/legal/trademark). 312 | - Please check yourself for corresponding Licenses and Terms of Use at [atlassian.com](https://atlassian.com). 313 | - **Oracle Java** 314 | - Oracle, OpenJDK and Java are registered [trademarks of Oracle](https://www.oracle.com/legal/trademarks.html) and/or its affiliates. Other names may be trademarks of their respective owners. 315 | - Please check yourself for corresponding Licenses and Terms of Use at [www.oracle.com](https://www.oracle.com/). 316 | - **Docker** 317 | - Docker and the Docker logo are trademarks or registered [trademarks of Docker](https://www.docker.com/trademark-guidelines), Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. 318 | - Please check yourself for corresponding Licenses and Terms of Use at [www.docker.com](https://www.docker.com/). 319 | - **PostgreSQL** 320 | - PostgreSQL is a [registered trademark of the PostgreSQL Community Association of Canada](https://wiki.postgresql.org/wiki/Trademark_Policy). 321 | - Please check yourself for corresponding Licenses and Terms of Use at [www.postgresql.org](https://www.postgresql.org/). 322 | - **Ubuntu** 323 | - Ubuntu and Canonical are registered [trademarks of Canonical Ltd.](https://www.ubuntu.com/legal/short-terms) 324 | - **Apple** 325 | - macOS®, Mac and OS X are [trademarks of Apple Inc.](http://www.apple.com/legal/intellectual-property/trademark/appletmlist.html), registered in the U.S. and other countries. 326 | 327 | --- 328 | 329 |   330 | 331 | ### License 332 | 333 | [MIT](./LICENSE) © [Bernhard Grünewaldt](https://github.com/clouless) 334 | -------------------------------------------------------------------------------- /versions/7.4.0/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-740-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-740-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-740: 12 | aliases: 13 | - confluence-cluster-740-db 14 | confluence-cluster-740-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-740-lb 17 | links: 18 | - confluence-cluster-740-node1 19 | - confluence-cluster-740-node2 20 | - confluence-cluster-740-node3 21 | - confluence-cluster-740-node4 22 | ports: 23 | - 2740:2740 24 | environment: 25 | - LB_PORT=2740 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-740-node___NUM___ 28 | networks: 29 | confluence-cluster-network-740: 30 | aliases: 31 | - confluence-cluster-740-lb 32 | confluence-cluster-740-node1: 33 | image: atlassian/confluence-server:7.4.0-jdk11 34 | container_name: confluence-cluster-740-node1 35 | links: 36 | - confluence-cluster-740-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-740-lb 43 | - ATL_PROXY_PORT=2740 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.4.0/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-740-db 66 | networks: 67 | confluence-cluster-network-740: 68 | aliases: 69 | - confluence-cluster-740-node1 70 | confluence-cluster-740-node2: 71 | image: atlassian/confluence-server:7.4.0-jdk11 72 | container_name: confluence-cluster-740-node2 73 | links: 74 | - confluence-cluster-740-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-740-lb 81 | - ATL_PROXY_PORT=2740 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.4.0/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-740-db 104 | networks: 105 | confluence-cluster-network-740: 106 | aliases: 107 | - confluence-cluster-740-node2 108 | confluence-cluster-740-node3: 109 | image: atlassian/confluence-server:7.4.0-jdk11 110 | container_name: confluence-cluster-740-node3 111 | links: 112 | - confluence-cluster-740-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-740-lb 119 | - ATL_PROXY_PORT=2740 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.4.0/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-740-db 142 | networks: 143 | confluence-cluster-network-740: 144 | aliases: 145 | - confluence-cluster-740-node3 146 | confluence-cluster-740-node4: 147 | image: atlassian/confluence-server:7.4.0-jdk11 148 | container_name: confluence-cluster-740-node4 149 | links: 150 | - confluence-cluster-740-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-740-lb 157 | - ATL_PROXY_PORT=2740 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.4.0/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-740-db 180 | networks: 181 | confluence-cluster-network-740: 182 | aliases: 183 | - confluence-cluster-740-node4 184 | 185 | networks: 186 | confluence-cluster-network-740: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.4.0/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-740-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-740-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-740: 12 | aliases: 13 | - confluence-cluster-740-db 14 | confluence-cluster-740-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-740-lb 17 | links: 18 | - confluence-cluster-740-node1 19 | ports: 20 | - 2740:2740 21 | environment: 22 | - LB_PORT=2740 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-740-node___NUM___ 25 | networks: 26 | confluence-cluster-network-740: 27 | aliases: 28 | - confluence-cluster-740-lb 29 | confluence-cluster-740-node1: 30 | image: atlassian/confluence-server:7.4.0-jdk11 31 | container_name: confluence-cluster-740-node1 32 | links: 33 | - confluence-cluster-740-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-740-lb 40 | - ATL_PROXY_PORT=2740 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.4.0/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-740-db 63 | networks: 64 | confluence-cluster-network-740: 65 | aliases: 66 | - confluence-cluster-740-node1 67 | 68 | 69 | 70 | networks: 71 | confluence-cluster-network-740: 72 | driver: bridge 73 | -------------------------------------------------------------------------------- /versions/7.4.0/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-740-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-740-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-740: 12 | aliases: 13 | - confluence-cluster-740-db 14 | confluence-cluster-740-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-740-lb 17 | links: 18 | - confluence-cluster-740-node1 19 | - confluence-cluster-740-node2 20 | - confluence-cluster-740-node3 21 | ports: 22 | - 2740:2740 23 | environment: 24 | - LB_PORT=2740 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-740-node___NUM___ 27 | networks: 28 | confluence-cluster-network-740: 29 | aliases: 30 | - confluence-cluster-740-lb 31 | confluence-cluster-740-node1: 32 | image: atlassian/confluence-server:7.4.0-jdk11 33 | container_name: confluence-cluster-740-node1 34 | links: 35 | - confluence-cluster-740-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-740-lb 42 | - ATL_PROXY_PORT=2740 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.4.0/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-740-db 65 | networks: 66 | confluence-cluster-network-740: 67 | aliases: 68 | - confluence-cluster-740-node1 69 | confluence-cluster-740-node2: 70 | image: atlassian/confluence-server:7.4.0-jdk11 71 | container_name: confluence-cluster-740-node2 72 | links: 73 | - confluence-cluster-740-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-740-lb 80 | - ATL_PROXY_PORT=2740 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.4.0/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-740-db 103 | networks: 104 | confluence-cluster-network-740: 105 | aliases: 106 | - confluence-cluster-740-node2 107 | confluence-cluster-740-node3: 108 | image: atlassian/confluence-server:7.4.0-jdk11 109 | container_name: confluence-cluster-740-node3 110 | links: 111 | - confluence-cluster-740-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-740-lb 118 | - ATL_PROXY_PORT=2740 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.4.0/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-740-db 141 | networks: 142 | confluence-cluster-network-740: 143 | aliases: 144 | - confluence-cluster-740-node3 145 | 146 | networks: 147 | confluence-cluster-network-740: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.4.0/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: '3.2' 2 | services: 3 | confluence-cluster-740-db: 4 | image: postgres:9.6 5 | container_name: confluence-cluster-740-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-740: 12 | aliases: 13 | - confluence-cluster-740-db 14 | confluence-cluster-740-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-740-lb 17 | links: 18 | - confluence-cluster-740-node1 19 | - confluence-cluster-740-node2 20 | ports: 21 | - 2740:2740 22 | environment: 23 | - LB_PORT=2740 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-740-node___NUM___ 26 | networks: 27 | confluence-cluster-network-740: 28 | aliases: 29 | - confluence-cluster-740-lb 30 | confluence-cluster-740-node1: 31 | image: atlassian/confluence-server:7.4.0-jdk11 32 | container_name: confluence-cluster-740-node1 33 | links: 34 | - confluence-cluster-740-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-740-lb 41 | - ATL_PROXY_PORT=2740 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.4.0/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-740-db 64 | networks: 65 | confluence-cluster-network-740: 66 | aliases: 67 | - confluence-cluster-740-node1 68 | confluence-cluster-740-node2: 69 | image: atlassian/confluence-server:7.4.0-jdk11 70 | container_name: confluence-cluster-740-node2 71 | links: 72 | - confluence-cluster-740-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-740-lb 79 | - ATL_PROXY_PORT=2740 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-740-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.4.0/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.4.0/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-740-db 102 | networks: 103 | confluence-cluster-network-740: 104 | aliases: 105 | - confluence-cluster-740-node2 106 | 107 | 108 | networks: 109 | confluence-cluster-network-740: 110 | driver: bridge 111 | -------------------------------------------------------------------------------- /versions/7.5.0/docker-compose-four-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-750-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-750-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-750: 12 | aliases: 13 | - confluence-cluster-750-db 14 | confluence-cluster-750-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-750-lb 17 | links: 18 | - confluence-cluster-750-node1 19 | - confluence-cluster-750-node2 20 | - confluence-cluster-750-node3 21 | - confluence-cluster-750-node4 22 | ports: 23 | - 2750:2750 24 | environment: 25 | - LB_PORT=2750 26 | - NODES=4 27 | - NODES_NAME_SCHEMA=confluence-cluster-750-node___NUM___ 28 | networks: 29 | confluence-cluster-network-750: 30 | aliases: 31 | - confluence-cluster-750-lb 32 | confluence-cluster-750-node1: 33 | image: atlassian/confluence-server:7.5.0-jdk11 34 | container_name: confluence-cluster-750-node1 35 | links: 36 | - confluence-cluster-750-db 37 | environment: 38 | # Memory / Heap Size 39 | - JVM_MINIMUM_MEMORY=512M 40 | - JVM_MAXIMUM_MEMORY=2048M 41 | # Reverse Proxy Settings 42 | - ATL_PROXY_NAME=confluence-cluster-750-lb 43 | - ATL_PROXY_PORT=2750 44 | # Database 45 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 46 | - ATL_JDBC_USER=confluence 47 | - ATL_JDBC_PASSWORD=confluence 48 | - ATL_DB_TYPE=postgresql 49 | # Data Center configuration 50 | - ATL_CLUSTER_TYPE=multicast 51 | - ATL_CLUSTER_NAME=confluence-cluster 52 | - ATL_CLUSTER_ADDRESS=230.0.0.1 53 | - ATL_CLUSTER_TTL=32 54 | # Home Directories 55 | - CONFLUENCE_HOME=/opt/confluence-home 56 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 57 | volumes: 58 | - type: bind 59 | source: /opt/confluence-cluster/7.5.0/confluence-home-node1 60 | target: /opt/confluence-home 61 | - type: bind 62 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 63 | target: /opt/confluence-home-shared 64 | depends_on: 65 | - confluence-cluster-750-db 66 | networks: 67 | confluence-cluster-network-750: 68 | aliases: 69 | - confluence-cluster-750-node1 70 | confluence-cluster-750-node2: 71 | image: atlassian/confluence-server:7.5.0-jdk11 72 | container_name: confluence-cluster-750-node2 73 | links: 74 | - confluence-cluster-750-db 75 | environment: 76 | # Memory / Heap Size 77 | - JVM_MINIMUM_MEMORY=512M 78 | - JVM_MAXIMUM_MEMORY=2048M 79 | # Reverse Proxy Settings 80 | - ATL_PROXY_NAME=confluence-cluster-750-lb 81 | - ATL_PROXY_PORT=2750 82 | # Database 83 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 84 | - ATL_JDBC_USER=confluence 85 | - ATL_JDBC_PASSWORD=confluence 86 | - ATL_DB_TYPE=postgresql 87 | # Data Center configuration 88 | - ATL_CLUSTER_TYPE=multicast 89 | - ATL_CLUSTER_NAME=confluence-cluster 90 | - ATL_CLUSTER_ADDRESS=230.0.0.1 91 | - ATL_CLUSTER_TTL=32 92 | # Home Directories 93 | - CONFLUENCE_HOME=/opt/confluence-home 94 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 95 | volumes: 96 | - type: bind 97 | source: /opt/confluence-cluster/7.5.0/confluence-home-node2 98 | target: /opt/confluence-home 99 | - type: bind 100 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 101 | target: /opt/confluence-home-shared 102 | depends_on: 103 | - confluence-cluster-750-db 104 | networks: 105 | confluence-cluster-network-750: 106 | aliases: 107 | - confluence-cluster-750-node2 108 | confluence-cluster-750-node3: 109 | image: atlassian/confluence-server:7.5.0-jdk11 110 | container_name: confluence-cluster-750-node3 111 | links: 112 | - confluence-cluster-750-db 113 | environment: 114 | # Memory / Heap Size 115 | - JVM_MINIMUM_MEMORY=512M 116 | - JVM_MAXIMUM_MEMORY=2048M 117 | # Reverse Proxy Settings 118 | - ATL_PROXY_NAME=confluence-cluster-750-lb 119 | - ATL_PROXY_PORT=2750 120 | # Database 121 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 122 | - ATL_JDBC_USER=confluence 123 | - ATL_JDBC_PASSWORD=confluence 124 | - ATL_DB_TYPE=postgresql 125 | # Data Center configuration 126 | - ATL_CLUSTER_TYPE=multicast 127 | - ATL_CLUSTER_NAME=confluence-cluster 128 | - ATL_CLUSTER_ADDRESS=230.0.0.1 129 | - ATL_CLUSTER_TTL=32 130 | # Home Directories 131 | - CONFLUENCE_HOME=/opt/confluence-home 132 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 133 | volumes: 134 | - type: bind 135 | source: /opt/confluence-cluster/7.5.0/confluence-home-node3 136 | target: /opt/confluence-home 137 | - type: bind 138 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 139 | target: /opt/confluence-home-shared 140 | depends_on: 141 | - confluence-cluster-750-db 142 | networks: 143 | confluence-cluster-network-750: 144 | aliases: 145 | - confluence-cluster-750-node3 146 | confluence-cluster-750-node4: 147 | image: atlassian/confluence-server:7.5.0-jdk11 148 | container_name: confluence-cluster-750-node4 149 | links: 150 | - confluence-cluster-750-db 151 | environment: 152 | # Memory / Heap Size 153 | - JVM_MINIMUM_MEMORY=512M 154 | - JVM_MAXIMUM_MEMORY=2048M 155 | # Reverse Proxy Settings 156 | - ATL_PROXY_NAME=confluence-cluster-750-lb 157 | - ATL_PROXY_PORT=2750 158 | # Database 159 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 160 | - ATL_JDBC_USER=confluence 161 | - ATL_JDBC_PASSWORD=confluence 162 | - ATL_DB_TYPE=postgresql 163 | # Data Center configuration 164 | - ATL_CLUSTER_TYPE=multicast 165 | - ATL_CLUSTER_NAME=confluence-cluster 166 | - ATL_CLUSTER_ADDRESS=230.0.0.1 167 | - ATL_CLUSTER_TTL=32 168 | # Home Directories 169 | - CONFLUENCE_HOME=/opt/confluence-home 170 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 171 | volumes: 172 | - type: bind 173 | source: /opt/confluence-cluster/7.5.0/confluence-home-node4 174 | target: /opt/confluence-home 175 | - type: bind 176 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 177 | target: /opt/confluence-home-shared 178 | depends_on: 179 | - confluence-cluster-750-db 180 | networks: 181 | confluence-cluster-network-750: 182 | aliases: 183 | - confluence-cluster-750-node4 184 | 185 | networks: 186 | confluence-cluster-network-750: 187 | driver: bridge 188 | -------------------------------------------------------------------------------- /versions/7.5.0/docker-compose-one-node.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-750-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-750-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-750: 12 | aliases: 13 | - confluence-cluster-750-db 14 | confluence-cluster-750-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-750-lb 17 | links: 18 | - confluence-cluster-750-node1 19 | ports: 20 | - 2750:2750 21 | environment: 22 | - LB_PORT=2750 23 | - NODES=1 24 | - NODES_NAME_SCHEMA=confluence-cluster-750-node___NUM___ 25 | networks: 26 | confluence-cluster-network-750: 27 | aliases: 28 | - confluence-cluster-750-lb 29 | confluence-cluster-750-node1: 30 | image: atlassian/confluence-server:7.5.0-jdk11 31 | container_name: confluence-cluster-750-node1 32 | links: 33 | - confluence-cluster-750-db 34 | environment: 35 | # Memory / Heap Size 36 | - JVM_MINIMUM_MEMORY=512M 37 | - JVM_MAXIMUM_MEMORY=2048M 38 | # Reverse Proxy Settings 39 | - ATL_PROXY_NAME=confluence-cluster-750-lb 40 | - ATL_PROXY_PORT=2750 41 | # Database 42 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 43 | - ATL_JDBC_USER=confluence 44 | - ATL_JDBC_PASSWORD=confluence 45 | - ATL_DB_TYPE=postgresql 46 | # Data Center configuration 47 | - ATL_CLUSTER_TYPE=multicast 48 | - ATL_CLUSTER_NAME=confluence-cluster 49 | - ATL_CLUSTER_ADDRESS=230.0.0.1 50 | - ATL_CLUSTER_TTL=32 51 | # Home Directories 52 | - CONFLUENCE_HOME=/opt/confluence-home 53 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 54 | volumes: 55 | - type: bind 56 | source: /opt/confluence-cluster/7.5.0/confluence-home-node1 57 | target: /opt/confluence-home 58 | - type: bind 59 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 60 | target: /opt/confluence-home-shared 61 | depends_on: 62 | - confluence-cluster-750-db 63 | networks: 64 | confluence-cluster-network-750: 65 | aliases: 66 | - confluence-cluster-750-node1 67 | 68 | networks: 69 | confluence-cluster-network-750: 70 | driver: bridge 71 | -------------------------------------------------------------------------------- /versions/7.5.0/docker-compose-three-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-750-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-750-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-750: 12 | aliases: 13 | - confluence-cluster-750-db 14 | confluence-cluster-750-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-750-lb 17 | links: 18 | - confluence-cluster-750-node1 19 | - confluence-cluster-750-node2 20 | - confluence-cluster-750-node3 21 | ports: 22 | - 2750:2750 23 | environment: 24 | - LB_PORT=2750 25 | - NODES=3 26 | - NODES_NAME_SCHEMA=confluence-cluster-750-node___NUM___ 27 | networks: 28 | confluence-cluster-network-750: 29 | aliases: 30 | - confluence-cluster-750-lb 31 | confluence-cluster-750-node1: 32 | image: atlassian/confluence-server:7.5.0-jdk11 33 | container_name: confluence-cluster-750-node1 34 | links: 35 | - confluence-cluster-750-db 36 | environment: 37 | # Memory / Heap Size 38 | - JVM_MINIMUM_MEMORY=512M 39 | - JVM_MAXIMUM_MEMORY=2048M 40 | # Reverse Proxy Settings 41 | - ATL_PROXY_NAME=confluence-cluster-750-lb 42 | - ATL_PROXY_PORT=2750 43 | # Database 44 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 45 | - ATL_JDBC_USER=confluence 46 | - ATL_JDBC_PASSWORD=confluence 47 | - ATL_DB_TYPE=postgresql 48 | # Data Center configuration 49 | - ATL_CLUSTER_TYPE=multicast 50 | - ATL_CLUSTER_NAME=confluence-cluster 51 | - ATL_CLUSTER_ADDRESS=230.0.0.1 52 | - ATL_CLUSTER_TTL=32 53 | # Home Directories 54 | - CONFLUENCE_HOME=/opt/confluence-home 55 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 56 | volumes: 57 | - type: bind 58 | source: /opt/confluence-cluster/7.5.0/confluence-home-node1 59 | target: /opt/confluence-home 60 | - type: bind 61 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 62 | target: /opt/confluence-home-shared 63 | depends_on: 64 | - confluence-cluster-750-db 65 | networks: 66 | confluence-cluster-network-750: 67 | aliases: 68 | - confluence-cluster-750-node1 69 | confluence-cluster-750-node2: 70 | image: atlassian/confluence-server:7.5.0-jdk11 71 | container_name: confluence-cluster-750-node2 72 | links: 73 | - confluence-cluster-750-db 74 | environment: 75 | # Memory / Heap Size 76 | - JVM_MINIMUM_MEMORY=512M 77 | - JVM_MAXIMUM_MEMORY=2048M 78 | # Reverse Proxy Settings 79 | - ATL_PROXY_NAME=confluence-cluster-750-lb 80 | - ATL_PROXY_PORT=2750 81 | # Database 82 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 83 | - ATL_JDBC_USER=confluence 84 | - ATL_JDBC_PASSWORD=confluence 85 | - ATL_DB_TYPE=postgresql 86 | # Data Center configuration 87 | - ATL_CLUSTER_TYPE=multicast 88 | - ATL_CLUSTER_NAME=confluence-cluster 89 | - ATL_CLUSTER_ADDRESS=230.0.0.1 90 | - ATL_CLUSTER_TTL=32 91 | # Home Directories 92 | - CONFLUENCE_HOME=/opt/confluence-home 93 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 94 | volumes: 95 | - type: bind 96 | source: /opt/confluence-cluster/7.5.0/confluence-home-node2 97 | target: /opt/confluence-home 98 | - type: bind 99 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 100 | target: /opt/confluence-home-shared 101 | depends_on: 102 | - confluence-cluster-750-db 103 | networks: 104 | confluence-cluster-network-750: 105 | aliases: 106 | - confluence-cluster-750-node2 107 | confluence-cluster-750-node3: 108 | image: atlassian/confluence-server:7.5.0-jdk11 109 | container_name: confluence-cluster-750-node3 110 | links: 111 | - confluence-cluster-750-db 112 | environment: 113 | # Memory / Heap Size 114 | - JVM_MINIMUM_MEMORY=512M 115 | - JVM_MAXIMUM_MEMORY=2048M 116 | # Reverse Proxy Settings 117 | - ATL_PROXY_NAME=confluence-cluster-750-lb 118 | - ATL_PROXY_PORT=2750 119 | # Database 120 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 121 | - ATL_JDBC_USER=confluence 122 | - ATL_JDBC_PASSWORD=confluence 123 | - ATL_DB_TYPE=postgresql 124 | # Data Center configuration 125 | - ATL_CLUSTER_TYPE=multicast 126 | - ATL_CLUSTER_NAME=confluence-cluster 127 | - ATL_CLUSTER_ADDRESS=230.0.0.1 128 | - ATL_CLUSTER_TTL=32 129 | # Home Directories 130 | - CONFLUENCE_HOME=/opt/confluence-home 131 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 132 | volumes: 133 | - type: bind 134 | source: /opt/confluence-cluster/7.5.0/confluence-home-node3 135 | target: /opt/confluence-home 136 | - type: bind 137 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 138 | target: /opt/confluence-home-shared 139 | depends_on: 140 | - confluence-cluster-750-db 141 | networks: 142 | confluence-cluster-network-750: 143 | aliases: 144 | - confluence-cluster-750-node3 145 | 146 | networks: 147 | confluence-cluster-network-750: 148 | driver: bridge 149 | -------------------------------------------------------------------------------- /versions/7.5.0/docker-compose-two-nodes.yml: -------------------------------------------------------------------------------- 1 | version: "3.2" 2 | services: 3 | confluence-cluster-750-db: 4 | image: postgres:10-alpine 5 | container_name: confluence-cluster-750-db 6 | environment: 7 | - POSTGRES_PASSWORD=confluence 8 | - POSTGRES_USER=confluence 9 | - POSTGRES_DB=confluence 10 | networks: 11 | confluence-cluster-network-750: 12 | aliases: 13 | - confluence-cluster-750-db 14 | confluence-cluster-750-lb: 15 | image: codeclou/docker-atlassian-confluence-data-center:loadbalancer-36c4370 16 | container_name: confluence-cluster-750-lb 17 | links: 18 | - confluence-cluster-750-node1 19 | - confluence-cluster-750-node2 20 | ports: 21 | - 2750:2750 22 | environment: 23 | - LB_PORT=2750 24 | - NODES=2 25 | - NODES_NAME_SCHEMA=confluence-cluster-750-node___NUM___ 26 | networks: 27 | confluence-cluster-network-750: 28 | aliases: 29 | - confluence-cluster-750-lb 30 | confluence-cluster-750-node1: 31 | image: atlassian/confluence-server:7.5.0-jdk11 32 | container_name: confluence-cluster-750-node1 33 | links: 34 | - confluence-cluster-750-db 35 | environment: 36 | # Memory / Heap Size 37 | - JVM_MINIMUM_MEMORY=512M 38 | - JVM_MAXIMUM_MEMORY=2048M 39 | # Reverse Proxy Settings 40 | - ATL_PROXY_NAME=confluence-cluster-750-lb 41 | - ATL_PROXY_PORT=2750 42 | # Database 43 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 44 | - ATL_JDBC_USER=confluence 45 | - ATL_JDBC_PASSWORD=confluence 46 | - ATL_DB_TYPE=postgresql 47 | # Data Center configuration 48 | - ATL_CLUSTER_TYPE=multicast 49 | - ATL_CLUSTER_NAME=confluence-cluster 50 | - ATL_CLUSTER_ADDRESS=230.0.0.1 51 | - ATL_CLUSTER_TTL=32 52 | # Home Directories 53 | - CONFLUENCE_HOME=/opt/confluence-home 54 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 55 | volumes: 56 | - type: bind 57 | source: /opt/confluence-cluster/7.5.0/confluence-home-node1 58 | target: /opt/confluence-home 59 | - type: bind 60 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 61 | target: /opt/confluence-home-shared 62 | depends_on: 63 | - confluence-cluster-750-db 64 | networks: 65 | confluence-cluster-network-750: 66 | aliases: 67 | - confluence-cluster-750-node1 68 | confluence-cluster-750-node2: 69 | image: atlassian/confluence-server:7.5.0-jdk11 70 | container_name: confluence-cluster-750-node2 71 | links: 72 | - confluence-cluster-750-db 73 | environment: 74 | # Memory / Heap Size 75 | - JVM_MINIMUM_MEMORY=512M 76 | - JVM_MAXIMUM_MEMORY=2048M 77 | # Reverse Proxy Settings 78 | - ATL_PROXY_NAME=confluence-cluster-750-lb 79 | - ATL_PROXY_PORT=2750 80 | # Database 81 | - ATL_JDBC_URL=jdbc:postgresql://confluence-cluster-750-db:5432/confluence 82 | - ATL_JDBC_USER=confluence 83 | - ATL_JDBC_PASSWORD=confluence 84 | - ATL_DB_TYPE=postgresql 85 | # Data Center configuration 86 | - ATL_CLUSTER_TYPE=multicast 87 | - ATL_CLUSTER_NAME=confluence-cluster 88 | - ATL_CLUSTER_ADDRESS=230.0.0.1 89 | - ATL_CLUSTER_TTL=32 90 | # Home Directories 91 | - CONFLUENCE_HOME=/opt/confluence-home 92 | - ATL_PRODUCT_HOME_SHARED=/opt/confluence-home-shared 93 | volumes: 94 | - type: bind 95 | source: /opt/confluence-cluster/7.5.0/confluence-home-node2 96 | target: /opt/confluence-home 97 | - type: bind 98 | source: /opt/confluence-cluster/7.5.0/confluence-home-shared 99 | target: /opt/confluence-home-shared 100 | depends_on: 101 | - confluence-cluster-750-db 102 | networks: 103 | confluence-cluster-network-750: 104 | aliases: 105 | - confluence-cluster-750-node2 106 | 107 | networks: 108 | confluence-cluster-network-750: 109 | driver: bridge 110 | --------------------------------------------------------------------------------