I needed to install a Confluence instance for my internal testing but I wanted to use the Postgres database not the internal one.
First I had a look at the docker shipped by Atlassian:
I found a section about using external database but there was no examples. Of course I could create a docker with Postgres, create a Confluence database there, but it would take me more time than I wanted to spend on it.
Then I remembered that Idalko had a tool in Python for running dockers. I typed Idalko docker and got a link to this page:
I was surprised, it is not a Python project anymore. It is already can be considered as a product.
Moreover there was an example how to run this docker with a Postgres database. Here is the example:
version: '3' services: confluence: image: idalko/atlassian-confluence environment: - DISABLE_NOTIFICATIONS=TRUE - CONF_ARGS=-Datlassian.plugins.enable.wait=300 volumes: - ./data:/opt/atlassian/confluence/data ports: - 8090:8090 restart: always confluencedb: image: postgres:9.6 environment: - POSTGRES_PASSWORD=secret - POSTGRES_USER=confluence - POSTGRES_DB=confluence volumes: - ./db:/var/lib/postgresql/data restart: always
I created a docker-compose.yml file out of this code and ran the following code in the terminal:
Then I opened a browser and connected to this url:
I had a standard Confluence setup page. I configured the database:
Then I was asked a couple of other standard questions and I had a Confluence instance running with a Postgres database.
Also the Confluence home directory was mapped to the data folder and Postgres data to the db folder:
Amazing! I spent a couple of minutes to setup everything. Thank you Idalko!