Merge branch 'main' of gitpot.org:tbz/m158

This commit is contained in:
miliena 2024-07-04 21:13:05 +02:00
commit ff6488ae32
2 changed files with 79 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View file

@ -4,7 +4,11 @@
- [Inhaltsverzeichnis](#inhaltsverzeichnis)
- [Setup VM](#setup-vm)
- [Proxmox ID und IP Format](#proxmox-id-und-ip-format)
- [Installation Wings](#installation-wings)
- [Dependencies](#dependencies)
- [Wings Installation](#wings-installation)
- [Wings Configuration](#wings-configuration)
- [Daemonizing](#daemonizing)
## Setup VM
@ -15,14 +19,88 @@ Diese VM sollte im Idealfall genug Ressourcen für so viele Server haben, wie au
Das wird im Kapitel [Planen](../README.md#serverressourcen) behandelt.
![create vm in proxmox](../../assets/wings/create-vm-1.png)
Zuerst definieren wir eine ID. Da habe ich (Stelian) eine strikte Definition und Gruppierung, die auch die IP Adresse bestimmt. Hostname ist `wings`.
### Proxmox ID und IP Format
| Service Category | ID Format | IP Address |
| ---------------- | --------- | --------------- |
| Miscellaneous | `9TXX` | `10.1.9T.XX/16` |
```txt
9TXX ==> 9120 ==> 10.1.91.20/16
^ X steht für die Ziffer der VM/des CTs.
^ T steht für den Typ der Ressource, also Container oder VM (0 oder 1 respektive)
^ 9 ist die Category-ID, davon hat es einige mehr
```
![choose iso for vm](../../assets/wings/create-vm-2.png)
![leave bios settings as default](../../assets/wings/create-vm-3.png)
Als Betriebssystem wählen wir Ubuntu 24.04 LTS, da das die neueste Ubuntu Server LTS Version ist, und meine prefferierte Wahl für VMs ist, und auch von Pterodactyl unterstützt wird.
![create virtual qcow2 drive](../../assets/wings/create-vm-4.png)
Als VHD kreiren wir eine 128 GB grosse Harddisk, damit alle jetzigen (und zukünftigen) Gameserver platz finden.
![4 cores for the system](../../assets/wings/create-vm-5.png)
Das System kriegt 4 Threads (oder vCores) von den 8 verfügbaren, nutzt aber nicht zu jeder Zeit alle.
![32GB of RAM](../../assets/wings/create-vm-6.png)
Wie [hier](../README.md#serverressourcen) schon erwähnt, kann diese VM 32 GB auf meinem System besetzen. Würde der Server in Zukunft mehr benötigen, kann ich entweder einige Gameserver stoppen, oder mehr RAM in den Host einbauen.
![network vmbr1 for LAN](../../assets/wings/create-vm-7.png)
Hier wähle ich eins meiner zwei Netzwerkbridges auf meinem System.
| Bridge | Network |
| ------- | -------------------------- |
| `vmbr0` | WAN und Static IPs |
| `vmbr1` | LAN, `10.1.0.0/16` Subnetz |
Container und VMs, die eine statische IPv4 haben, kriegen `vmbr0` als Netzwerkinterface. Das erlaubt ihnen mit der jetzigen Konfiguration, direkt ins Internet zu sprechen.
Wings setzen wir aber erstmals ins LAN Subnetz, also `vmbr1`, da wir momentan keine statische IP benötigen. Wir können später mit Caddy einen Port von Aussen zum Minecraft Server zum Testen weiterleiten.
In einer Produktionsumgebung wäre es ein Nice-to-Have eine statische IPv4 für diese Minecraft Server zu besitzen, damit sowas nicht nötig ist.
![creation summary](../../assets/wings/create-vm-8.png)
So sieht die finale VM nun also aus.
## Installation Wings
Nach einer kurzen Installation von Ubuntu auf dem Server kann man schon mit der Installation von Wings beginnen.<br>
Hierfür gehe ich genau wie in [dieser](https://pterodactyl.io/wings/1.0/installing.html) Dokumentation beschrieben vor.
### Dependencies
Docker ist bereits auf der VM installiert, da ich die VM anch Ubuntu's Installation mit [dieser](https://gitpot.org/lunivity/ansible-core/src/branch/main/roles/docker/tasks/main.yml) Ansible Rolle initialisiert habe. Ansonsten kann man Docker auch mit folgendem Command leicht installieren:
```bash
# install docker using their official script
$ curl -sSL https://get.docker.com/ | CHANNEL=stable bash
```
### Wings Installation
Um `wings` zu installieren, führen wir einfach folgende Commands aus:
```bash
# create wings directory
$ sudo mkdir -p /etc/pterodactyl
# download wings binary
$ curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
# set the wings binary to be executable
$ sudo chmod u+x /usr/local/bin/wings
```
### Wings Configuration
Jetzt müssen wir zurück ins Panel um eine `wings` Konfiguration zu erstellen. Das können wir unter `Admin Panel -> Nodes -> Create New`
### Daemonizing