[a] wings docs

This commit is contained in:
Sangelo 2024-07-09 23:01:40 +02:00
parent 9923c6572f
commit 1d743431e2
3 changed files with 72 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View file

@ -2,15 +2,14 @@
## Inhaltsverzeichnis
- [Realisieren: Wings](#realisieren-wings)
- [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)
- [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
@ -104,11 +103,47 @@ $ sudo chmod u+x /usr/local/bin/wings
Jetzt müssen wir zurück ins Panel um eine `wings` Konfiguration zu erstellen. Das können wir unter `Admin Panel -> Nodes -> Create New`
![create node](../../assets/wings/create-node.png)
Hier tippen wir die *interne IP Adresse* vom Nest-Host ein. Das machen wir so, weil Nest am Besten mit einer dedizierten IP Adresse läuft.<br>
Wir haben bereits jegliche Konfigurationen (hinter Reverse Proxy, hinter Reverse Proxy über HTTP, etc.), aber keine schien gut zu funktionieren (je nach Konfiguration an verschiedenen Punkten keine Verbindung mehr zum Host).
Sobald wir auf 'Save Changes' klicken, gibt uns das eine Konfiguration, die in etwa so aussieht:
```yml
debug: false
uuid: <redacted>
token_id: <redacted>
token: <redacted>
api:
host: 0.0.0.0
port: 2080
ssl:
enabled: false
cert: /etc/letsencrypt/live/10.1.91.20/fullchain.pem
key: /etc/letsencrypt/live/10.1.91.20/privkey.pem
upload_limit: 100
system:
data: /var/lib/pterodactyl/volumes
sftp:
bind_port: 2022
allowed_mounts: []
remote: 'http://nugget.sangelo.space'
```
Diese Konfiguration machen wir in `/etc/pterodactyl/config.yml` auf dem Wings Server und starten diesen dann mit `sudo wings --debug` zum Testen der Verbindung.
![node health](../../assets/wings/node-health.png)
Sobald Wings läuft, sehen wir im About Tab, dass die Verbindung erfolgreich ist. Das kann man an der erkannten Daemon Version und an den korrekten Systeminformationen erkennen.
Jetzt können wir das Backend auch daemonizen.
### Daemonizing
Daemonizing bedeutet, das Programm in einen Dienst umzuwandeln. Unter Ubuntu macht man das mit Systemd, welches .service-Dateien als Anweisungen nimmt. Der Inhalt dieser Datei ist bei jeder Wings-Installation gleich, also kann man sie einfach aus der Anleitung kopieren:
```conf
```ini
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
@ -132,4 +167,30 @@ WantedBy=multi-user.target
In dieser Datei wird grob gesagt definiert, mit welchem User welches Programm ausgeführt werden soll. Es hat noch einige Parameter mehr wie zum Beispiel die Restart Policy und die Startintervalle.
Wenn man diese Datei nun unter `/etc/systemd/system` als `wings.service` speichert, kann man den Dienst mit dem Befehl `systemctl enable --now wings` aktivieren und auch gleich starten.
Wenn man diese Datei nun unter `/etc/systemd/system` als `wings.service` speichert, kann man den Dienst mit dem Befehl `systemctl enable --now wings` aktivieren und auch gleich starten.<br>
Bevor dieser Befehl aber verfügbar ist, muss der SystemD-Daemon reloaded werden mit `systemctl daemon-reload`.
```bash
$ systemctl enable --now wings.service; systemctl status wings.service
● wings.service - Pterodactyl Wings Daemon
Loaded: loaded (/etc/systemd/system/wings.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-07-09 20:42:33 UTC; 3s ago
Main PID: 24459 (wings)
Tasks: 9 (limit: 35772)
Memory: 10.2M (peak: 11.0M)
CPU: 55ms
CGroup: /system.slice/wings.service
└─24459 /usr/local/bin/wings
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.207] checking for pterodactyl system us>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.207] configured system user successfull>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.209] fetching list of servers from API
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.469] processing servers returned by the>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.469] finished processing server configu>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.471] configuring system crons interval>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.471] starting cron processes subsyste>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.472] configuring internal webserver hos>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.472] updating server states on Panel: m>
Jul 09 20:42:33 wings wings[24459]: INFO: [Jul 9 20:42:33.473] sftp server listening for connecti>
```