Compare commits
	
		
			2 Commits
		
	
	
		
			feature/ga
			...
			feature/ll
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cb0766fde2 | |||
| b81eee425e | 
| @@ -1,15 +0,0 @@ | |||||||
| apiVersion: kustomize.config.k8s.io/v1beta1 |  | ||||||
| kind: Kustomization |  | ||||||
|  |  | ||||||
| namespace: games |  | ||||||
|  |  | ||||||
| resources:  |  | ||||||
|   - namespace.yaml |  | ||||||
|  |  | ||||||
| helmCharts: |  | ||||||
|   - name: games-on-whales |  | ||||||
|     releaseName: games-on-whales |  | ||||||
|     version: 2.0.0 |  | ||||||
|     valuesFile: values.yaml |  | ||||||
|     repo: https://angelnu.github.io/helm-charts |  | ||||||
|  |  | ||||||
| @@ -1,143 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   # -- Enable and configure TCP service settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: {} |  | ||||||
|   # type: LoadBalancer |  | ||||||
|   # loadBalancerIP: 192.168.1.129 |  | ||||||
|  |  | ||||||
|   # -- Enable and configure UDP service settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   udp: {} |  | ||||||
|   # type: LoadBalancer |  | ||||||
|   # loadBalancerIP: 192.168.1.129 |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   home: |  | ||||||
|     enabled: true |  | ||||||
|     type: emptyDir |  | ||||||
|     mountPath: /home/retro |  | ||||||
|  |  | ||||||
| # -- (object) Pass GPU resources to Xorg, steam and retroarch containers |  | ||||||
| # See Custom configuration section in the Readme |  | ||||||
| graphic_resources: |  | ||||||
|  |  | ||||||
| sunshine: |  | ||||||
|   image: |  | ||||||
|     # -- sunshine image repository |  | ||||||
|     repository: ghcr.io/games-on-whales/sunshine |  | ||||||
|     # -- sunshine image tag |  | ||||||
|     tag: 1.0.0 |  | ||||||
|     # -- sunshine image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|   # -- sunshine web interface user |  | ||||||
|   user: admin |  | ||||||
|   # -- sunshine web interface pasword |  | ||||||
|   password: admin |  | ||||||
|   # -- sunshine log level |  | ||||||
|   logLevel: info |  | ||||||
|   # -- sunshine additional env settings |  | ||||||
|   env: {} |  | ||||||
| xorg: |  | ||||||
|   image: |  | ||||||
|     # -- xorg image repository |  | ||||||
|     repository: ghcr.io/games-on-whales/xorg |  | ||||||
|     # -- xorg image tag |  | ||||||
|     tag: 1.0.0 |  | ||||||
|     # -- xorg image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|   # -- xorg display ID |  | ||||||
|   # display: :99 |  | ||||||
|   # -- xorg refresh rate |  | ||||||
|   # refreshrate: 60 |  | ||||||
|   # -- xorg resolution |  | ||||||
|   resolution: 1920x1080 |  | ||||||
| pulseaudio: |  | ||||||
|   image: |  | ||||||
|     # -- pulseaudio image repository |  | ||||||
|     repository: ghcr.io/games-on-whales/pulseaudio |  | ||||||
|     # -- pulseaudio image tag |  | ||||||
|     tag: 1.0.0 |  | ||||||
|     # -- pulseaudio image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
| retroarch: |  | ||||||
|   # -- enable/disable retroarch container |  | ||||||
|   enabled: true |  | ||||||
|   image: |  | ||||||
|     # -- retroarch image repository |  | ||||||
|     repository: ghcr.io/games-on-whales/retroarch |  | ||||||
|     # -- retroarch image tag |  | ||||||
|     tag: 1.0.0 |  | ||||||
|     # -- retroarch image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|   # -- retroarch log level |  | ||||||
|   logLevel: info |  | ||||||
|   # -- retroarch extra volume mounts |  | ||||||
|   volumeMounts: [] |  | ||||||
| steam: |  | ||||||
|   # -- enable/disable steam container |  | ||||||
|   enabled: true |  | ||||||
|   image: |  | ||||||
|     # -- steam image repository |  | ||||||
|     repository: ghcr.io/games-on-whales/steam |  | ||||||
|     # -- steam image tag |  | ||||||
|     tag: 1.0.0 |  | ||||||
|     # -- steam image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|   # -- enable proton log |  | ||||||
|   protonLog: 1 |  | ||||||
|   # -- steam extra volume mounts |  | ||||||
|   volumeMounts: [] |  | ||||||
| firefox: |  | ||||||
|   # -- enable/disable firefox container |  | ||||||
|   enabled: true |  | ||||||
|   image: |  | ||||||
|     # -- image repository |  | ||||||
|     repository: andrewmackrodt/firefox-x11 |  | ||||||
|     # -- image tag |  | ||||||
|     tag: 125.0.2-r1 |  | ||||||
|     # -- image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|   # -- firefox log level |  | ||||||
|   logLevel: info |  | ||||||
|   # -- firefox extra volume mounts |  | ||||||
|   volumeMounts: [] |  | ||||||
| mkhomeretrodirs: |  | ||||||
|   image: |  | ||||||
|     # -- image repository |  | ||||||
|     repository: busybox |  | ||||||
|     # -- image tag |  | ||||||
|     tag: 1.36.1 |  | ||||||
|     # -- image pull policy |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| # -- Configure pulse audio settings |  | ||||||
| # @default -- See values.yaml |  | ||||||
| pulse: |  | ||||||
|   config: |  | ||||||
|     default.pa: |- |  | ||||||
|       .fail |  | ||||||
|           load-module module-null-sink sink_name=sunshine |  | ||||||
|           set-default-sink sunshine |  | ||||||
|           load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse/pulse-socket |  | ||||||
|     client.conf: |- |  | ||||||
|       default-sink = sink-sunshine-stereo |  | ||||||
|       autospawn = no |  | ||||||
|       daemon-binary = /bin/true |  | ||||||
|     daemon.conf: |- |  | ||||||
|       exit-idle-time = -1 |  | ||||||
|       flat-volumes = yes |  | ||||||
							
								
								
									
										55
									
								
								apps/ollama/backend.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								apps/ollama/backend.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | |||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: Deployment | ||||||
