Fork me on GitHub

Herr Knedel/Ukøligt med Atlassian: hvordan du håndterer Atlassians politik

Created Wed, 14 Apr 2021 00:00:00 +0000 Modified Tue, 29 Mar 2022 17:07:44 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

313 Words

Atlassian er holdt op med at sælge de små serverlicenser, og jeg har længe tænkt over, hvordan jeg skal håndtere dette. Da jeg stadig ønsker at bruge mit anlæg i lang tid, har jeg gennemført følgende foranstaltninger:

Foranstaltning 1: Jeg bruger udelukkende Docker

Jeg kører alle Atlassian værktøjer som Docker-containere. Ældre, oprindelige installationer kan også overføres til en Docker-installation via databasedumps. Disse kan så nemt køres på en intel Nuc eller en Synology diskstation i Homelab’et.

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:


Foranstaltning 2: Sikkerhedskopiering af databaser og billeder

Selvfølgelig spiller daglige, decentraliserede database-backups en stor rolle i min katastrofeberedskabsstrategi. Men jeg har også sikkerhedskopieret installationsaftrykkene. Et Docker-aftryk kan arkiveres med følgende kommando:

x
+
Terminal

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

Arkivet kan indlæses i Docker Registry på følgende måde.
x
+
Terminal

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

Jeg har også gemt Postgres-aftrykkene.

Aktion 3: Opret USB-installationsenhed

Jeg har sikkerhedskopieret min dokumentation, alle installationsarkiver, Postgres-datakataloger og konfigurationer til et USB-stik. Som sagt er DB-backuppen faktisk det vigtigste, fordi den aktiverede licens også findes i databasen.