Fork me on GitHub

Herr Knedel/Uncool с Atlassian: как справиться с политикой Atlassian

Created Wed, 14 Apr 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 16:10:12 +0000 Уровень сложности: Это может занять немного больше времени

329 Words

Компания Atlassian прекратила продажу лицензий на небольшие серверы, и я долго думал, как с этим быть. Поскольку я все еще хочу использовать свою установку в течение длительного времени, я предпринял следующие меры:

Мера 1: Я использую исключительно Docker

Я запускаю все инструменты Atlassian как контейнеры Docker. Старые, “родные” установки также могут быть перенесены в установку Docker с помощью дампов баз данных. Затем их можно удобно запустить на intel Nuc или дисковой станции Synology в домашней лаборатории.

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-накопитель. Как я уже сказал, резервное копирование БД на самом деле является наиболее важным, поскольку активированная лицензия также находится в базе данных.