questions.yaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. groups:
  2. - name: Scrypted Configuration
  3. description: Configure Scrypted
  4. - name: Network Configuration
  5. description: Configure Network for Scrypted
  6. - name: Storage Configuration
  7. description: Configure Storage for Scrypted
  8. - name: Labels Configuration
  9. description: Configure Labels for Scrypted
  10. - name: Resources Configuration
  11. description: Configure Resources for Scrypted
  12. questions:
  13. - variable: TZ
  14. group: Scrypted Configuration
  15. label: Timezone
  16. schema:
  17. type: string
  18. default: Etc/UTC
  19. required: true
  20. $ref:
  21. - definitions/timezone
  22. - variable: scrypted
  23. label: ""
  24. group: Scrypted Configuration
  25. schema:
  26. type: dict
  27. attrs:
  28. - variable: image_selector
  29. label: Image Selector
  30. description: The image selector to use for Scrypted.
  31. schema:
  32. type: string
  33. default: image
  34. enum:
  35. - value: image
  36. description: Full Image
  37. - value: nvidia_image
  38. description: Nvidia Image
  39. - value: lite_image
  40. description: Lite Image
  41. - variable: devices
  42. label: Devices
  43. description: |
  44. Devices to use for ESPHome.
  45. Eg: Host Device: /dev/ttyUSB0, Container Device: /dev/ttyACM0
  46. schema:
  47. type: list
  48. default: []
  49. items:
  50. - variable: device
  51. label: Device
  52. schema:
  53. type: dict
  54. attrs:
  55. - variable: host_device
  56. label: Host Device
  57. schema:
  58. type: string
  59. required: true
  60. - variable: container_device
  61. label: Container Device
  62. schema:
  63. type: string
  64. required: true
  65. - variable: additional_envs
  66. label: Additional Environment Variables
  67. schema:
  68. type: list
  69. default: []
  70. items:
  71. - variable: env
  72. label: Environment Variable
  73. schema:
  74. type: dict
  75. attrs:
  76. - variable: name
  77. label: Name
  78. schema:
  79. type: string
  80. required: true
  81. - variable: value
  82. label: Value
  83. schema:
  84. type: string
  85. - variable: network
  86. label: ""
  87. group: Network Configuration
  88. schema:
  89. type: dict
  90. attrs:
  91. - variable: insecure_port
  92. label: Insecure Port
  93. schema:
  94. type: dict
  95. attrs:
  96. - variable: bind_mode
  97. label: Port Bind Mode
  98. description: |
  99. The port bind mode.</br>
  100. - Publish: The port will be published on the host for external access.</br>
  101. - Expose: The port will be exposed for inter-container communication.</br>
  102. - None: The port will not be exposed or published.</br>
  103. Note: If the Dockerfile defines an EXPOSE directive,
  104. the port will still be exposed for inter-container communication regardless of this setting.
  105. schema:
  106. type: string
  107. default: "published"
  108. enum:
  109. - value: "published"
  110. description: Publish port on the host for external access
  111. - value: "exposed"
  112. description: Expose port for inter-container communication
  113. - value: ""
  114. description: None
  115. - variable: port_number
  116. label: Port Number
  117. schema:
  118. type: int
  119. default: 30130
  120. min: 1
  121. max: 65535
  122. required: true
  123. - variable: host_ips
  124. label: Host IPs
  125. description: IPs on the host to bind this port
  126. schema:
  127. type: list
  128. show_if: [["bind_mode", "=", "published"]]
  129. default: []
  130. items:
  131. - variable: host_ip
  132. label: Host IP
  133. schema:
  134. type: string
  135. required: true
  136. $ref:
  137. - definitions/node_bind_ip
  138. - variable: secure_port
  139. label: Secure Port
  140. schema:
  141. type: dict
  142. attrs:
  143. - variable: bind_mode
  144. label: Port Bind Mode
  145. description: |
  146. The port bind mode.</br>
  147. - Publish: The port will be published on the host for external access.</br>
  148. - Expose: The port will be exposed for inter-container communication.</br>
  149. - None: The port will not be exposed or published.</br>
  150. Note: If the Dockerfile defines an EXPOSE directive,
  151. the port will still be exposed for inter-container communication regardless of this setting.
  152. schema:
  153. type: string
  154. default: "published"
  155. enum:
  156. - value: "published"
  157. description: Publish port on the host for external access
  158. - value: "exposed"
  159. description: Expose port for inter-container communication
  160. - value: ""
  161. description: None
  162. - variable: port_number
  163. label: Port Number
  164. schema:
  165. type: int
  166. default: 30131
  167. min: 1
  168. max: 65535
  169. required: true
  170. - variable: host_ips
  171. label: Host IPs
  172. description: IPs on the host to bind this port
  173. schema:
  174. type: list
  175. show_if: [["bind_mode", "=", "published"]]
  176. default: []
  177. items:
  178. - variable: host_ip
  179. label: Host IP
  180. schema:
  181. type: string
  182. required: true
  183. $ref:
  184. - definitions/node_bind_ip
  185. - variable: additional_ports
  186. label: Additional Ports
  187. schema:
  188. type: list
  189. show_if: [["host_network", "=", false]]
  190. items:
  191. - variable: port
  192. label: Port
  193. schema:
  194. type: dict
  195. attrs:
  196. - variable: bind_mode
  197. label: Port Bind Mode
  198. description: |
  199. The port bind mode.</br>
  200. - Publish: The port will be published on the host for external access.</br>
  201. - Expose: The port will be exposed for inter-container communication.</br>
  202. schema:
  203. type: string
  204. default: "published"
  205. enum:
  206. - value: "published"
  207. description: Publish port on the host for external access
  208. - value: "exposed"
  209. description: Expose port for inter-container communication
  210. - variable: port_number
  211. label: Port Number
  212. schema:
  213. type: int
  214. min: 1
  215. max: 65535
  216. required: true
  217. - variable: container_port
  218. label: Container Port
  219. schema:
  220. type: int
  221. min: 1
  222. max: 65535
  223. required: true
  224. - variable: protocol
  225. label: Protocol
  226. schema:
  227. type: string
  228. required: true
  229. default: "tcp"
  230. enum:
  231. - value: "tcp"
  232. description: TCP
  233. - value: "udp"
  234. description: UDP
  235. - variable: host_ips
  236. label: Host IPs
  237. description: IPs on the host to bind this port
  238. schema:
  239. type: list
  240. show_if: [["bind_mode", "=", "published"]]
  241. default: []
  242. items:
  243. - variable: host_ip
  244. label: Host IP
  245. schema:
  246. type: string
  247. required: true
  248. $ref:
  249. - definitions/node_bind_ip
  250. - variable: host_network
  251. label: Host Network
  252. description: |
  253. Bind to the host network. It's recommended to keep this disabled.
  254. schema:
  255. type: boolean
  256. default: false
  257. - variable: storage
  258. label: ""
  259. group: Storage Configuration
  260. schema:
  261. type: dict
  262. attrs:
  263. - variable: nvr
  264. label: Scrypted NVR Storage
  265. description: The path to store Scrypted NVR.
  266. schema:
  267. type: dict
  268. attrs:
  269. - variable: type
  270. label: Type
  271. description: |
  272. ixVolume: Is dataset created automatically by the system.</br>
  273. Host Path: Is a path that already exists on the system.
  274. schema:
  275. type: string
  276. required: true
  277. default: "ix_volume"
  278. enum:
  279. - value: "host_path"
  280. description: Host Path (Path that already exists on the system)
  281. - value: "ix_volume"
  282. description: ixVolume (Dataset created automatically by the system)
  283. - variable: ix_volume_config
  284. label: ixVolume Configuration
  285. description: The configuration for the ixVolume dataset.
  286. schema:
  287. type: dict
  288. show_if: [["type", "=", "ix_volume"]]
  289. $ref:
  290. - "normalize/ix_volume"
  291. attrs:
  292. - variable: acl_enable
  293. label: Enable ACL
  294. description: Enable ACL for the storage.
  295. schema:
  296. type: boolean
  297. default: false
  298. - variable: dataset_name
  299. label: Dataset Name
  300. description: The name of the dataset to use for storage.
  301. schema:
  302. type: string
  303. required: true
  304. hidden: true
  305. default: "nvr"
  306. - variable: acl_entries
  307. label: ACL Configuration
  308. schema:
  309. type: dict
  310. show_if: [["acl_enable", "=", true]]
  311. attrs: []
  312. - variable: host_path_config
  313. label: Host Path Configuration
  314. schema:
  315. type: dict
  316. show_if: [["type", "=", "host_path"]]
  317. attrs:
  318. - variable: acl_enable
  319. label: Enable ACL
  320. description: Enable ACL for the storage.
  321. schema:
  322. type: boolean
  323. default: false
  324. - variable: acl
  325. label: ACL Configuration
  326. schema:
  327. type: dict
  328. show_if: [["acl_enable", "=", true]]
  329. attrs: []
  330. $ref:
  331. - "normalize/acl"
  332. - variable: path
  333. label: Host Path
  334. description: The host path to use for storage.
  335. schema:
  336. type: hostpath
  337. show_if: [["acl_enable", "=", false]]
  338. required: true
  339. - variable: server
  340. label: Scrypted Server Storage
  341. description: The path to store Scrypted Server.
  342. schema:
  343. type: dict
  344. attrs:
  345. - variable: type
  346. label: Type
  347. description: |
  348. ixVolume: Is dataset created automatically by the system.</br>
  349. Host Path: Is a path that already exists on the system.
  350. schema:
  351. type: string
  352. required: true
  353. default: "ix_volume"
  354. enum:
  355. - value: "host_path"
  356. description: Host Path (Path that already exists on the system)
  357. - value: "ix_volume"
  358. description: ixVolume (Dataset created automatically by the system)
  359. - variable: ix_volume_config
  360. label: ixVolume Configuration
  361. description: The configuration for the ixVolume dataset.
  362. schema:
  363. type: dict
  364. show_if: [["type", "=", "ix_volume"]]
  365. $ref:
  366. - "normalize/ix_volume"
  367. attrs:
  368. - variable: acl_enable
  369. label: Enable ACL
  370. description: Enable ACL for the storage.
  371. schema:
  372. type: boolean
  373. default: false
  374. - variable: dataset_name
  375. label: Dataset Name
  376. description: The name of the dataset to use for storage.
  377. schema:
  378. type: string
  379. required: true
  380. hidden: true
  381. default: "server"
  382. - variable: acl_entries
  383. label: ACL Configuration
  384. schema:
  385. type: dict
  386. show_if: [["acl_enable", "=", true]]
  387. attrs: []
  388. - variable: host_path_config
  389. label: Host Path Configuration
  390. schema:
  391. type: dict
  392. show_if: [["type", "=", "host_path"]]
  393. attrs:
  394. - variable: acl_enable
  395. label: Enable ACL
  396. description: Enable ACL for the storage.
  397. schema:
  398. type: boolean
  399. default: false
  400. - variable: acl
  401. label: ACL Configuration
  402. schema:
  403. type: dict
  404. show_if: [["acl_enable", "=", true]]
  405. attrs: []
  406. $ref:
  407. - "normalize/acl"
  408. - variable: path
  409. label: Host Path
  410. description: The host path to use for storage.
  411. schema:
  412. type: hostpath
  413. show_if: [["acl_enable", "=", false]]
  414. required: true
  415. - variable: additional_storage
  416. label: Additional Storage
  417. schema:
  418. type: list
  419. default: []
  420. items:
  421. - variable: storageEntry
  422. label: Storage Entry
  423. schema:
  424. type: dict
  425. attrs:
  426. - variable: type
  427. label: Type
  428. description: |
  429. ixVolume: Is dataset created automatically by the system.</br>
  430. Host Path: Is a path that already exists on the system.</br>
  431. SMB Share: Is a SMB share that is mounted to as a volume.
  432. schema:
  433. type: string
  434. required: true
  435. default: "ix_volume"
  436. enum:
  437. - value: "host_path"
  438. description: Host Path (Path that already exists on the system)
  439. - value: "ix_volume"
  440. description: ixVolume (Dataset created automatically by the system)
  441. - value: "cifs"
  442. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  443. - variable: read_only
  444. label: Read Only
  445. description: Mount the volume as read only.
  446. schema:
  447. type: boolean
  448. default: false
  449. - variable: mount_path
  450. label: Mount Path
  451. description: The path inside the container to mount the storage.
  452. schema:
  453. type: path
  454. required: true
  455. - variable: host_path_config
  456. label: Host Path Configuration
  457. schema:
  458. type: dict
  459. show_if: [["type", "=", "host_path"]]
  460. attrs:
  461. - variable: acl_enable
  462. label: Enable ACL
  463. description: Enable ACL for the storage.
  464. schema:
  465. type: boolean
  466. default: false
  467. - variable: acl
  468. label: ACL Configuration
  469. schema:
  470. type: dict
  471. show_if: [["acl_enable", "=", true]]
  472. attrs: []
  473. $ref:
  474. - "normalize/acl"
  475. - variable: path
  476. label: Host Path
  477. description: The host path to use for storage.
  478. schema:
  479. type: hostpath
  480. show_if: [["acl_enable", "=", false]]
  481. required: true
  482. - variable: ix_volume_config
  483. label: ixVolume Configuration
  484. description: The configuration for the ixVolume dataset.
  485. schema:
  486. type: dict
  487. show_if: [["type", "=", "ix_volume"]]
  488. $ref:
  489. - "normalize/ix_volume"
  490. attrs:
  491. - variable: acl_enable
  492. label: Enable ACL
  493. description: Enable ACL for the storage.
  494. schema:
  495. type: boolean
  496. default: false
  497. - variable: dataset_name
  498. label: Dataset Name
  499. description: The name of the dataset to use for storage.
  500. schema:
  501. type: string
  502. required: true
  503. default: "storage_entry"
  504. - variable: acl_entries
  505. label: ACL Configuration
  506. schema:
  507. type: dict
  508. show_if: [["acl_enable", "=", true]]
  509. attrs: []
  510. $ref:
  511. - "normalize/acl"
  512. - variable: cifs_config
  513. label: SMB Configuration
  514. description: The configuration for the SMB dataset.
  515. schema:
  516. type: dict
  517. show_if: [["type", "=", "cifs"]]
  518. attrs:
  519. - variable: server
  520. label: Server
  521. description: The server to mount the SMB share.
  522. schema:
  523. type: string
  524. required: true
  525. - variable: path
  526. label: Path
  527. description: The path to mount the SMB share.
  528. schema:
  529. type: string
  530. required: true
  531. - variable: username
  532. label: Username
  533. description: The username to use for the SMB share.
  534. schema:
  535. type: string
  536. required: true
  537. - variable: password
  538. label: Password
  539. description: The password to use for the SMB share.
  540. schema:
  541. type: string
  542. required: true
  543. private: true
  544. - variable: domain
  545. label: Domain
  546. description: The domain to use for the SMB share.
  547. schema:
  548. type: string
  549. - variable: labels
  550. label: ""
  551. group: Labels Configuration
  552. schema:
  553. type: list
  554. default: []
  555. items:
  556. - variable: label
  557. label: Label
  558. schema:
  559. type: dict
  560. attrs:
  561. - variable: key
  562. label: Key
  563. schema:
  564. type: string
  565. required: true
  566. - variable: value
  567. label: Value
  568. schema:
  569. type: string
  570. required: true
  571. - variable: containers
  572. label: Containers
  573. description: Containers where the label should be applied
  574. schema:
  575. type: list
  576. items:
  577. - variable: container
  578. label: Container
  579. schema:
  580. type: string
  581. required: true
  582. enum:
  583. - value: scrypted
  584. description: scrypted
  585. - variable: resources
  586. label: ""
  587. group: Resources Configuration
  588. schema:
  589. type: dict
  590. attrs:
  591. - variable: limits
  592. label: Limits
  593. schema:
  594. type: dict
  595. attrs:
  596. - variable: cpus
  597. label: CPUs
  598. description: CPUs limit for Scrypted.
  599. schema:
  600. type: int
  601. default: 2
  602. required: true
  603. - variable: memory
  604. label: Memory (in MB)
  605. description: Memory limit for Scrypted.
  606. schema:
  607. type: int
  608. default: 4096
  609. required: true
  610. - variable: gpus
  611. group: Resources Configuration
  612. label: GPU Configuration
  613. schema:
  614. type: dict
  615. $ref:
  616. - "definitions/gpu_configuration"
  617. attrs: []