Предыстория
Последние пару лет я и мои коллеги по хобби использовали бесплатную облачную версию Atlassian Confluence. В принципе, нам вполне хватало её бесплатной функциональности для ведения документации по хобби-проектам (мы делаем масштабные модели машин).
Но в начале июле 2023 года нам пришли письма от компании Atlassian следующего содержания:

Вкратце, так как мы из России, то мы кровавые орки (да, мы такие), и поэтому нам нельзя пользоваться облачными продуктами Atlassian.
Ну что ж, раз нельзя пользоваться и лень включать VPN для регистрации нового облака Atlassian, который в любой момент могут отключить, то запустим трофейную версию Confluence на своём оборудовании в России. Благо, что нам великодушно разрешили скачать бэкап наших данных из облака Atlassian.
Установка Atlassian Confluence
Для удобства установки я выбрал docker
версию Confluence, чтобы не устанавливать библиотеки и решать различные зависимости.
Так как пользуюсь Ubuntu Linux, то я воспользовался инструкцией из официальной документации docker:
Опционально можно установить Docker Desktop, хотя пока это просто свистелка-перделка, и не заменяет консоль Linux.
После успешной установки docker
самое время приступить к установке Confluence Server из официального docker-образа.
Для работы Confluence нам также понадобится база данных. Я выбрал PostgreSQL, который также установил из официального docker-образа.
Для того чтобы docker-контейнеры Confluence и PostgreSQL видели друг друга, нам потребуется запустить их через docker compose
(хотя есть извращенцы, которые пытаются связать разные docker-контейнеры по ip-адресам). Вот пример моего compose-файла:
version: '3.3'
services:
confluence-server:
depends_on:
- postgres-server
volumes:
- '/home/fk/apps/confluence/data:/var/atlassian/application-data/confluence'
- '/home/fk/apps/confluence/backup:/var/atlassian/application-data/confluence/restore/site'
container_name: confluence
environment:
JVM_SUPPORT_RECOMMENDED_ARGS: -Datlassian.recovery.password=admin //вход в Confluence после восстановления из бэкапа
ports:
- '8090:8090'
- '8091:8091'
image: confluencer-patched
restart: unless-stopped
postgres-server:
volumes:
- '/home/fk/apps/postgres:/var/lib/postgresql/data'
environment:
POSTGRES_DB: confluence-db
POSTGRES_USER: confluence-user
POSTGRES_PASSWORD: passowrd
container_name: postgres
ports:
- '5432:5432'
image: postgres
restart: unless-stopped
pgadmin4:
container_name: pgadmin4
image: 'dpage/pgadmin4:latest'
environment:
PGADMIN_DEFAULT_EMAIL: user@domain.com
PGADMIN_DEFAULT_PASSWORD: SuperSecret
ports:
- '80:80'
Кроме PostgreSQL я установил ещё и pgadmin для проверки работы базы данных, так как я устанавливал Confluence и PosgreSQL впервые.
Первый запуск Confluence делаем через docker compose up -d
из той же директории, где находится наш compose-файл.
Далее открываем в браузере адрес localhost:8090
и видим форму активации Confluence. И теперь переходим к методике затрофеивания 🙂
Для продуктов Atlassian существует отличный генератор ключей, который можно скачать, например, с RuTracker.

Взлом Confluence происходит в 2 этапа:
- Сперва надо пропатчить файлы
com.atlassian.extras_atlassian-extras-decoder-vХХХ.jar
и com.atlassian.extras_atlassian-extras-key-manager-ХХХ.jar
- Для замены файлов внутри docker-контейнера нужно исполнить команду
docker exec -it *имя-контейнера* bash
- После этого необходимо сгенерировать серийный номер с настройками как на скриншоте выше и начать пользоваться Confluence 🙂
После успешного взлома, трофейная версия Confluence Server приветствует экраном настройки соединения с базой данных, как на скриншоте ниже (к серверу БД можно обращаться по имени docker-контейнера):

Для того чтобы наш взлом не пропал после перезапуска docker
обновим образ Confluence через комманду docker commit
. Например, неплохая инструкция лежит здесь. Не забудьте обновить имя образа Confluence в файле compose.yaml
.
Восстановление из бэкапа Confluence
Для восстановления из бэкапа достаточно положить его zip-архив в директорию /var/atlassian/application-data/confluence/restore/site
. В ходе полного восстановления из бэкапа восстановятся все пользователи, настройки и данные, которые были на предыдущей установке Confluence, поэтому после перезапуска можно столкнуться с проблемой авторизации. Решение проблемы восстановления доступа можно найти здесь.
Также может проявиться ошибка с Server Base URL
, но она легко лечится.
Итоги
Получаем импортнонезависимую и трофейную установку Confluence, в которой можно продолжать работать 🙂
Полезные ссылки