Fork me on GitHub

Herr Knedel/Uncool met Atlassian: hoe om te gaan met het Atlassian beleid

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

346 Words

Atlassian is gestopt met de verkoop van de kleine serverlicenties en ik heb lang nagedacht over hoe dit aan te pakken. Aangezien ik mijn installatie nog lange tijd wil gebruiken, heb ik de volgende maatregelen genomen:

Maatregel 1: ik gebruik uitsluitend Docker

Ik draai alle Atlassian tools als Docker containers. Oudere, native installaties kunnen ook via databasedumps worden overgezet naar een Docker-installatie. Deze kunnen dan handig worden uitgevoerd op een intel Nuc of een Synology diskstation in het 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:


Maatregel 2: Backups van de databases en images

Natuurlijk spelen dagelijkse, gedecentraliseerde databaseback-ups een grote rol in mijn strategie voor disaster recovery. Maar ik heb ook een back-up gemaakt van de installatie beelden. Een Docker image kan gearchiveerd worden met het volgende commando:

x
+
Terminal

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

Het archief kan als volgt in de Docker Registry geladen worden.
x
+
Terminal

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

Ik heb ook de Postgres images opgeslagen.

Actie 3: USB installatiestick maken

Ik heb een backup gemaakt van mijn documentatie, alle installatie archieven, de Postgres data directories en configuraties op een USB stick. Zoals ik al zei, de DB backup is eigenlijk het belangrijkste omdat de geactiveerde licentie ook in de database zit.