|  | metadata: | ||||||
|  |   name: ollama-rocm | ||||||
|  | spec: | ||||||
|  |   replicas: 1 | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: ollama-rocm | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app: ollama-rocm | ||||||
|  |     spec: | ||||||
|  |       nodeSelector: | ||||||
|  |         gpu: full | ||||||
|  |       containers: | ||||||
|  |       - name: ollama | ||||||
|  |         image: ollama | ||||||
|  |         env: | ||||||
|  |         - name: HSA_OVERRIDE_GFX_VERSION | ||||||
|  |           # allows to run on IGPU as well | ||||||
|  |           value: "11.0.0" | ||||||
|  |         ports: | ||||||
|  |         - containerPort: 11434 | ||||||
|  |           name: ollama | ||||||
|  |         volumeMounts: | ||||||
|  |         - name: ollama-data | ||||||
|  |           mountPath: /root/.ollama | ||||||
|  |         - name: dshm | ||||||
|  |           mountPath: /dev/shm | ||||||
|  |         - name: dri | ||||||
|  |           mountPath: /dev/dri/ | ||||||
|  |         - name: kfd | ||||||
|  |           mountPath: /dev/kfd | ||||||
|  |         resources: | ||||||
|  |           requests: | ||||||
|  |             memory: "1Gi" | ||||||
|  |             cpu: "1" | ||||||
|  |           limits: | ||||||
|  |             memory: "16Gi" | ||||||
|  |             cpu: "8" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |       volumes: | ||||||
|  |       - name: ollama-data | ||||||
|  |         emptyDir: {} | ||||||
|  |       - name: dri | ||||||
|  |         hostPath: | ||||||
|  |           path: /dev/dri/ | ||||||
|  |       - name: dshm | ||||||
|  |         emptyDir: | ||||||
|  |           medium: Memory | ||||||
|  |       - name: kfd | ||||||
|  |         hostPath: /dev/kfd | ||||||
							
								
								
									
										13
									
								
								apps/ollama/backend.service.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								apps/ollama/backend.service.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  |  | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: ollama-service | ||||||
