Atlassian Jira Software Docker Installation

Published: Monday, 6 July 2020
By:
  • Jurn Ho

Jira Software is software development tracking application. It is available as

  • Jira Cloud, a managed hosted deployment
  • Jira Server, a self-managed solution.

Installing Jira Server using docker

Determine the docker image tag

Jira Software can be downloaded from their site and installed manually. Check the current Long Term Support (LTS) version which should be more stable than the latest release.

Corresponding docker images are published to Docker hub at atlassian/jira-software. I couldn’t find a tag for the latest LTS version, instead use a specific tag, e.g. 8.5.5.

To determine the specific Jira Software version in an image, look for a file in the image matching /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/jira-software-application/jira-software-application-*.jar The * will contain the version number. This is useful if using a generic tag such as 8 or latest.

Pull the docker image

docker pull atlassian/jira-software:8.5.5

Create a docker volume for Jira data

A docker volume stores data. It is independent of the container so will remain when the image is upgraded.

docker volume create --name jiraVolume

Jira will store data such as attachments here.

Jira Database

A separate database should also be started along with Jira. It is safer than the default in memory H2 database.

See [postgres docker install]({{ ref “/kb/db/postgres/docker_install.md” }}) for installing a postgres database.

Assume there is now postgreSQL instance up and running with the following details:

  • host: 10.10.10.10
  • port: 5432
  • user: jira
  • password: jira-db-secret

Run the container

docker container run --name jira -p 8080:8080 \
-v jiraVolume:/var/atlassian/application-data/jira \
-e ATL_DB_DRIVER=org.postgresql.Driver \
-e ATL_DB_TYPE=postgres72 \
-e ATL_JDBC_URL=jdbc:postgresql://10.10.10.10:5432/jira \
-e ATL_JDBC_USER=jira \
-e ATL_JDBC_PASSWORD=jira-db-secret \
atlassian/jira-software:8.5.5
  • jiraVolume is mounted to the data directory at /var/atlassian/application-data/jira
  • ATL_DB_TYPE should be set to postgres72, even if you are using a later postgres version.

The application is now available at port 8080 of the docker host, e.g. http://localhost:8080/

A license key must be installed as part of the installation process, follow the instructions in the browser.

Debugging

To look around the running container

docker exec -it jira bash

To see logs

docker logs jira

SSL Terminated reverse proxy

If required, configure the Tomcat connector to accept connections from a SSL terminated reverse proxy.

Add more environment variables to the container

-e ATL_TOMCAT_SCHEME=https \
-e ATL_TOMCAT_SECURE=true \
-e ATL_PROXY_PORT=443 \
-e ATL_PROXY_NAME=jira.example.com

References