apiVersion: apps/v1 kind: Deployment metadata: name: steam-headless spec: replicas: 1 selector: matchLabels: app: steam-headless template: metadata: labels: app: steam-headless spec: hostNetwork: true securityContext: fsGroup: 1000 nodeSelector: gpu: full containers: - name: steam-headless securityContext: privileged: true image: josh5/steam-headless:latest resources: #Change CPU and Memory below requests: memory: "4G" cpu: "1" limits: memory: "12G" cpu: "4" # set nodeSelector to the node label that matches the node you want to run the pod on volumeMounts: - name: home-dir mountPath: /home/default/ - name: games-dir mountPath: /mnt/games/ - name: input-devices mountPath: /dev/input/ - name: dshm mountPath: /dev/shm - name: dri mountPath: /dev/dri/ env: #Environmental Vars - name: NAME value: 'SteamHeadless' - name: TZ value: 'Europe/Zurich' - name: USER_LOCALES value: 'en_US.UTF-8 UTF-8' - name: DISPLAY value: ':55' - name: SHM_SIZE value: '2G' - name: PUID value: '1000' - name: PGID value: '1000' - name: UMASK value: '000' - name: USER_PASSWORD value: 'password' #changeme - name: MODE value: 'primary' - name: WEB_UI_MODE value: 'vnc' - name: ENABLE_VNC_AUDIO value: 'false' - name: PORT_NOVNC_WEB value: '8083' - name: ENABLE_SUNSHINE value: 'true' - name: SUNSHINE_USER value: 'sam' - name: SUNSHINE_PASS value: 'password' - name: ENABLE_EVDEV_INPUTS value: 'false' ports: # novnc - containerPort: 8083 # moonlight webui - containerPort: 47990 # moonlight stream - containerPort: 47989 - containerPort: 47984 - containerPort: 48010 - containerPort: 47998 - containerPort: 47999 - containerPort: 47800 volumes: - name: home-dir persistentVolumeClaim: claimName: home - name: games-dir persistentVolumeClaim: claimName: games - name: input-devices hostPath: path: /dev/input/ - name: dri hostPath: path: /dev/dri/ - name: dshm emptyDir: medium: Memory