Edit Stardew

This commit is contained in:
HDW
2026-04-25 10:01:48 +02:00
parent 520cd97901
commit 0f64c74430
5 changed files with 129 additions and 46 deletions

View File

@@ -1,33 +0,0 @@
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

View File

@@ -1,11 +1,35 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stardew-data
namespace: stardew # Passe deinen Namespace an
name: stardew-steam-session
namespace: stardew
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi # 1GB reicht für Spielstände völlig aus
accessModes: ["ReadWriteOnce"]
resources: { requests: { storage: 1Gi } }
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stardew-game-data
namespace: stardew
spec:
accessModes: ["ReadWriteOnce"]
resources: { requests: { storage: 5Gi } }
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stardew-saves
namespace: stardew
spec:
accessModes: ["ReadWriteOnce"]
resources: { requests: { storage: 1Gi } }
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stardew-settings
namespace: stardew
spec:
accessModes: ["ReadWriteOnce"]
resources: { requests: { storage: 100Mi } }

45
apps/stardew/server.yaml Normal file
View File

@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: stardew-server
namespace: stardew
spec:
serviceName: stardew-server
replicas: 1
selector:
matchLabels:
app: stardew-server
template:
metadata:
labels:
app: stardew-server
spec:
securityContext:
capabilities:
add: ["SYS_TIME"]
containers:
- name: server
image: sdvd/server:latest # Passe das ggf. an
envFrom:
- secretRef:
name: stardew-secrets
env:
- name: STEAM_AUTH_URL
value: "http://steam-auth:3001"
- name: SETTINGS_PATH
value: "/data/settings/server-settings.json"
volumeMounts:
- name: game
mountPath: /data/game
- name: saves
mountPath: /config/xdg/config/StardewValley
- name: settings
mountPath: /data/settings
volumes:
- name: game
persistentVolumeClaim: { claimName: stardew-game-data }
- name: saves
persistentVolumeClaim: { claimName: stardew-saves }
- name: settings
persistentVolumeClaim: { claimName: stardew-settings }

View File

@@ -1,13 +1,24 @@
apiVersion: v1
kind: Service
metadata:
name: stardew-service
name: stardew-server-svc
namespace: stardew
spec:
type: LoadBalancer # Oder NodePort, falls du keinen externen LB hast
selector:
app: stardew
app: stardew-server
ports:
- protocol: UDP
port: 24642
targetPort: 24642
type: LoadBalancer # Oder NodePort, falls du keinen LoadBalancer hast
- name: vnc
port: 5800
targetPort: 5800
- name: api
port: 8080
targetPort: 8080
- name: game-udp
port: 24642
protocol: UDP
targetPort: 24642
- name: query-udp
port: 27015
protocol: UDP
targetPort: 27015

View File

@@ -0,0 +1,36 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: steam-auth
namespace: stardew
spec:
replicas: 1
selector:
matchLabels:
app: steam-auth
template:
metadata:
labels:
app: steam-auth
spec:
containers:
- name: steam-auth
image: sdvd/steam-service:latest # Passe das ggf. an (Registry-Pfad)
envFrom:
- secretRef:
name: stardew-secrets
env:
- name: GAME_DIR
value: "/data/game"
- name: PORT
value: "3001"
volumeMounts:
- name: session
mountPath: /data/steam-session
- name: game
mountPath: /data/game
volumes:
- name: session
persistentVolumeClaim: { claimName: stardew-steam-session }
- name: game
persistentVolumeClaim: { claimName: stardew-game-data }