|  | spec: | ||||||
|  |   selector: | ||||||
|  |     app: ollama-rocm | ||||||
|  |   ports: | ||||||
|  |   - protocol: TCP | ||||||
|  |     port: 11434 | ||||||
|  |     targetPort: 11434 | ||||||
|  |     name: ollama | ||||||
							
								
								
									
										30
									
								
								apps/ollama/frontend.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								apps/ollama/frontend.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: Deployment | ||||||
|  | metadata: | ||||||
|  |   name: ollama-ui | ||||||
|  |   labels: | ||||||
|  |     app: ollama-ui | ||||||
|  | spec: | ||||||
|  |   replicas: 1 | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: ollama-ui | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app: ollama-ui | ||||||
|  |     spec: | ||||||
|  |       containers: | ||||||
|  |         - name: ollama-ui | ||||||
|  |           image: ollama-ui | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 8080 | ||||||
|  |           env: | ||||||
|  |             - name: OLLAMA_BASE_URL | ||||||
|  |               value: http://ollama-service:11434 | ||||||
|  |           volumeMounts: | ||||||
|  |             - name: ollama-ui-data | ||||||
|  |               mountPath: /app/backend/data | ||||||
|  |       volumes: | ||||||
|  |         - name: ollama-ui-data | ||||||
|  |           emptyDir: {} | ||||||
							
								
								
									
										13
									
								
								apps/ollama/frontend.service.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								apps/ollama/frontend.service.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  |  | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: ollama-ui-service | ||||||
|  | spec: | ||||||
|  |   selector: | ||||||
|  |     app: ollama-ui | ||||||
|  |   ports: | ||||||
|  |   - protocol: TCP | ||||||
|  |     port: 8080 | ||||||
|  |     targetPort: 8080 | ||||||
|  |     name: ollama-ui | ||||||
							
								
								
									
										21
									
								
								apps/ollama/ingress.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								apps/ollama/ingress.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | apiVersion: traefik.io/v1alpha1 | ||||||
|  | kind: IngressRoute | ||||||
|  | metadata: | ||||||
|  |   name: ollama-ingressroute | ||||||
|  |  | ||||||
|  | spec: | ||||||
|  |   entryPoints: | ||||||
|  |     - websecure | ||||||
|  |   routes: | ||||||
|  |     - match: Host(`llm.kluster.moll.re`) | ||||||
|  |       kind: Rule | ||||||
|  |       services: | ||||||
|  |         - name: ollama-ui-service | ||||||
|  |           port: 8080 | ||||||
|  |     # - match: Host(`todos.kluster.moll.re`) && PathPrefix(`/`) | ||||||
|  |     #   kind: Rule | ||||||
|  |     #   services: | ||||||
|  |     #     - name: todos-frontend | ||||||
|  |     #       port: 80 | ||||||
|  |   tls: | ||||||
|  |     certResolver: default-tls | ||||||
							
								
								
									
										23
									
								
								apps/ollama/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								apps/ollama/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | apiVersion: kustomize.config.k8s.io/v1beta1 | ||||||
