📌 Установка Docker-версии Confluence с заранее встроенным Atlassian Agent
В этой инструкции мы создадим свой Docker-образ для Confluence, в который уже будет встроен Atlassian Agent. Это позволит избежать необходимости вручную загружать агент после каждого обновления.
🔧 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 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. Создание каталога для Confluence
sudo mkdir -p ~/confluence && cd ~/confluence
📄 3. Создание Dockerfile для кастомного образа Confluence
Создадим новый файл Dockerfile:
sudo vim Dockerfile
Для установки последней версии вставьте следующий код (если хотите установить определенную версию, замените "latest" на номер версии):
FROM atlassian/confluence:latest
# Указываем рабочую директорию
WORKDIR /opt/atlassian/confluence
# Скачиваем Atlassian Agent
RUN wget -O /opt/atlassian/confluence/atlassian-agent.jar https://github.com/haxqer/jira/releases/download/v1.3.3/atlassian-agent.jar
# Настраиваем автозапуск агента
RUN echo 'CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >> bin/setenv.sh
(ссылку на скачивание Atlassian agent неплохо бы заменить на свою, во избежание подмены или удаления файла в источнике)
(ссылка с яндекс диска и гугл диска не сработали. оттуда файл не качается)
Сохраните (:wq)
📄 4. Создание docker-compose.yml
Создайте файл:
sudo vim docker-compose.yml
version: '3.8'
services:
confluence:
build:
context: . # Использует текущую директорию с Dockerfile
dockerfile: Dockerfile
container_name: confluence
ports:
- "8090:8090" # Порт для доступа к Confluence
volumes:
- confluence-data:/var/atlassian/application-data/confluence
depends_on:
- postgres
restart: unless-stopped
postgres:
image: postgres:15
container_name: confluence-postgres
environment:
- POSTGRES_USER=confluenceuser
- POSTGRES_PASSWORD=123456
- POSTGRES_DB=confluencedb
volumes:
- postgres-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
confluence-data:
postgres-data:
Сохраните (:wq)
🚀 5. Сборка кастомного образа Jira
Теперь соберем наш кастомный образ, в который уже встроен Atlassian Agent:
docker-compose build
🔄 6. Запуск контейнеров
docker-compose up -d
Проверьте работу контейнеров:
docker ps
По умолчанию Docker создает БД с неправильной кодировкой, поэтому нужно пересоздать БД вручную. Если найду способ автоматизировать это, то дополню инструкцию.
После запуска контейнеров создайте БД с правильной кодировкой:
docker exec -it confluence-postgres psql -U confluenceuser -d postgres -c "CREATE DATABASE confluencedb2 WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0;"
Проверьте что БД создалась с правильной кодировкой:
docker exec -it confluence-postgres psql -U confluenceuser -d postgres -c "\l"
В данном случае создаем базу с названием confluencedb2, поэтому обращаем внимание только на ее параметры, должно быть как на скрине.
Если предыдущая команда не сработала, зайдите в контейнер postgres:
docker exec -it confluence-postgres psql -U confluenceuser -d confluencedb
Создайте базу данных:
CREATE DATABASE confluencedb2 WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0;
Можно попробовать создать ее без входа в контейнер (у меня не сработало, надо поковырять):
docker exec -it confluence-postgres psql -U confluenceuser -d postgres -c "CREATE DATABASE confluencedb2 WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0;"
🌍 7. Настройка Jira в браузере
После успешного запуска откройте браузер и перейдите по адресу:
http://<your-server-ip>:8090
(Если устанавливаете локально, используйте http://localhost:8080).
Следуйте мастеру настройки:
Сгенерируйте ключ для Jira:
docker exec confluence java -jar /opt/atlassian/confluence/atlassian-agent.jar -d -m testmail@test.ru -n admin -o https://zhile.io -p conf -s XXXX-XXXX-XXXX-XXXX
Если предыдущий вариант не сработал, откройте терминал в контейнере Confluence:
docker exec -it confluence bash
Запустите генератор ключа внутри контейнера:
java -jar /opt/atlassian/confluence/atlassian-agent.jar -d -m testmail@test.ru -n admin -o https://zhile.io -p conf -s XXXX-XXXX-XXXX-XXXX
Введите лицензионный ключ:
Выберите некластерную установку:
Укажите базу данных:
- Тип: PostgreSQL
Хост: postgres
Порт:5432
Имя БД: confluencedb2
Пользователь: confluenceuser
Пароль: <ваш пароль>
Внимание! Hostname НЕ localhost!!!
На следующей странице выберите Empty site для создания пустого Confluence:
Далее нажмите единственную кнопку:
Настройте администратора
Далее нажмите кнопку Start:
Настройте первое пространство:
🔄 Шаг 8: Управление контейнерами
Остановить Jira:
docker-compose down
Перезапустить Jira:
docker-compose restart
Просмотр логов:
docker-compose logs -f jira