charts/charts/stable/games-on-whales/README.md
2021-11-22 12:38:48 +00:00

202 lines
7.9 KiB
Markdown

# games-on-whales
![Version: 1.5.0](https://img.shields.io/badge/Version-1.5.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/games-on-whales/gow>
## Requirements
Kubernetes: `>=1.19.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.2.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install games-on-whales k8s-at-home/games-on-whales
```
## Installing the Chart
To install the chart with the release name `games-on-whales`
```console
helm install games-on-whales k8s-at-home/games-on-whales
```
## Uninstalling the Chart
To uninstall the `games-on-whales` deployment
```console
helm uninstall games-on-whales
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install games-on-whales \
--set env.TZ="America/New York" \
k8s-at-home/games-on-whales
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install games-on-whales k8s-at-home/games-on-whales -f values.yaml
```
## Custom configuration
### GPU
You need a real graphic card in your Kubernetes node to run Games on Whales:
#### Intel
It does not require any custom settings but if you use [intel-gpu-plugin](https://github.com/k8s-at-home/charts/tree/master/charts/stable/intel-gpu-plugin)
then you might use the `graphic_resources` value to specify the resource limits
such as:
```
graphic_resources:
gpu.intel.com/i915: 1 # requesting 1 i915 GPU
```
#### Nvidia
If you use the Nvidia propietary device driver then you will need the
[Nvidia device plugin](https://github.com/NVIDIA/k8s-device-plugin).
#### Proxmox
If you use Proxmox you might use PCI pass-through but you also need to ensure
the host does not load any modules for the graphic card. See the
[instructions](https://pve.proxmox.com/wiki/Pci_passthrough).
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| firefox.enabled | bool | `true` | enable/disable firefox container |
| firefox.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| firefox.image.repository | string | `"andrewmackrodt/firefox-x11"` | image repository |
| firefox.image.tag | string | `"91.0.2-r1"` | image tag |
| firefox.logLevel | string | `"info"` | firefox log level |
| firefox.volumeMounts | list | `[]` | firefox extra volume mounts |
| graphic_resources | object | `nil` | Pass GPU resources to Xorg, steam and retroarch containers See Custom configuration section in the Readme |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| mkhomeretrodirs.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| mkhomeretrodirs.image.repository | string | `"busybox"` | image repository |
| mkhomeretrodirs.image.tag | string | `"1.34.0"` | image tag |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| pulse | object | See values.yaml | Configure pulse audio settings |
| pulseaudio.image.pullPolicy | string | `"IfNotPresent"` | pulseaudio image pull policy |
| pulseaudio.image.repository | string | `"ghcr.io/games-on-whales/pulseaudio"` | pulseaudio image repository |
| pulseaudio.image.tag | string | `"1.0.0"` | pulseaudio image tag |
| retroarch.enabled | bool | `true` | enable/disable retroarch container |
| retroarch.image.pullPolicy | string | `"IfNotPresent"` | retroarch image pull policy |
| retroarch.image.repository | string | `"ghcr.io/games-on-whales/retroarch"` | retroarch image repository |
| retroarch.image.tag | string | `"1.0.0"` | retroarch image tag |
| retroarch.logLevel | string | `"info"` | retroarch log level |
| retroarch.volumeMounts | list | `[]` | retroarch extra volume mounts |
| service.main | object | See values.yaml | Enable and configure TCP service settings for the chart under this key. |
| service.udp | object | See values.yaml | Enable and configure UDP service settings for the chart under this key. |
| steam.enabled | bool | `true` | enable/disable steam container |
| steam.image.pullPolicy | string | `"IfNotPresent"` | steam image pull policy |
| steam.image.repository | string | `"ghcr.io/games-on-whales/steam"` | steam image repository |
| steam.image.tag | string | `"1.0.0"` | steam image tag |
| steam.protonLog | int | `1` | enable proton log |
| steam.volumeMounts | list | `[]` | steam extra volume mounts |
| sunshine.env | object | `{}` | sunshine additional env settings |
| sunshine.image.pullPolicy | string | `"IfNotPresent"` | sunshine image pull policy |
| sunshine.image.repository | string | `"ghcr.io/games-on-whales/sunshine"` | sunshine image repository |
| sunshine.image.tag | string | `"1.0.0"` | sunshine image tag |
| sunshine.logLevel | string | `"info"` | sunshine log level |
| sunshine.password | string | `"admin"` | sunshine web interface pasword |
| sunshine.user | string | `"admin"` | sunshine web interface user |
| xorg.display | string | `":99"` | xorg display ID |
| xorg.image.pullPolicy | string | `"IfNotPresent"` | xorg image pull policy |
| xorg.image.repository | string | `"ghcr.io/games-on-whales/xorg"` | xorg image repository |
| xorg.image.tag | string | `"1.0.0"` | xorg image tag |
| xorg.refreshrate | int | `60` | xorg refresh rate |
| xorg.resolution | string | `"1920x1080"` | xorg resolution |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.4.0]
#### Added
- add required env variables for nvidia runtime
### [1.3.0]
#### Added
- support for NVIDIA
- ABeltramo as maintainer
### [1.2.0]
#### Changed
- use GHCR images
### [1.1.1]
#### Changed
- unlimit /dev/shm for retroarch - needed for [some emulators](https://github.com/libretro/dolphin/issues/222)
- correct sound devices group in retroarch
### [1.1.0]
#### Changed
- Split tcp and udp services (problems with flux/helm)
- Fix mount volumes - from map to list
[1.1.0]: #110
### [1.0.0]
#### Added
- Initial version
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)