Добавить в корзинуПозвонить
Найти в Дзене
Записки джировика

Установка Docker-версии Jira

В этой инструкции мы создадим свой Docker-образ для Jira, в который уже будет встроен Atlassian Agent. Это позволит избежать необходимости вручную загружать агент после каждого обновления. P.S. Использовать любые активаторы кроме официальных ключей Atlassian запрещено пользовательским соглашением. Используйте эту инструкцию на свой страх и риск. А так же не используйте Jira, активированную таким способом в коммерческих целях! sudo dnf install -y dnf-plugins-core sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable --now docker sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose Проверьте установку: docker --version docker-compose --version 🛠 2. Создание каталога для Jira mkdir -p /opt/jira && cd /opt/jir
Оглавление

📌 Установка Docker-версии Jira с заранее встроенным Atlassian Agent

В этой инструкции мы создадим свой Docker-образ для Jira, в который уже будет встроен Atlassian Agent. Это позволит избежать необходимости вручную загружать агент после каждого обновления.

P.S. Использовать любые активаторы кроме официальных ключей Atlassian запрещено пользовательским соглашением. Используйте эту инструкцию на свой страх и риск. А так же не используйте Jira, активированную таким способом в коммерческих целях!

🔧 1. Установка Docker и Docker Compose (если не установлены)

Для Oracle Linux 8

sudo dnf install -y dnf-plugins-core

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

-2

sudo dnf install -y docker-ce docker-ce-cli containerd.io

-3

sudo systemctl start docker

sudo systemctl enable --now docker

-4

Установка Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

-5

sudo chmod +x /usr/local/bin/docker-compose

Проверьте установку:

docker --version

-6

docker-compose --version

-7

🛠 2. Создание каталога для Jira

mkdir -p /opt/jira && cd /opt/jira

📄 3. Создание Dockerfile для кастомного образа Jira

Создадим новый файл Dockerfile:

sudo vim Dockerfile

Вставьте следующий код (В данном случае представлен самый простой вариант Dockerfie. В нем можно прописать огромное количество настроек, в т.ч. потребляемые ресурсы. Чуть позже поэкспериментирую с этим и добавлю расширенный вариант) :

FROM atlassian/jira-software:10.4.0
# Указываем рабочую директорию
WORKDIR /opt/atlassian/jira
# Скачиваем Atlassian Agent
RUN wget -O /opt/atlassian/jira/atlassian-agent.jar https://github.com/haxqer/jira/releases/download/v1.3.3/atlassian-agent.jar
# Настраиваем автозапуск агента
RUN echo 'CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> bin/setenv.sh

(ссылку на скачивание Atlassian agent неплохо бы заменить на свою, во избежание подмены или удаления файла в источнике)

(ссылка с яндекс диска и гугл диска не сработали. Оттуда файл не качается)

Сохраните (:wq)

📄 4. Создание docker-compose.yml

Создайте файл:

sudo vim docker-compose.yml

Вставьте в него следующий код:

version: '3.8'
services:
jira:
build: .
container_name: jira
restart: always
ports:
- "8080:8080"
environment:
- ATL_JDBC_URL=jdbc:postgresql://postgres:5432/jiradb
- ATL_JDBC_USER=jirauser
- ATL_JDBC_PASSWORD=123456
- JVM_SUPPORT_RECOMMENDED_ARGS="-Djira.downgrade.allowed=true"
volumes:
- jira_home:/var/atlassian/application-data/jira
depends_on:
- postgres
networks:
- jira_network

postgres:
image: postgres:15
container_name: jira-postgres
restart: always
environment:
POSTGRES_DB: jiradb
POSTGRES_USER: jirauser
POSTGRES_PASSWORD: 123456
POSTGRES_ENCODING: UNICODE
POSTGRES_COLLATE: C
POSTGRES_COLLATE_TYPE: C
command: ["postgres", "-c", "lc_collate=C", "-c", "lc_ctype=C"]
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- jira_network

volumes:
postgres_data:
jira_home:

networks:
jira_network:

Сохраните (:wq)

🚀 5. Сборка кастомного образа Jira

Теперь соберем наш кастомный образ, в который уже встроен Atlassian Agent:

docker-compose build

-8

🔄 6. Запуск контейнеров

docker-compose up -d

-9

Проверьте работу контейнеров:

docker ps

-10

По умолчанию Docker создает БД с неправильной кодировкой, поэтому нужно пересоздать БД вручную. Если найду способ автоматизировать это, то дополню инструкцию.

После запуска контейнеров создайте БД с правильной кодировкой:

docker exec -it jira-postgres psql -U jirauser -d postgres -c "CREATE DATABASE jiradb2 WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0;"

Если предыдущая команда не сработала, зайдите в контейнер postgres:

docker exec -it jira-postgres psql -U jirauser -d jiradb

Создайте базу данных:

CREATE DATABASE jiradb2 WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0;

🌍 7. Настройка Jira в браузере

После успешного запуска откройте браузер и перейдите по адресу:

http://<your-server-ip>:8080

(Если устанавливаете локально, используйте http://localhost:8080).

Следуйте мастеру настройки:

Настройте базу данных:

Тип: PostgreSQL
Хост: postgres
Имя БД: jiradb2
Пользователь: jirauser
Пароль: strongpassword

-11

Внимание! Hostname НЕ localhost, как при установке файловой версии!!!

На следующей странице по желанию указываем название установки и жмем Далее:

-12

Сгенерируйте ключ для Jira:

docker exec jira java -jar /opt/atlassian/jira/atlassian-agent.jar -d -m testmail@test.ru -n admin -o https://zhile.io -p jira -s XXXX-XXXX-XXXX-XXXX

Если предыдущий вариант не сработал, откройте терминал в контейнере Jira:

docker exec -it jira bash

Запустите генератор ключа внутри контейнера:

java -jar /opt/atlassian/jira/atlassian-agent.jar -d -m testmail@test.ru -n admin -o https://zhile.io -p jira -s XXXX-XXXX-XXXX-XXXX

Введите лицензионный ключ:

-13

Настройте администратора

-14

Укажите нужны ли уведомления по e-mail (в моем случае это не нужно, поэтому пропускаю этот шаг)

После завершения установки переходим в меню Applications → Versions & licenses и устанавливаем Service Desk

-15

Активация Service Desk осуществляется командой в PowerShell аналогично активации любого плагина:

sudo java -jar /opt/atlassian/atlassian-agent.jar -d -m testmail@test.ru -n admin -o https://zhile.io -p jsd -s XXXX-XXXX-XXXX-XXXX

🔄 Шаг 8: Управление контейнерами

Остановить Jira:

docker-compose down

Перезапустить Jira:

docker-compose restart

Просмотр логов:

docker-compose logs -f jira

Готово!