From b9a43f2ac7f71b5152c1328754c2e89ae21eb6c9 Mon Sep 17 00:00:00 2001 From: HDW Date: Fri, 1 May 2026 10:36:26 +0200 Subject: [PATCH] rimworld --- apps/rimworld-together.yaml | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/apps/rimworld-together.yaml b/apps/rimworld-together.yaml index 42414ac..b0d1980 100644 --- a/apps/rimworld-together.yaml +++ b/apps/rimworld-together.yaml @@ -1,19 +1,18 @@ --- -# 1. NAMESPACE +# 1. Namespace erstellen apiVersion: v1 kind: Namespace metadata: name: rimworld --- -# 2. SERVICE (MetalLB Integration) +# 2. Service für MetalLB (Netzwerkzugriff) apiVersion: v1 kind: Service metadata: name: rimworld-together-hub namespace: rimworld annotations: - # Optional: Falls du eine feste IP aus deinem Pool willst, hier eintragen: - # metallb.universe.tf/loadBalancerIPs: 192.168.x.x + # MetalLB Annotation für IP-Management metallb.universe.tf/allow-shared-ip: "rimworld-hub" spec: type: LoadBalancer @@ -21,10 +20,10 @@ spec: app: rimworld-together ports: - protocol: TCP - port: 9050 - targetPort: 9050 + port: 25555 # Externer Port (wie in deinem Docker-Befehl) + targetPort: 25555 # Interner Port im Container --- -# 3. STATEFULSET (Die App-Logik) +# 3. StatefulSet (Die App mit Speicher und Node-Zuweisung) apiVersion: apps/v1 kind: StatefulSet metadata: @@ -41,7 +40,7 @@ spec: labels: app: rimworld-together spec: - # NODE AFFINITY: Damit der Pod auf deinem Gaming-Node landet + # Node Affinity: Zwingt den Pod auf deine Gaming-Hardware affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: @@ -53,10 +52,12 @@ spec: - Games containers: - name: hub - image: ghcr.io/rimworldtogether/rimworld-together:latest + # KORREKTER PFAD: ghcr.io/rimworld-together/rimworld-together + image: ghcr.io/rimworld-together/rimworld-together:latest imagePullPolicy: Always + tty: true + stdin: true resources: - # Optimierte Limits für Talos requests: cpu: 250m memory: 512Mi @@ -64,19 +65,17 @@ spec: cpu: 1000m memory: 2Gi ports: - - containerPort: 9050 + - containerPort: 25555 name: hub-port volumeMounts: - name: storage - mountPath: /app/Data - # AUTOMATISCHES PVC (Wird von Argo CD verwaltet) + mountPath: /Data # Der Pfad aus dem Docker-Volume-Mapping + # Automatisches Erstellen des Speichers auf Talos volumeClaimTemplates: - metadata: name: storage spec: accessModes: [ "ReadWriteOnce" ] - # Falls du eine spezielle StorageClass hast (z.B. longhorn), hier eintragen: - # storageClassName: "longhorn" resources: requests: storage: 2Gi