Edit Stardew
This commit is contained in:
@@ -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
|
|
||||||
@@ -1,11 +1,35 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: stardew-data
|
name: stardew-steam-session
|
||||||
namespace: stardew # Passe deinen Namespace an
|
namespace: stardew
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes: ["ReadWriteOnce"]
|
||||||
- ReadWriteOnce
|
resources: { requests: { storage: 1Gi } }
|
||||||
resources:
|
---
|
||||||
requests:
|
apiVersion: v1
|
||||||
storage: 1Gi # 1GB reicht für Spielstände völlig aus
|
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
45
apps/stardew/server.yaml
Normal 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 }
|
||||||
|
|
||||||
@@ -1,13 +1,24 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: stardew-service
|
name: stardew-server-svc
|
||||||
namespace: stardew
|
namespace: stardew
|
||||||
spec:
|
spec:
|
||||||
|
type: LoadBalancer # Oder NodePort, falls du keinen externen LB hast
|
||||||
selector:
|
selector:
|
||||||
app: stardew
|
app: stardew-server
|
||||||
ports:
|
ports:
|
||||||
- protocol: UDP
|
- name: vnc
|
||||||
|
port: 5800
|
||||||
|
targetPort: 5800
|
||||||
|
- name: api
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
- name: game-udp
|
||||||
port: 24642
|
port: 24642
|
||||||
|
protocol: UDP
|
||||||
targetPort: 24642
|
targetPort: 24642
|
||||||
type: LoadBalancer # Oder NodePort, falls du keinen LoadBalancer hast
|
- name: query-udp
|
||||||
|
port: 27015
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 27015
|
||||||
|
|||||||
36
apps/stardew/steam-auth.yaml
Normal file
36
apps/stardew/steam-auth.yaml
Normal 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 }
|
||||||
Reference in New Issue
Block a user