📌 Установка 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
sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable --now docker
Установка 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
sudo chmod +x /usr/local/bin/docker-compose
Проверьте установку:
docker --version
docker-compose --version
🛠 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
🔄 6. Запуск контейнеров
docker-compose up -d
Проверьте работу контейнеров:
docker ps
По умолчанию 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
Внимание! Hostname НЕ localhost, как при установке файловой версии!!!
На следующей странице по желанию указываем название установки и жмем Далее:
Сгенерируйте ключ для 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
Введите лицензионный ключ:
Настройте администратора
Укажите нужны ли уведомления по e-mail (в моем случае это не нужно, поэтому пропускаю этот шаг)
После завершения установки переходим в меню Applications → Versions & licenses и устанавливаем Service Desk
Активация 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