Fork me on GitHub

Herr Knedel/Uncool with Atlassian: як боротися з політикою Atlassian

Created Wed, 14 Apr 2021 00:00:00 +0000 Modified Sat, 01 Oct 2022 10:48:42 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

326 Words

Atlassian припинив продаж ліцензій на малі сервери і я довго думав, як з цим бути. Оскільки я все ще хочу користуватися своєю установкою тривалий час, то здійснив наступні заходи:

Захід 1: Я використовую виключно Docker

Я запускаю всі інструменти Atlassian як контейнери Docker. Старі, рідні інсталяції також можуть бути перенесені на інсталяцію Docker через дампи баз даних. Потім їх можна зручно запускати на intel Nuc або дискової станції Synology в Homelab.

version: '2'
services:
  jira:
    image: atlassian/jira-software
    container_name: jira_application
    depends_on:
      - db
    restart: always
    environment:
      TZ: 'Europe/Berlin'
    ports:
      - 8080:8080
    volumes:
      - ./jira-data:/var/atlassian/application-data/jira
    networks:
      - jira-network
      
  db:
    restart: always
    image: postgres:latest
    container_name: jira_db
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=jira
      - POSTGRES_PASSWORD=jirapass
      - POSTGRES_DB=jira
    networks:
      - jira-network

networks:
  jira-network:


version: '2'
services:
  confluence:
    container_name: confluence_server
    image: atlassian/confluence-server:latest
    restart: always
    environment:
      TZ: "Europe/Berlin"
    volumes:
      - ./confluence:/var/atlassian/application-data/confluence/
    ports:
      - 8080:8080
    networks:
      - confluence-network
    depends_on:
      - db

  db:
    image: postgres:latest
    container_name: confluence_postgres
    restart: always
    volumes:
      - /postgresql:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=confluencedb
      - POSTGRES_PASSWORD=confluence-password
      - POSTGRES_DB=confluenceUser
    networks:
      - confluence-network

networks:
  confluence-network:

version: '2'

services:
  bamboo:
    container_name: bamboo_server
    image: atlassian/bamboo-server
    restart: always
    environment:
      TZ: "Europe/Berlin"
    volumes:
      - ./bamboo-data:/var/atlassian/application-data/bamboo
    ports:
      - 8080:8080
    networks:
      - bamboo-network
    depends_on:
      - db

  db:
    image: postgres:latest
    container_name: bamboo-postgres
    restart: always
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=bamboo
      - POSTGRES_PASSWORD=bamboo
      - POSTGRES_DB=bamboo
    networks:
      - bamboo-network

networks:
  bamboo-network:


Захід 2: Резервне копіювання баз даних та зображень

Звичайно, щоденне децентралізоване резервне копіювання баз даних відіграє велику роль у моїй стратегії аварійного відновлення. Але я також створив резервну копію інсталяційних образів. Образ Docker можна заархівувати за допомогою наступної команди:

x
+
Terminal

$ docker save -o bamboo-7.2.3-image.tar atlassian/bamboo-server

Завантажити архів до реєстру Docker можна наступним чином.
x
+
Terminal

$ ocker load -i bamboo-7.2.3-image.tar

Я також зберіг зображення у форматі Postgres.

Крок 3: Створіть інсталяційний USB-накопичувач

Я створив резервну копію своєї документації, всіх інсталяційних архівів, каталогів даних Postgres та конфігурацій на USB-накопичувачі. Як я вже казав, резервна копія БД - це насправді найголовніше, тому що активована ліцензія також знаходиться в базі даних.