For small teams up to 10 members, the Atlassian tool suite with Jira, Confluence and other useful applications is a good solution for structured development.
As we have a Mac mini here turning thumbs, and our self-hosted GitLab does not meet our needs anymore, I had the idea to set it up as a server for those tools. It was a logical decision to use Docker as basis, to reduce installation efforts. Having no idea, if this will work, and if it will be sufficiently performant, I’d like to share my way in this article.
We will not care about https, as this is something completely within our own network.
How does the Mac look like?
We’re talking of a Mac mini (End 2012) with 2,5 GHz Intel Core I5, 16 GB RAM, and a 1 TB SSD, with macOS Sierra (10.12.6).
Step 0: Connect with the Mac mini
The Mac mini is just plugged to network and power, without monitor and keyboard. So we use the screen sharing app to get access to it.
Step 1: Install Docker
I found an installer for Docker Desktop on Mac. This article describes its installation in detail; I’ll reduce the steps here to a minimum:
- Check the system requirements — ok.
- Download Docker Desktop for Mac — ok.
- Open Docker.dmg and install Docker by dragging the app to the Applications folder.
- Run Docker. After some introducing messages and confirmations you should see the Docker whale in the menu bar.
Step 2: Install Jira
For installing Jira, we’re using these instructions from teamatldocker. We skip the first two steps Docker-Compose and Docker-CLI, as we have both available through the previous installation steps.
We will create a folder $HOME/Docker and add there a shell script named install-jira.sh to be able to reproduce the steps easily in case something is not working. Do not forget to give the script file execution permission through chmod +x install-jira.sh.
We first need a database where Jira can connect to, PostgreSQL will be used here. Then, we need Jira itself, and a network where both can talk with each other.
Please not the environment variables POSTGRES_USER and POSTGRES_PASSWORD: You should adopt their values to your needs, but be sure to change them everywhere. Please note the --restart always option: it ensures that the containers are always running, after a reboot as well as after a process termination. And, the database will be persisted on the local folder /Users/user/Docker/postgres. It is important to map both paths, the postgresql parent folder as well as the data subfolder to the referring local directories.
When running the script, we will see a similar output to this:
With this setup, Jira will be reachable on port 80 of your Mac:
You should see now some reaction of Jira, if everything’s working fine:
Jira will now guide you through the setup process, where you enter some data like server URL, license, and admin account. We will not follow this process here in detail.
The process ends up with the “Getting started” page of Jira — we’re done now.
In part 2 of this series, we’ll continue with the Confluence installation.