|  | kind: Kustomization | ||||||
|  |  | ||||||
|  | namespace: ollama | ||||||
|  |  | ||||||
|  | resources: | ||||||
|  |   - namespace.yaml | ||||||
|  |   - backend.deployment.yaml | ||||||
|  |   - backend.service.yaml | ||||||
|  |   - frontend.deployment.yaml | ||||||
|  |   - frontend.service.yaml | ||||||
|  |   - ingress.yaml | ||||||
|  |  | ||||||
|  |  | ||||||
|  | images: | ||||||
|  |   - name: ollama | ||||||
|  |     newName: ollama/ollama | ||||||
|  |     newTag: 0.3.6-rocm | ||||||
|  |   - name: ollama-ui | ||||||
|  |     newName: ghcr.io/open-webui/open-webui | ||||||
|  |     newTag: main | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										52
									
								
								apps/paperless/deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								apps/paperless/deployment.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | |||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: Deployment | ||||||
|  | metadata: | ||||||
|  |   name: paperless | ||||||
|  | spec: | ||||||
|  |   replicas: 1 | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: paperless | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app: paperless | ||||||
|  |     spec: | ||||||
|  |       containers: | ||||||
|  |         - name: paperless | ||||||
|  |           image: paperless | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 8000 | ||||||
|  |           env: | ||||||
|  |           - name: PAPERLESS_REDIS | ||||||
|  |             value: redis://redis-master:6379 | ||||||
|  |           - name: PAPERLESS_TIME_ZONE | ||||||
|  |             value: Europe/Berlin | ||||||
|  |           - name: PAPERLESS_OCR_LANGUAGE | ||||||
|  |             value: deu+eng+fra | ||||||
|  |           - name: PAPERLESS_URL | ||||||
|  |             value: https://paperless.kluster.moll.re | ||||||
|  |           - name: PAPERLESS_SECRET_KEY | ||||||
|  |             valueFrom: | ||||||
|  |               secretKeyRef: | ||||||
|  |                 name: paperless-secret-key | ||||||
|  |                 key: key | ||||||
|  |           - name: PAPERLESS_DATA_DIR | ||||||
|  |             value: /data | ||||||
|  |           - name: PAPERLESS_MEDIA_ROOT | ||||||
|  |             value: /data | ||||||
|  |           volumeMounts: | ||||||
|  |             - name: data | ||||||
|  |               mountPath: /data | ||||||
|  |           resources: | ||||||
|  |             requests: | ||||||
|  |               cpu: "100m" | ||||||
|  |               memory: "200Mi" | ||||||
|  |             limits: | ||||||
|  |               cpu: "2" | ||||||
|  |               memory: "1Gi" | ||||||
|  |       volumes: | ||||||
|  |         - name: data | ||||||
|  |           persistentVolumeClaim: | ||||||
|  |             claimName: paperless-data | ||||||
|  |  | ||||||
							
								
								
									
										31
									
								
								apps/paperless/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								apps/paperless/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | apiVersion: kustomize.config.k8s.io/v1beta1 | ||||||
|  | kind: Kustomization | ||||||
|  | resources: | ||||||
|  |   - namespace.yaml | ||||||
|  |   - pvc.yaml | ||||||
|  |   - deployment.yaml | ||||||
|  |   - service.yaml | ||||||
|  |   - ingress.yaml | ||||||
|  |   - paperless-secret-key.sealedsecret.yaml | ||||||
|  |  | ||||||
|  | namespace: paperless | ||||||
|  |  | ||||||
|  | images: | ||||||
|  |   - name: paperless | ||||||
|  |     newName: ghcr.io/paperless-ngx/paperless-ngx | ||||||
|  |     newTag: "2.12.1" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | helmCharts: | ||||||
|  |   - name: redis | ||||||
|  |     releaseName: redis | ||||||
|  |     repo: https://charts.bitnami.com/bitnami | ||||||
|  |     version: 20.1.5 | ||||||
|  |     valuesInline: | ||||||
|  |       auth: | ||||||
|  |         enabled: false | ||||||
|  |       replica: | ||||||
|  |         replicaCount: 0 | ||||||
|  |       master: | ||||||
|  |         persistence: | ||||||
|  |           storageClass: "nfs-client" | ||||||
							
								
								
									
										4
									
								
								apps/paperless/namespace.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								apps/paperless/namespace.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | apiVersion: v1 | ||||||
