diff --git a/apps/stardew/deployment.yaml b/apps/stardew/deployment.yaml new file mode 100644 index 0000000..fe8ee3d --- /dev/null +++ b/apps/stardew/deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stardew-server + namespace: stardew +spec: + replicas: 1 + selector: + matchLabels: + app: stardew + template: + metadata: + labels: + app: stardew + spec: + containers: + - name: stardew-server + image: stardew-valley-dedicated-server/server:latest # Prüfe das offizielle Image-Tag + env: + - name: SERVER_NAME + value: "Mein Homelab Server" + - name: PASSWORD + value: "DeinPasswort123" + ports: + - containerPort: 24642 + protocol: UDP + volumeMounts: + - name: stardew-storage + mountPath: /config # Standardpfad im Container + volumes: + - name: stardew-storage + persistentVolumeClaim: + claimName: stardew-data diff --git a/apps/stardew/pvc.yaml b/apps/stardew/pvc.yaml new file mode 100644 index 0000000..331198c --- /dev/null +++ b/apps/stardew/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: stardew-data + namespace: stardew # Passe deinen Namespace an +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi # 1GB reicht für Spielstände völlig aus diff --git a/apps/stardew/service.yaml b/apps/stardew/service.yaml new file mode 100644 index 0000000..3fbbc44 --- /dev/null +++ b/apps/stardew/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: stardew-service + namespace: stardew +spec: + selector: + app: stardew + ports: + - protocol: UDP + port: 24642 + targetPort: 24642 + type: LoadBalancer # Oder NodePort, falls du keinen LoadBalancer hast