# M346 - Cloud Lösungen konzipieren und realisieren

# Minecraft mit Ansible

## Auftrag

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800174460.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800174460.png)

## Ansible Installation und Setup

### Installation

#### Alte Ansible Version entfernen

``` bash
sudo apt remove ansible
sudo apt --purge autoremove
```

#### Update und Upgrade Rep

``` bash
sudo apt update
sudo apt upgrade
```

#### Personal Package Archives auf die neuste Version konfigurieren

``` bash
sudo apt -y install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
```

#### Installieren von Ansible

``` bash
sudo apt install ansible
```

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800186038.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800186038.png)

Source: [https://www.cyberciti.biz/faq/how-to-install-and-configure-latest-version-of-ansible-on-ubuntu-linux/](https://www.cyberciti.biz/faq/how-to-install-and-configure-latest-version-of-ansible-on-ubuntu-linux/)

### SSH Keys auf Ansible System kopieren

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800194010.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800194010.png)

### Inventory File erstellen

``` yaml title="inventory"
[minecraft]
primary ansible_host=192.168.66.71 ansible_user=manuel
```

### Inventory Konfiguration testen

``` bash
ansible all -i inventory --list-hosts
```

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800201207.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800201207.png)

``` bash
ansible all -i inventory –m ping
```

### Playbook

#### Erstellen

``` yaml title="playbook.yml"
---
- hosts: all
  tasks:
    - name: Print message
      debug:
        msg: Hello Ansible World
```

#### Testen

``` bash
ansible-playbook -i inventory playbook.yml
```

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800208627.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800208627.png)

### Minecraft Docker Ansible Skript

#### Erstellen

``` yaml title="minecraft.yml"
---
- hosts: all
  become: yes
  tasks:
    - name: Install docker
      ansible.builtin.apt:
        name: docker.io
        update_cache: yes

    - name: Pull und run Minecraft Server
      community.docker.docker_container:
        name: mcserver
        image: itzg/minecraft-server
        restart_policy: always
        ports:
          - "25565:25565"
        env:
          EULA: "TRUE"
          VERSION: "1.18.2"
```

#### Testen

##### Mit Ansible auf die VM Installieren

``` bash
ansible-playbook -i inventory minecraft.yml
```

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800215959.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800215959.png)

##### Auf VM kontrollieren ob Docker Container am laufen ist + Kontrollieren ob Container Automatisch startet.

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800223210.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800223210.png)

##### Auf Minecraft Server verbinden.

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800230609.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800230609.png)

[![](https://docs.mregli.com/uploads/images/gallery/2025-12/scaled-1680-/image-1766800236150.png)](https://docs.mregli.com/uploads/images/gallery/2025-12/image-1766800236150.png)

### Schwierigkeiten

community.docker.docker_container hat zu anfangs nicht funktioniert da ich auf der Version 2.9.6 arbeitete (Per Teams Anleitung Installiert) und diese laut GitHub viele Bugs aufzuweisen hat.