Fuer den Minecraft-Server der Kinder ist jetzt ein eigener LXC auf Proxmox vorbereitet und in Coolify als Server hinzugefuegt. Er bekommt eine eigene Adresse im Server-VLAN und eigene Ressourcen. Hier stehen die Befehle fuer den Aufbau, einschliesslich einer erneut aufgetauchten Locale-Warnung. Das Minecraft-Deployment selbst steht noch aus.
Ein eigener LXC fuer Minecraft#
Die Coolify-Instanz laeuft bereits im
LXC 120 unter 10.10.10.20. Fuer Minecraft kommt ein zweiter LXC dazu. So lassen sich
CPU und RAM separat begrenzen und der Minecraft-Gast unabhaengig von der Verwaltung
neu starten oder sichern.
Proxmox verwaltet den LXC. Coolify verbindet sich spaeter per SSH mit diesem Gast und steuert dort Docker, in dem Minecraft laufen soll. Eine weitere Coolify-Installation ist dafuer nicht erforderlich. Ein LXC verwendet weiterhin den Kernel des Proxmox-Hosts; die Grundlagen stehen unter LXC-Container verstehen.
| Einstellung | Wert |
|---|---|
| Proxmox-Node | pve01 |
| CT-ID und Hostname | 121, minecraft |
| System | Ubuntu 24.04 LTS, amd64 |
| CPU und RAM | 4 Kerne, 6144 MiB RAM |
| Speicher | 32 GiB auf local-lvm |
| Swap-Limit | 512 MiB |
| Container-Typ | unprivilegiert |
| Zusaetzliche Features | nesting=1,keyctl=1 fuer Docker im LXC |
| Adresse und Gateway | 10.10.10.21/24, 10.10.10.1 |
| DNS und Suchdomain | Pi-hole 10.10.10.3, xlab.internal |
Die Ressourcen sind ein Startwert fuer den Familienserver. Was tatsaechlich gebraucht wird, haengt spaeter unter anderem von Edition, Spielerzahl, Sichtweite und Mods ab.
Das Ubuntu-Template herunterladen#
Alle folgenden Shell-Befehle werden auf dem Proxmox-Host als root ausgefuehrt,
hier auf pve01. pct exec 121 -- ... startet dabei den Befehl hinter -- innerhalb
des neuen LXC; ein vorheriger Wechsel in den Container ist nicht noetig.
Fuer diesen Aufbau werden local als Template-Storage, local-lvm fuer die
Container-Disk und vmbr0 als Bridge verwendet. Vor einer Wiederholung muessen CT-ID
121 und IP 10.10.10.21 frei sein. Die Adresse muss ausserhalb des dynamischen
DHCP-Bereichs liegen oder passend reserviert sein.
pveam update
MC_TEMPLATE=$(pveam available --section system \
| awk '$2 ~ /^ubuntu-24\.04-standard_.*_amd64/ {print $2; exit}')
pveam download local "${MC_TEMPLATE:?Kein Ubuntu-24.04-Template gefunden}"Der Template-Name kommt aus dem aktuellen Katalog. Damit ist im Befehl keine konkrete Archivversion festgeschrieben. Proxmox: Template-Verwaltung
Den Container erstellen und starten#
Nach erfolgreichem Download in derselben Shell:
pct create 121 "local:vztmpl/${MC_TEMPLATE:?Template fehlt}" \
--hostname minecraft \
--ostype ubuntu \
--unprivileged 1 \
--features nesting=1,keyctl=1 \
--cores 4 \
--memory 6144 \
--swap 512 \
--rootfs local-lvm:32 \
--net0 name=eth0,bridge=vmbr0,ip=10.10.10.21/24,gw=10.10.10.1 \
--nameserver 10.10.10.3 \
--searchdomain xlab.internal \
--onboot 1 \
--start 1--start 1 startet den LXC sofort, --onboot 1 auch beim Hochfahren des Hosts.
--swap 512 setzt das erlaubte Swap-Limit; es legt keine eigene Swap-Datei an.
Proxmox: pct-Befehlsreferenz
Das Server-VLAN 10 liegt am
Proxmox-Uplink bereits native/untagged an. Deshalb enthaelt net0 keinen
zusaetzlichen tag=10. Diese Einstellung gehoert zu meinem Switch- und Bridge-Aufbau;
eine IP aus dem Servernetz allein stellt die VLAN-Zuordnung nicht her.
SSH fuer Coolify vorbereiten#
Coolify braucht eine SSH-Verbindung zum neuen Gast. Die Pakete lassen sich direkt vom Proxmox-Host aus installieren:
pct exec 121 -- apt-get update
pct exec 121 -- apt-get install -y openssh-server curl ca-certificates
pct exec 121 -- systemctl enable --now sshBeim letzten Befehl erschien dieselbe Warnung wie zuvor beim Coolify-LXC:
perl: warning: Setting locale failed.
LANG = "en_US.UTF-8"Die Locale war als Spracheinstellung gesetzt, im frischen Container aber nicht verfuegbar. Das allein bedeutet noch nicht, dass SSH nicht gestartet wurde.
Die Locale-Warnung beheben#
Auch dieser Fix laeuft vom Proxmox-Host aus:
pct exec 121 -- env LC_ALL=C apt-get install -y locales
pct exec 121 -- locale-gen en_US.UTF-8
pct exec 121 -- update-locale LANG=en_US.UTF-8LC_ALL=C gilt hier nur fuer die Paketinstallation. Anschliessend erzeugt locale-gen
die fehlende Locale und update-locale setzt den Standard fuer den Container.
Damit war die Warnung behoben.
Ubuntu: Locales
Den SSH-Status separat pruefen:
pct exec 121 -- systemctl is-active sshErwartet wird active. Fuer eine interaktive Shell im LXC gibt es ausserdem:
pct enter 121Nach pct enter laufen Befehle direkt im Container. Mit exit geht es zurueck
auf den Proxmox-Host.
Den Gast in Coolify hinzufuegen#
Der neue Server ist inzwischen in der bestehenden Coolify-Instanz hinzugefuegt.
Die Verbindung verwendet die Gast-IP 10.10.10.21 und SSH auf Port 22.
Fuer die Anmeldung muss der oeffentliche Teil des in Coolify hinterlegten
SSH-Schluessels im Minecraft-LXC unter /root/.ssh/authorized_keys stehen.
Der Ablauf in Coolify ist Servers → Add → Manual. Als Serveradresse wird
10.10.10.21, als Benutzer root und als Schluessel der passende SSH-Key eingetragen.
Ueber Validate Server & Install Docker Engine prueft Coolify die Verbindung und
kann Docker auf dem Gast einrichten. Nach erfolgreicher Validierung laesst sich der
Server als Deployment-Ziel auswaehlen.
Coolify: Server hinzufuegen
Der Zugriff der Kinder folgt mit dem Deployment#
Der Minecraft-LXC bleibt im Server-VLAN 10, die Kindergeraete bleiben im
Kids-VLAN 25. Fuer das Spiel braucht es eine gezielte Ausnahme in der
Firewall: vom Kids-Netz
10.10.25.0/24 zur neuen Server-IP 10.10.10.21, begrenzt auf den Spielport.
Die Regel muss vor der allgemeinen Sperre von Restricted nach Internal stehen.
Fuer einen Java-Server mit Standardport waere das TCP 25565. Die Freigabe muss zum tatsaechlich veroeffentlichten Host-Port passen; die Minecraft-Vorlage von Coolify bildet diesen auf den Spielport im Docker-Container ab. Die Kinder verbinden sich dann direkt mit dem Minecraft-LXC. Fuer den Zugriff im Heimnetz ist keine Portweiterleitung am Internetanschluss erforderlich.
Abgeschlossen sind die Vorbereitung des LXC, der Locale-Fix und das Hinzufuegen des Servers in Coolify. Die Wahl der Minecraft-Edition, das Deployment mit dauerhafter Weltablage und Backup sowie die Firewall-Freigabe und ein Verbindungstest aus dem Kids-Netz stehen noch aus.