Fork me on GitHub

Herr Knedel/Uncool con Atlassian: come affrontare la politica di Atlassian

Created Wed, 14 Apr 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:14:17 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

357 Words

Atlassian ha smesso di vendere le licenze per piccoli server e ho pensato a lungo a come affrontare la cosa. Dal momento che voglio ancora utilizzare la mia installazione per molto tempo, ho implementato le seguenti misure:

Misura 1: uso esclusivamente Docker

Eseguo tutti gli strumenti Atlassian come contenitori Docker. Le vecchie installazioni native possono anche essere trasferite a un’installazione Docker attraverso i dump dei database. Questi possono poi essere eseguiti comodamente su un intel Nuc o una stazione disco Synology nell’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:


Misura 2: backup dei database e delle immagini

Naturalmente, i backup quotidiani e decentralizzati dei database giocano un ruolo importante nella mia strategia di disaster recovery. Ma ho anche fatto il backup delle immagini di installazione. Un’immagine Docker può essere archiviata con il seguente comando:

x
+
Terminal

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

L’archivio può essere caricato nel registro Docker come segue.
x
+
Terminal

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

Ho anche salvato le immagini di Postgres.

Azione 3: creare una chiavetta di installazione USB

Ho fatto il backup della mia documentazione, tutti gli archivi di installazione, le directory dei dati Postgres e le configurazioni su una chiavetta USB. Come ho detto, il backup del DB è in realtà la cosa più importante perché la licenza attivata è anche nel database.