|  | kind: Namespace | ||||||
|  | metadata: | ||||||
|  |   name: placeholder | ||||||
							
								
								
									
										15
									
								
								apps/paperless/paperless-secret-key.sealedsecret.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								apps/paperless/paperless-secret-key.sealedsecret.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  | apiVersion: bitnami.com/v1alpha1 | ||||||
|  | kind: SealedSecret | ||||||
|  | metadata: | ||||||
|  |   creationTimestamp: null | ||||||
|  |   name: paperless-secret-key | ||||||
|  |   namespace: paperless | ||||||
|  | spec: | ||||||
|  |   encryptedData: | ||||||
|  |     key: AgAjDxYW+bf+7a+65DR/u5Qrh37JSPQCstUrNWRdxq9We1eGf7qzTnmyke/O5TiE26rHVx3yzyK/Lcp/R+pJUnDauCvL6ja7k82DLzElkoRGhvRg4nr5Iehw488WIdJDXWqAbus4oLFCgnj5axs1B97hEiAN2onCPDsOuk7oSdJfG4mMI47Ass2qFPyQaff9TulLXQQEY5U7LrawCTudUPeiTCYGbOjBadPjEzn5pDwsyAd1G+NrqoPOwkrbNzrwMwbnwB4hLO0f+jrYOh2OMNcdZzMZgM671VH9cRYSVV6uz5iAN4A1NpZ1ZdenQN4pcWvaPmPOcvp14vjZtrYbGeyaNGnob5IycRrO4yaf+0V7DZ4Thwc/vqm6r5y/MR9U4Q9EFoNNHYmfo9VEw7LhivtaDOG8OaZXUnIFoXFLOZ59qfoZdIyK4eByTRQBZFZLK9rVgXOommbqlCgzNuDM7u11OGcYfROJFeiI9pH333x5u7GZsDz0hnAjWKphXzeTglXdaXMsQUeAHusdqKCn0X1cMatGUjkBAXwlOBrqmaDwSRdyc/+J2QIdkyQM9A+88+yoop7q8c5P8oizBikVaL7SojulUTJStH5cv7nRzhmpAY4j15+o3RQKrbEjGB4HVVx3VBFjjOiP9gfjhiYqxznYwkYTpXADPwjhLFf4opOPuhpoUD1M3OKXlQpPK/RvFTWWsh14jbJuL7WJpXbfyYs0+drbVdnYeUsn8OKlnFDoOaACdpNUCr6t9dSFMs7o7Mo8yN0E | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       creationTimestamp: null | ||||||
|  |       name: paperless-secret-key | ||||||
|  |       namespace: paperless | ||||||
							
								
								
									
										11
									
								
								apps/paperless/pvc.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								apps/paperless/pvc.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | kind: PersistentVolumeClaim | ||||||
|  | apiVersion: v1 | ||||||
|  | metadata: | ||||||
|  |   name: paperless-data | ||||||
|  | spec: | ||||||
|  |   storageClassName: "nfs-client" | ||||||
|  |   accessModes: | ||||||
|  |     - ReadWriteOnce | ||||||
|  |   resources: | ||||||
|  |     requests: | ||||||
|  |       storage: 10Gi | ||||||
							
								
								
									
										10
									
								
								apps/paperless/service.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								apps/paperless/service.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: paperless-web | ||||||
