xgl.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: xgl
  5. spec:
  6. replicas: 1
  7. selector:
  8. matchLabels:
  9. app: xgl
  10. template:
  11. metadata:
  12. labels:
  13. app: xgl
  14. spec:
  15. hostname: xgl
  16. containers:
  17. - name: xgl
  18. image: ghcr.io/ehfd/nvidia-glx-desktop:latest
  19. env:
  20. - name: TZ
  21. value: "UTC"
  22. - name: SIZEW
  23. value: "1920"
  24. - name: SIZEH
  25. value: "1080"
  26. - name: REFRESH
  27. value: "60"
  28. - name: DPI
  29. value: "96"
  30. - name: CDEPTH
  31. value: "24"
  32. - name: VIDEO_PORT
  33. value: "DFP"
  34. # Choose either `value:` or `secretKeyRef:` but not both at the same time
  35. - name: PASSWD
  36. value: "mypasswd"
  37. # valueFrom:
  38. # secretKeyRef:
  39. # name: my-pass
  40. # key: my-pass
  41. # Uncomment this to enable noVNC, disabing selkies-gstreamer and ignoring all its parameters except `BASIC_AUTH_PASSWORD`, which will be used for authentication with noVNC, `BASIC_AUTH_PASSWORD` also defaulting to `PASSWD` if not provided
  42. # - name: NOVNC_ENABLE
  43. # value: "true"
  44. ###
  45. # selkies-gstreamer parameters, for additional configurations see lines that start with "parser.add_argument" in https://github.com/selkies-project/selkies-gstreamer/blob/master/src/selkies_gstreamer/__main__.py
  46. ###
  47. # Change `WEBRTC_ENCODER` to `x264enc` if your GPU doesn't support `H.264 (AVCHD)` under the `NVENC - Encoding` section in https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
  48. - name: WEBRTC_ENCODER
  49. value: "nvh264enc"
  50. - name: WEBRTC_ENABLE_RESIZE
  51. value: "false"
  52. - name: ENABLE_AUDIO
  53. value: "true"
  54. - name: ENABLE_BASIC_AUTH
  55. value: "true"
  56. # Defaults to `PASSWD` if unspecified, choose either `value:` or `secretKeyRef:` but not both at the same time
  57. # - name: BASIC_AUTH_PASSWORD
  58. # value: "mypasswd"
  59. # valueFrom:
  60. # secretKeyRef:
  61. # name: my-pass
  62. # key: my-pass
  63. ###
  64. # Uncomment below to use your TURN server with shared secret for improved network compatibility
  65. ###
  66. # - name: TURN_HOST
  67. # value: "turn.example.com"
  68. # - name: TURN_PORT
  69. # value: "3478"
  70. # Provide only `TURN_SHARED_SECRET` for time-limited shared secret authentication or both `TURN_USERNAME` and `TURN_PASSWORD` for legacy long term authentication, but do not provide both authentication methods at the same time
  71. # - name: TURN_SHARED_SECRET
  72. # valueFrom:
  73. # secretKeyRef:
  74. # name: turn-shared-secret
  75. # key: turn-shared-secret
  76. # - name: TURN_USERNAME
  77. # value: "username"
  78. # Choose either `value:` or `secretKeyRef:` but not both at the same time
  79. # - name: TURN_PASSWORD
  80. # value: "mypasswd"
  81. # valueFrom:
  82. # secretKeyRef:
  83. # name: turn-password
  84. # key: turn-password
  85. stdin: true
  86. tty: true
  87. ports:
  88. - name: http
  89. containerPort: 8080
  90. protocol: TCP
  91. resources:
  92. limits:
  93. memory: 64Gi
  94. cpu: "16"
  95. nvidia.com/gpu: 1
  96. requests:
  97. memory: 100Mi
  98. cpu: 100m
  99. volumeMounts:
  100. - mountPath: /dev/shm
  101. name: dshm
  102. - mountPath: /cache
  103. name: xgl-cache-vol
  104. - mountPath: /home/user
  105. name: xgl-root-vol
  106. volumes:
  107. - name: dshm
  108. emptyDir:
  109. medium: Memory
  110. - name: xgl-cache-vol
  111. emptyDir: {}
  112. # persistentVolumeClaim:
  113. # claimName: xgl-cache-vol
  114. - name: xgl-root-vol
  115. emptyDir: {}
  116. # persistentVolumeClaim:
  117. # claimName: xgl-root-vol