homeassistant.yaml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: homeassistant
  6. namespace: homeassistant
  7. spec:
  8. selector:
  9. matchLabels:
  10. app: homeassistant
  11. replicas: 1
  12. template:
  13. metadata:
  14. labels:
  15. app: homeassistant
  16. spec:
  17. hostNetwork: true
  18. containers:
  19. - name: homeassistant
  20. image: homeassistant/home-assistant:2023.10.1
  21. ports:
  22. - containerPort: 8123
  23. name: http-web-svc
  24. volumeMounts:
  25. - mountPath: "/config"
  26. name: data
  27. volumes:
  28. - name: data
  29. persistentVolumeClaim:
  30. claimName: homeassistant-pvc
  31. ---
  32. apiVersion: v1
  33. kind: Service
  34. metadata:
  35. name: homeassistant-service
  36. namespace: homeassistant
  37. spec:
  38. selector:
  39. app: homeassistant
  40. type: ClusterIP
  41. ports:
  42. - name: homeassistant-web-port
  43. protocol: TCP
  44. port: 8123
  45. targetPort: http-web-svc
  46. ---
  47. apiVersion: traefik.containo.us/v1alpha1
  48. kind: IngressRoute
  49. metadata:
  50. name: homeassistant
  51. namespace: homeassistant
  52. spec:
  53. entryPoints:
  54. - websecure
  55. routes:
  56. - kind: Rule
  57. match: Host(`homeassistant.jibby.org`)
  58. services:
  59. - kind: Service
  60. name: homeassistant-service
  61. port: 8123
  62. ---
  63. apiVersion: apps/v1
  64. kind: Deployment
  65. metadata:
  66. name: whisper
  67. namespace: homeassistant
  68. spec:
  69. selector:
  70. matchLabels:
  71. app: whisper
  72. replicas: 1
  73. template:
  74. metadata:
  75. labels:
  76. app: whisper
  77. spec:
  78. hostNetwork: true
  79. containers:
  80. - name: homeassistant
  81. image: rhasspy/wyoming-whisper
  82. args:
  83. - --model
  84. - base-int8
  85. - --language
  86. - en
  87. ports:
  88. - containerPort: 10300
  89. name: http-web-svc
  90. volumeMounts:
  91. - mountPath: "/data"
  92. name: tmpfs
  93. volumes:
  94. - name: tmpfs
  95. emptyDir:
  96. medium: Memory
  97. sizeLimit: 2Gi
  98. ---
  99. apiVersion: apps/v1
  100. kind: Deployment
  101. metadata:
  102. name: piper
  103. namespace: homeassistant
  104. spec:
  105. selector:
  106. matchLabels:
  107. app: piper
  108. replicas: 1
  109. template:
  110. metadata:
  111. labels:
  112. app: piper
  113. spec:
  114. hostNetwork: true
  115. containers:
  116. - name: homeassistant
  117. image: rhasspy/wyoming-piper
  118. args:
  119. - --voice
  120. - en_US-lessac-high
  121. ports:
  122. - containerPort: 10200
  123. name: http-web-svc
  124. volumeMounts:
  125. - mountPath: "/data"
  126. name: tmpfs
  127. volumes:
  128. - name: tmpfs
  129. emptyDir:
  130. medium: Memory
  131. sizeLimit: 2Gi
  132. ---
  133. apiVersion: apps/v1
  134. kind: Deployment
  135. metadata:
  136. name: openwakeword
  137. namespace: homeassistant
  138. spec:
  139. selector:
  140. matchLabels:
  141. app: openwakeword
  142. replicas: 1
  143. template:
  144. metadata:
  145. labels:
  146. app: openwakeword
  147. spec:
  148. hostNetwork: true
  149. containers:
  150. - name: homeassistant
  151. image: rhasspy/wyoming-openwakeword
  152. args:
  153. - --preload-model
  154. - hey_jarvis
  155. - --custom-model-dir
  156. - /custom
  157. ports:
  158. - containerPort: 10400
  159. name: http-web-svc
  160. volumeMounts:
  161. - mountPath: "/custom"
  162. name: tmpfs
  163. volumes:
  164. - name: tmpfs
  165. emptyDir:
  166. medium: Memory
  167. sizeLimit: 2Gi
  168. ---
  169. apiVersion: apps/v1
  170. kind: Deployment
  171. metadata:
  172. name: mosquitto
  173. namespace: homeassistant
  174. spec:
  175. selector:
  176. matchLabels:
  177. app: mosquitto
  178. replicas: 1
  179. template:
  180. metadata:
  181. labels:
  182. app: mosquitto
  183. spec:
  184. hostNetwork: true
  185. containers:
  186. - name: homeassistant
  187. image: eclipse-mosquitto:2.0.18
  188. ports:
  189. - containerPort: 1883
  190. name: noenc-noauth
  191. volumeMounts:
  192. - name: config
  193. mountPath: /mosquitto/config
  194. readOnly: true
  195. volumes:
  196. - name: config
  197. configMap:
  198. name: mosquitto
  199. items:
  200. - key: mosquitto.conf
  201. path: mosquitto.conf
  202. ---
  203. apiVersion: v1
  204. kind: ConfigMap
  205. metadata:
  206. name: mosquitto
  207. namespace: homeassistant
  208. data:
  209. mosquitto.conf: |
  210. listener 1883
  211. allow_anonymous true