|  | spec: | ||||||
|  |   selector: | ||||||
|  |     app: paperless | ||||||
|  |   ports: | ||||||
|  |   - port: 8000 | ||||||
|  |     targetPort: 8000 | ||||||
| @@ -1,106 +0,0 @@ | |||||||
| 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 |  | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| apiVersion: kustomize.config.k8s.io/v1beta1 |  | ||||||
| kind: Kustomization |  | ||||||
|  |  | ||||||
| namespace: steam |  | ||||||
|  |  | ||||||
| resources:  |  | ||||||
|   - namespace.yaml |  | ||||||
|   - deployment.yaml |  | ||||||
|   - service.yaml |  | ||||||
|   - pvc.yaml |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,6 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: placeholder |  | ||||||
|   labels: |  | ||||||
|     pod-security.kubernetes.io/enforce: privileged  |  | ||||||
| @@ -1,23 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   name: games |  | ||||||
| spec: |  | ||||||
|   storageClassName: "nfs-client" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "25Gi" |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   name: home |  | ||||||
| spec: |  | ||||||
|   storageClassName: "nfs-client" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "5Gi" |  | ||||||
| @@ -1,38 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: steam-vnc |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     app: steam-headless |  | ||||||
|   ports: |  | ||||||
|   - port: 8083 |  | ||||||
|     targetPort: 8083 |  | ||||||
|     name: novnc |  | ||||||
|   - port: 47990 |  | ||||||
|     targetPort: 47990 |  | ||||||
|     name: moonlight-web |  | ||||||
|   - port: 47989 |  | ||||||
|     targetPort: 47989 |  | ||||||
|     name: moonlight0 |  | ||||||
|   - port: 47984 |  | ||||||
|     targetPort: 47984 |  | ||||||
|     name: moonlight1 |  | ||||||
|   - port: 48010 |  | ||||||
|     targetPort: 48010 |  | ||||||
|     name: moonlight2 |  | ||||||
|     protocol: UDP |  | ||||||
|   - port: 47998 |  | ||||||
|     targetPort: 47998 |  | ||||||
|     name: moonlight3 |  | ||||||
|     protocol: UDP |  | ||||||
|   - port: 47999 |  | ||||||
|     targetPort: 47999 |  | ||||||
|     name: moonlight4 |  | ||||||
|     protocol: UDP |  | ||||||
|   - port: 47800 |  | ||||||
|     targetPort: 47800 |  | ||||||
|     name: moonlight5 |  | ||||||
|     protocol: UDP |  | ||||||
|   type: LoadBalancer |  | ||||||
|   loadBalancerIP: 192.168.3.5 |  | ||||||
| @@ -35,6 +35,7 @@ resources: | |||||||
|   - minecraft/application.yaml |   - minecraft/application.yaml | ||||||
|   - monitoring/ |   - monitoring/ | ||||||
|   - ntfy/ |   - ntfy/ | ||||||
|  |   - paperless/ | ||||||
|   - recipes/ |   - recipes/ | ||||||
|   - rss/ |   - rss/ | ||||||
|   - whoami/ |   - whoami/ | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								kluster-deployments/paperless/application.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								kluster-deployments/paperless/application.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | apiVersion: argoproj.io/v1alpha1 | ||||||
|  | kind: Application | ||||||
|  | metadata: | ||||||
|  |   name: paperless-application | ||||||
|  |   namespace: argocd | ||||||
|  |  | ||||||
|  | spec: | ||||||
|  |   project: infrastructure | ||||||
|  |   source: | ||||||
|  |     repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git | ||||||
|  |     targetRevision: main | ||||||
|  |     path: apps/paperless | ||||||
|  |   destination: | ||||||
|  |     server: https://kubernetes.default.svc | ||||||
|  |     namespace: paperless | ||||||
|  |   syncPolicy: | ||||||
|  |     automated: | ||||||
|  |       prune: true | ||||||
|  |       selfHeal: true | ||||||
							
								
								
									
										4
									
								
								kluster-deployments/paperless/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								kluster-deployments/paperless/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | apiVersion: kustomize.config.k8s.io/v1beta1 | ||||||
|  | kind: Kustomization | ||||||
|  | resources: | ||||||
|  | - application.yaml | ||||||
		Reference in New Issue
	
	Block a user