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

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

Установка Confluence Ubuntu

Confluence - это вики-система для внутреннего использования организациями, с целью создания единой базы знаний.

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

Требования:

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

Шаг 1. Создаём структуру

Создаём директории:

1
sudo mkdir -p /opt/confluence/activate

И файл:

1
sudo nano /opt/confluence/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
56
57
58
version: '3.7'
services:
  nginx:
    container_name: nginx
    image: nginx:alpine
    ports:
      - "443:443"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/certs:/etc/nginx/certs:ro
    depends_on:
      - confluence
    networks:
      - conf-proxy

  confluence:
    container_name: confluence
    image: atlassian/confluence:9.0.3
    restart: unless-stopped
    volumes:
      - var:/var/atlassian/application-data/confluence
      - opt:/opt/atlassian/confluence
      - ./activate:/opt/atlassian/atlassian-agent/
    environment:
      - 'CONFLUENCE_DB_HOST=db'
      - 'CONFLUENCE_DB_PORT=5432'
      - 'JVM_MINIMUM_MEMORY=2048m'
      - 'JVM_MAXIMUM_MEMORY=4096m'
      - 'ATL_PROXY_NAME=confluence.domain.local'
      - 'ATL_PROXY_PORT=443'
      - 'ATL_TOMCAT_SCHEME=https'
      - 'TZ=Europe/Moscow'
    networks:
      - conf-proxy

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_USER: confluencedb
      POSTGRES_PASSWORD: changeME # (Изменить на свой)
      POSTGRES_DB: confluencedb
      PGDATA: /data/postgres
    volumes:
       - ./postgres:/data/postgres
    ports:
      - "5432:5432"
    restart: unless-stopped
    networks:
      - conf-proxy

networks:
  conf-proxy:

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

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

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

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

1
sudo nano /opt/confluence/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 confluence.domain.local; #Меняйте на своё имя

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

    location / {
      proxy_pass http://confluence:8090;

      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/confluence/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=confluence.domain.local"

Переходим в директорию с файлом:

1
cd /opt/confluence/

И запускаем:

1
docker-compose up -d

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

Переходим в браузер и набираем IP нашего хоста (Или DNS, если сделали запись)

Выбираем Non-cluster (single node)

Далее подключаемся к нашей базе данных, используя данные указанные в compose-файле

После чего выйдет окно активации.

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

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

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

Создаёте тестовое пространство, тестовый проект и входите в Confluence.

Дальнейшее конфигурирование выполняется через панель администратора.

Информацию можно использовать в свободном доступе, с указанием ссылки на сайт
Telegram GitHub