Compare commits

..

No commits in common. "b401c2fbdfa8f847efd8890c3048ecd32dee4b51" and "ce9425a4b03a46d73de62699f16782639650f864" have entirely different histories.

2 changed files with 46 additions and 41 deletions

View file

@ -2,25 +2,26 @@
## Inhaltsverzeichnis ## Inhaltsverzeichnis
- [Inhaltsverzeichnis](#inhaltsverzeichnis) - [Modul 158: Softwaremigration Planen und Durchführen](#modul-158-softwaremigration-planen-und-durchführen)
- [Einleitung](#einleitung) - [Inhaltsverzeichnis](#inhaltsverzeichnis)
- [Informieren](#informieren) - [Einleitung](#einleitung)
- [Planen](#planen) - [Informieren](#informieren)
- [Ziele](#ziele) - [Planen](#planen)
- [Must-have](#must-have) - [Ziele](#ziele)
- [Nice to have](#nice-to-have) - [Must-have](#must-have)
- [Low priority](#low-priority) - [Nice to have](#nice-to-have)
- [To-do](#to-do) - [Low priority](#low-priority)
- [Panel](#panel) - [To-do](#to-do)
- [Wings](#wings) - [Panel](#panel)
- [Post-Installation](#post-installation) - [Wings](#wings)
- [Migrationsplan](#migrationsplan) - [Post-Installation](#post-installation)
- [Serverressourcen](#serverressourcen) - [Migrationsplan](#migrationsplan)
- [Entscheiden](#entscheiden) - [Serverressourcen](#serverressourcen)
- [Realisieren](#realisieren) - [Entscheiden](#entscheiden)
- [Kontrollieren](#kontrollieren) - [Realisieren](#realisieren)
- [Testen](#testen) - [Kontrollieren](#kontrollieren)
- [Auswerten](#auswerten) - [Testen](#testen)
- [Auswerten](#auswerten)
## Einleitung ## Einleitung
@ -38,18 +39,19 @@ Damit die Migration von dem Pterodactyl Gameserver Panel reibungslos verläuft,
#### Must-have #### Must-have
- [ ] Minecraft Server 100% migriert (inkl. save data) - [ ] Minecraft Server 100% migriert (inkl. save data)
- [x] Funktionelles Wings Backend - [ ] Funktionelles Wings Backend
- [x] Virtualisiertes Wings & Panel - [ ] Virtualisiertes Wings & Panel
- [x] Reverse Proxy - [x] Reverse Proxy
- [x] 2FA - [ ] Backups
#### Nice to have #### Nice to have
- [ ] Virtualisiertes Wings Panel mit dedizierter IP Adresse - [ ] Virtualisiertes Wings Panel mit dedizierter IP Adresse
- [x] 2FA
#### Low priority #### Low priority
- [ ] Backups - no tasks here
### To-do ### To-do
@ -66,7 +68,7 @@ Damit die Migration von dem Pterodactyl Gameserver Panel reibungslos verläuft,
- [x] Setup VM - [x] Setup VM
- [x] Check if all dependencies are met. (`curl`, `docker`) - [x] Check if all dependencies are met. (`curl`, `docker`)
- [x] Download and Configure Wings - [ ] Download and Configure Wings
#### Post-Installation #### Post-Installation

View file

@ -2,13 +2,14 @@
## Inhaltsverzeichnis ## Inhaltsverzeichnis
- [Inhaltsverzeichnis](#inhaltsverzeichnis) - [Realisieren: Panel](#realisieren-panel)
- [LXC Container](#lxc-container) - [Inhaltsverzeichnis](#inhaltsverzeichnis)
- [Docker Image und Compose vorbereiten](#docker-image-und-compose-vorbereiten) - [LXC Container](#lxc-container)
- [Deployment vom Panel](#deployment-vom-panel) - [Docker Image und Compose vorbereiten](#docker-image-und-compose-vorbereiten)
- [2FA](#2fa) - [Deployment vom Panel](#deployment-vom-panel)
- [Reverse Proxy](#reverse-proxy) - [2FA](#2fa)
- [Probleme](#probleme) - [Reverse Proxy](#reverse-proxy)
- [Probleme](#probleme)
## LXC Container ## LXC Container
@ -92,33 +93,35 @@ If you would like to create an account with a random password emailed to the use
Die erste Benutzereinrichtung wird über die Commandline im Container vorgenommen. Danach können Benutzer einfach über das Webinterface eingerichtet werden. Die erste Benutzereinrichtung wird über die Commandline im Container vorgenommen. Danach können Benutzer einfach über das Webinterface eingerichtet werden.
### 2FA ### 2FA
Sobald das Panel live ist, kann man mit einem Administratorenkonto unter "Admin Control" am folgenden Ort 2FA aktivieren. Sobald das Panel live ist, kann man mit einem Administratorenkonto unter "Admin Control" am folgenden Ort 2FA aktivieren.
> [!CAUTION] > [!CAUTION]
> Dies erzwingt 2FA sofort auch für den angemeldeten Accounts > Dies erzwingt 2FA sofort auch für den angemeldeten Accounts
![basic administration -> settings -> general -> "Require 2-Factor Authentication" to "All Users"](../../assets/panel/enable-2fa.png) ![basic administration -> settings -> general -> "Require 2-Factor Authentication" to "All Users"](../../assets/panel/enable-2fa.png)
## Reverse Proxy ## Reverse Proxy
Das Caddyfile leitet alle Anfragen an `nugget.sangelo.space` über einen Reverse-Proxy an den Server `10.1.30.1:2080` weiter und sagt Caddy es soll die IP und location des Host auch mit sended um die standart Konfiguration von Caddy ignorieren. Das Caddyfile leitet alle Anfragen an `nugget.sangelo.space` über einen Reverse-Proxy an den Server `10.1.30.1:2080` weiter und sagt Caddy es soll die IP und location des Host auch mit sended um die standart Konfiguration von Caddy ignorieren.
```Caddy ```Caddy
nugget.sangelo.space { nugget.sangelo.space {
reverse_proxy https://10.1.30.1:2443 { reverse_proxy https://10.1.30.1:2443 {
header_up X-Real-IP {remote_host} header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host} header_up X-Forwarded-For {remote_host}
header_up Host {upstream_hostport} header_up Host {upstream_hostport}
} }
} }
``` ```
## Probleme ## Probleme
Nach dem Deployen vom Panel hatten wir das Problem, dass nach jeder Änderung im Panel ein Server Error 500 aufgetaucht ist. Dank einem [offenen Issue](https://github.com/pterodactyl/panel/issues/5051) haben wir erkannt, dass es sich um ein Berechtigungsfehler im Container handelt. Nach dem Deployen vom Panel hatten wir das Problem, dass nach jeder Änderung im Panel ein Server Error 500 aufgetaucht ist. Dank einem [offenen Issue](https://github.com/pterodactyl/panel/issues/5051) haben wir erkannt, dass es sich um ein Berechtigungsfehler im Container handelt. Nachdem wir beim erneuten Deployment folgenden Befehl `docker compose exec panel chown -R nginx: /app/storage/logs/` verwendet haben, hat alles funktioniert.
Nachdem wir beim erneuten Deployment folgenden Befehl `docker compose exec panel chown -R nginx: /app/storage/logs/` verwendet haben, hat alles funktioniert.
Dieser Befehl ändert den Besitzer der Ordners `/app/storage/logs` auf den User Nginx, was nötig ist, da der Webserver ansonsten keine Logs schreiben kann. Dieser Befehl ändert den Besitzer der Ordners `/app/storage/logs` auf den User Nginx, was nötig ist, da der Webserver ansonsten keine Logs schreiben kann.