With the recent announcement and release of Jira 10, it’s time to dive into another adventure in the world of Atlassian and Docker. Today, we’ll guide you through setting up your very own Jira Data Center v10 playground. Ready to get started? Let’s go!
# What’s The Plan?
In this tutorial, we'll Dockerize Jira Software Data Center version 10, complete with PostgreSQL 15. We’ll set up everything for a fully functional, trial-licensed Docker installation.
For more details on Jira 10 and the announcement, check out these resources:
# How Do We Get There?
We’ll use Docker, Docker Compose, and the official Jira Docker Image. As Jira updates frequently, be sure to check Docker Hub for the latest versions—this guide is based on version 10.
# When Can We Start?
Right now! Let’s begin by creating a new directory for the project.
# Creating the Dockerfile
In your text editor, create a new file called Dockerfile
and add the following content:
FROM atlassian/jira-software:10.0.0
This basic setup is just the beginning. You can expand on this configuration as needed or even create a Gist for future reference.
# Setting Up docker-compose.yml
Next, create another file —docker-compose.yml
— and include the following configuration:
services:
jira-10:
image: atlassian/jira-software:10.0.0
container_name: jira-10
networks:
- jira10net
volumes:
- jira10data:/var/atlassian/jira
ports:
- "8080:8080"
logging:
# limit logs retained on host to 25MB
driver: "json-file"
options:
max-size: "500k"
max-file: "50"
volumes:
jira10data:
driver: local
This configuration is based on the instructions found on the Docker Hub overview page for Jira. The recommendation to mount a host directory as a data volume is implemented here, ensuring that your data persists across container restarts.
Notice the intentional use of 10
in the volume, container, and mount-point names—this helps distinguish this setup from any Jira 9 instances you might also be running.
# Bringing It All Together with docker-compose up
With your Docker configuration ready, start the setup by running:
docker compose up
# It’s Alive!
After a short wait, you should see the Jira 10 command-line welcome message:
jira-10 |
jira-10 | `sMMMMMMMMMMMMMM+
jira-10 | MMMMMMMMMMMMMM
jira-10 | :sdMMMMMMMMMMM
jira-10 | MMMMMM
jira-10 | `sMMMMMMMMMMMMMM+ MMMMMM
jira-10 | MMMMMMMMMMMMMM +MMMMM
jira-10 | :sMMMMMMMMMMM MMMMM
jira-10 | MMMMMM `UOJ
jira-10 | `sMMMMMMMMMMMMM+ MMMMMM
jira-10 | MMMMMMMMMMMMMM +MMMMM
jira-10 | :sdMMMMMMMMMM MMMMM
jira-10 | MMMMMM `UOJ
jira-10 | MMMMMM
jira-10 | +MMMMM
jira-10 | MMMMM
jira-10 | `UOJ
jira-10 |
jira-10 | Atlassian Jira
jira-10 | Version : 10.0.0
jira-10 |
jira-10 |
Navigate to http://localhost:8080 in your browser, and you should see the Jira welcome page. But wait—there's more to do!
# Setting Up the Database for Jira 10
To complete the setup, we need to configure a PostgreSQL database. Let’s jump back into our docker-compose.yml
file.
# Configuring PostgreSQL
We'll set up PostgreSQL 15 using the Alpine distribution. Update your docker-compose.yml
with the following:
services:
jira-10:
depends_on:
- postgresql-15
image: atlassian/jira-software:10.0.0
container_name: jira-10
networks:
- jira10net
volumes:
- jira10data:/var/atlassian/jira
ports:
- "8080:8080"
logging:
# limit logs retained on host to 25MB
driver: "json-file"
options:
max-size: "500k"
max-file: "50"
postgresql-15:
image: postgres:15.0-alpine
networks:
- jira10net
volumes:
- postgresql15data:/var/lib/postgresql/data
ports:
- 5432:5432
environment:
# Database hostname is `postgresql` inside Jira
- "POSTGRES_USER=jira"
# CHANGE THE PASSWORD!
- "POSTGRES_PASSWORD=Postgres_password"
- "POSTGRES_DB=jiradb"
- "POSTGRES_ENCODING=UNICODE"
- "POSTGRES_COLLATE=C"
- "POSTGRES_COLLATE_TYPE=C"
logging:
# limit logs retained on host to 25MB
driver: "json-file"
options:
max-size: "500k"
max-file: "50"
volumes:
jira10data:
external: false
postgresql15data:
external: false
networks:
jira10net:
driver: bridge
We’ve added the PostgreSQL service, ensuring Jira is properly linked to it through the depends_on
directive. Note that the hostname
of a docker compose
service is its name in the docker-compose.yml
file. In the next step, this is postgresql-15
.
# Installing Jira
With everything configured, revisit http://localhost:8080 to continue the setup. Use the database credentials from your docker-compose.yml
file, and set the database port to 5432
.
Test the connection to ensure everything is set up correctly, and proceed with the installation.
Click "Next" to proceed. Make yourself a delicious treat, or go for a walk.
# Application Properties and License
You’ll be prompted to set up application properties or import data from another Jira server. Stick with the default settings for now.
Next, we'll generate a trial license. Remember to take note of the Server ID displayed during this process—you’ll need it to generate the license.
Note the highlighted "Server ID" value here — we will need it in just a moment. Click the "generate a Jira trial license" link.
At this screen, the server ID will be prefilled if you clicked the link we just covered. If not, paste in the value you copied, which looks like "ABCD-E12F-34GH-IJ5K
". Once that, and your Atlassian Organization is filled in, click "Generate License".
If all goes as planned, you'll receive a popover confirmation to install the license in localhost
:
Upon clicking "Yes", you'll whisked away back to localhost
with the license filled in:
If for some reason this flow doesn't happen automatically, head over to your Atlassian licenses page, and copy the key manually:
After the license key is in place within localhost
's setup, click "Next" to proceed:
Next, set up your administrator account:
A mail server is out of scope for this post, so we'll leave "Later" selected here:
Click "Finish" and hold your breath! Don't do this.
Just two more steps! Pick a language:
And pick an avatar.
# Setting Up Your First Jira Project
Jira 10 introduces new project configuration options. Start by exploring a sample project to get a feel for the new features.
Click “Create sample project” and enter the project details.
# Jira 10: Up and Running
Congratulations! You now have Jira 10 running on PostgreSQL 15 within Docker. This setup is portable and ready for further exploration.
For double confirmation, head over to the Applications admin page, which should reflect your 10.0.0 installation.
And with that, our setup is complete. You can find all the project files in this Gist.
I hope this guide leaves you with a solid understanding of Jira 10’s capabilities and gets you excited to dive deeper into all the new features this major release has to offer: dark mode.