Featured image of post Установка Jira в docker-compose

Установка Jira в docker-compose

Установка Jira на Linux

У компании Atlassian есть несколько крутых продуктов, сегодня мы будем разворачивать Jira.
Jira — коммерческая система отслеживания ошибок, предназначена для организации взаимодействия с пользователями, хотя в некоторых случаях используется и для управления проектами.
Самый быстрый способ развертывания данной системы, это использование докер контейнеров.

Требования:

  • Система: Ubuntu 22.04
  • Установленный: Docker, docker-compose
  • CPU: 4 vcpu
  • RAM: 8 Gb
  • HDD: На ваше усмотрение (Рекомендуется 100 GB, на 500+ пользователей)

Шаг 1. Создаём директории

1
sudo mkdir -p /opt/jira/activate

И файл:

1
sudo nano /opt/jira/docker-compose.yaml

Наполняем содержимым:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
version: '3.7'
services:
  nginx:
    container_name: nginx
    image: nginx:alpine
    restart: always
    ports:
      - "443:443"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/certs:/etc/nginx/certs:ro
    networks:
      - jira-proxy

  jira:
    container_name: jira
    image: atlassian/jira-software:9.12.9
    restart: unless-stopped
    volumes:
      - var:/var/atlassian/application-data/jira
      - opt:/opt/atlassian/jira
      - ./activate:/opt/atlassian/atlassian-agent/
    environment:
      - 'JVM_MINIMUM_MEMORY=2048m'
      - 'JVM_MAXIMUM_MEMORY=4096m'
      - 'ATL_PROXY_NAME=jira.domain.local'
      - 'ATL_PROXY_PORT=443'
      - 'ATL_TOMCAT_SCHEME=https'
      - 'TZ=Europe/Moscow'
    networks:
      - jira-proxy

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_USER: jiradb
      POSTGRES_PASSWORD: password
      POSTGRES_DB: jiradb
      PGDATA: /data/postgres
    volumes:
       - ./postgres:/data/postgres
    ports:
      - "5432:5432"
    restart: unless-stopped
    networks:
      - jira-proxy

networks:
  jira-proxy:

volumes:
  var:
    external: false
  opt:
    external: false

Сохраняем, создаём директорию для nginx

1
mkdir -p /opt/jira/nginx/certs

И файл конфигурации:

1
sudo nano /opt/jira/nginx/nginx.conf

Наполняем:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
events {}

http {
  server {
    listen 443 ssl;
    server_name jira.domain.local; #Меняйте на своё имя

    ssl_certificate     /etc/nginx/certs/selfsigned.crt;
    ssl_certificate_key /etc/nginx/certs/selfsigned.key;

    location / {
      proxy_pass http://jira:8080;

      proxy_http_version 1.1;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Port 443;

      proxy_redirect off;
    }
  }
}

Далее создаём самоподписанные сертификаты:

1
cd /opt/jira/nginx
1
openssl req -x509 -nodes -days 365 -newkey rsa:2048  -keyout certs/selfsigned.key  -out certs/selfsigned.crt  -subj "/C=RU/ST=Moscow/L=My/O=ITZM/OU=TECH/CN=jira.domain.local"

Сохраняем, переходим в директорию с файлом и запускаем.

1
2
cd /opt/jira/
docker-compose up -d

Шаг 2. Настройка в веб-интерфейсе

Переходим в браузер и набираем адрес нашего хоста, https://jira.domain.local

Меняем язык на нужный вам и выбираем “Я выполню настройку самостоятельно”

Далее “Моя база данных”

Вводим все данные из нашего контейнера db

И проводим “Тест подключения”

Нажимаем “Далее” и ждём пока создается база (Процесс может быть длительным ~5-20 минут)

Указываем наш URL, по которому будет открываться Jira (с https)

Шаг 3. Активация

Итак, мы подходим к моменту активации.

Процесс активации я подробно описал в Telegram.
Там же отвечаю на вопросы и обновляю инструкции при необходимости
Присоединяйся Telegram

Шаг 4. Завершаем настройку в веб-интерфейсе

После активации вводим данные нашего локального admin’a JIRA

На данном этапе можно настроить получение уведомлений на email

Далее идёт интуитивно понятная настройка используя кнопку “Далее”. Если при установке выбранный язык сбросится на дефолтный, то его можно указать в настройках сервера.
Создаете новый проект, открывается “Список задач”.

Установка завершена. Jira готова к работе.

Дополнения

  • Если хотите, чтобы сообщение “Вы используете незаконную лицензию на продукт. Обратитесь к тому, кто вам ее предоставил.” Не отображалось, то на этапе активации продукта отключите интернет"
  • Если нужно восстановить имеющуюся базу Jira из бэкапа, то положите её в контейнер по пути: /var/lib/docker/volumes/jira_var/_data/import/
    и скопируйте с заменой все директории (change, sentities, issues, snapshots, worklogs) в: /var/lib/docker/volumes/jira_var/_data/caches/indexesV2/
  • Восстановите бэкап через админскую панель в веб-интерфейсе Jira
  • Если при переиндексации возникает ошибка проверьте разрешения на директории, должны быть: drwxr-x--- 2001:2001
Информацию можно использовать в свободном доступе, с указанием ссылки на сайт
Telegram GitHub