Fork me on GitHub

Herr Knedel/Des choses pas cool avec Atlassian : comment gérer la politique d'Atlassian

Created Wed, 14 Apr 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:00:35 +0000 Niveau de difficulté: Ça peut prendre un peu plus de temps

377 Words

Atlassian a cessé de vendre les petites licences serveur et j’ai longuement réfléchi à la manière de gérer cette situation. Comme je veux continuer à utiliser mon installation pendant longtemps, j’ai mis en place les mesures suivantes :

Mesure 1 : j’utilise exclusivement Docker

J’exploite tous les outils Atlassian sous forme de conteneurs Docker. Même les anciennes installations natives peuvent être transformées en installations Docker via des dumps de bases de données. Celles-ci peuvent ensuite être facilement exploitées sur un intel Nuc ou une station de disque Synology dans le 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:


Action 2 : sauvegarder les bases de données et les images

Bien sûr, les sauvegardes quotidiennes et décentralisées des bases de données jouent un rôle important dans ma stratégie de reprise après sinistre. Mais j’ai également sauvegardé les images d’installation. Une image Docker peut être archivée avec la commande suivante :

x
+
Terminal

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

L’archive peut être chargée dans le registre Docker de la manière suivante.
x
+
Terminal

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

J’ai également sauvegardé les images Postgres.

Action 3 : créer une clé USB d’installation

J’ai sauvegardé ma documentation, toutes les archives d’installation, les répertoires de données Postgres et les configurations sur une clé USB. Comme je l’ai dit, la sauvegarde de la base de données est en fait la plus importante, car la licence activée se trouve également dans la base de données.