829 lines
30 KiB
YAML
829 lines
30 KiB
YAML
# Include{groups}
|
|
portals:
|
|
open:
|
|
# Include{portalLink}
|
|
questions:
|
|
# Include{global}
|
|
- variable: imageSelector
|
|
group: Container Image
|
|
label: Select Image
|
|
schema:
|
|
type: string
|
|
default: image
|
|
enum:
|
|
- value: image
|
|
description: Default Image
|
|
- value: cudaImage
|
|
description: CUDA
|
|
- value: vaapiImage
|
|
description: VAAPI
|
|
# Include{controller}
|
|
# Include{controllerDeployment}
|
|
# Include{replicas}
|
|
# Include{replica1}
|
|
# Include{strategy}
|
|
# Include{recreate}
|
|
# Include{controllerExpert}
|
|
# Include{controllerExpertExtraArgs}
|
|
- variable: restreamer
|
|
group: Container Configuration
|
|
label: Restreamer Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: general
|
|
label: General
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: hostname
|
|
label: Hostname
|
|
description: Set to the domain name of the host this instance is running on.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: host_auto
|
|
label: Host Auto
|
|
description: Enable detection of public IP addresses.
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: tls_enable
|
|
label: TLS Enable
|
|
description: Set to true to enable TLS support.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: origins
|
|
label: Origins
|
|
description: List of allowed CORS origins. Will be used for / and /memfs.
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: origin
|
|
label: Origin
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: mimetype_file
|
|
label: Mime Types File
|
|
description: Path to file with MIME type definitions.
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: mime.types
|
|
- variable: api
|
|
label: API
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: api_auth_username
|
|
label: API Auth Username
|
|
description: Username for auth
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: api_auth_password
|
|
label: API Auth Password
|
|
description: Password for auth.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
required: true
|
|
- variable: api_read_only
|
|
label: API Read Only
|
|
description: Allow only ready only access to the API
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: api_access_http_allow
|
|
label: API Access HTTP Allow
|
|
description: List of IP ranges in CIDR notation
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: ipRangeAllow
|
|
label: IP Range to Allow
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: api_access_http_block
|
|
label: API Access HTTP Block
|
|
description: List of IP ranges in CIDR notation
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: ipRangeBlock
|
|
label: IP Range to Block
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: api_access_https_allow
|
|
label: API Access HTTPS Allow
|
|
description: List of IP ranges in CIDR notation
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: ipRangeAllow
|
|
label: IP Range to Allow
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: api_access_https_block
|
|
label: API Access HTTPS Block
|
|
description: List of IP ranges in CIDR notation
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: ipRangeBlock
|
|
label: IP Range to Block
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: api_auth_enable
|
|
label: API Auth Enable
|
|
description: Set to false to disable auth for all clients.
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: api_auth_disable_localhost
|
|
label: API Auth Disable Localhost
|
|
description: Set to true to disable auth for clients from localhost.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: api_auth0_enable
|
|
label: API Auth0 Enable
|
|
description: Enable Auth0.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: api_auth0_tenants
|
|
label: API Auth0 Tenants
|
|
description: List of base64 encoded Auth0 tenant JSON objects.
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: tenant
|
|
label: Tenant
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: storage_disk
|
|
label: Storage Disk
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: disk_max_size_mb
|
|
label: Storage Disk Max Size MByte
|
|
description: Max allowed megabytes for Disk Dir (0 for Unlimited)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: cache_enable
|
|
label: Storage Disk Cache Enable
|
|
description: Enable cache for files Storage Disk
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: cache_max_size_mb
|
|
label: Storage Disk Cache Max Size MByte
|
|
description: Max allowed cache size. (0 for Unlimited)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: cache_ttl
|
|
label: Storage Disk Cache TTL Seconds
|
|
description: Seconds to keep files in cache.
|
|
schema:
|
|
type: int
|
|
default: 300
|
|
- variable: cache_max_file_size_mb
|
|
label: Storage Disk Max File Size MBytes
|
|
description: Max. file size to put in cache. (0 for Unlimited)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: cache_types
|
|
label: Cache Types
|
|
description: List of file extensions to cache
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: type
|
|
label: Type
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: log_max_lines
|
|
label: Log Max Lines
|
|
schema:
|
|
type: int
|
|
default: 10000
|
|
- variable: storage_mem
|
|
label: Storage memory
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: storage_mem_auth_enable
|
|
label: Storage Memory Auth Enable
|
|
description: Enable basic auth for PUT,POST, and DELETE on /memfs.
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: storage_mem_auth_username
|
|
label: Storage Memory Auth Username
|
|
description: Username for Basic-Auth of /memfs. Required if auth is enabled.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
show_if: [[storage_mem_auth_enable, "=", true]]
|
|
- variable: storage_mem_auth_password
|
|
label: Storage Memory Auth Password
|
|
description: Password for Basic-Auth of /memfs. Required if auth is enabled.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
required: true
|
|
show_if: [[storage_mem_auth_enable, "=", true]]
|
|
- variable: storage_mem_max_size_mb
|
|
label: Storage Memory Max Size MBytes
|
|
description: Max. allowed megabytes for /memfs. (0 for Unlimited)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: storage_mem_purge
|
|
label: Storage Memory Purge
|
|
description: Set to true to remove the oldest entries if the /memfs is full.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: rtmp
|
|
label: RTMP
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: rtmp_enable
|
|
label: RTMP Enable
|
|
description: Enable RTMP server.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: rtmps_enable
|
|
label: RTMPS Enable
|
|
description: Enable RTMP over TLS (Requires TLS to be enabled)
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: rtmp_token
|
|
label: RTMP Token
|
|
description: RTMP token for publishing and playing. The token is the value of the URL query parameter token.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: rtmp_app
|
|
label: RTMP App
|
|
description: RTMP app for publishing.
|
|
schema:
|
|
type: string
|
|
default: "/"
|
|
- variable: ffmpeg
|
|
label: FFMPEG
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: ffmpeg_binary
|
|
label: FFMPEG Binary
|
|
description: Path to FFmpeg binary.
|
|
schema:
|
|
type: string
|
|
default: ffmpeg
|
|
required: true
|
|
- variable: ffmpeg_max_processes
|
|
label: FFMPEG Max Processes
|
|
description: Max. allowed simultaneously running FFmpeg instances. (0 for unlimited.)
|
|
schema:
|
|
type: string
|
|
default: ffmpeg
|
|
- variable: ffmpeg_access_input_allow
|
|
label: FFMPEG Access Input Allow
|
|
description: List of pattern for allowed input URI
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: allowInput
|
|
label: Allow Input
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: ffmpeg_access_input_block
|
|
label: FFMPEG Access Input Block
|
|
description: List of pattern for blocked input URI
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: blockInput
|
|
label: Block Input
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: ffmpeg_access_output_allow
|
|
label: FFMPEG Access Output Allow
|
|
description: List of pattern for allowed output URI
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: allowOutput
|
|
label: Allow Output
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: ffmpeg_access_output_block
|
|
label: FFMPEG Access Output Block
|
|
description: List of pattern for blocked output URI
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: blockOutput
|
|
label: Block Output
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: ffmpeg_log_max_lines
|
|
label: FFMPEG Log Max Lines
|
|
schema:
|
|
type: int
|
|
default: 50
|
|
- variable: ffmpeg_log_max_history
|
|
label: FFMPEG Log Max History
|
|
schema:
|
|
type: int
|
|
default: 3
|
|
- variable: playout
|
|
label: Playout
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: playout_enable
|
|
label: Playout Enable
|
|
description: Enable playout API where available
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: playout_min_port
|
|
label: Playout Min Port
|
|
description: Min. port a playout server per input can run on.
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: playout_max_port
|
|
label: Playout Max Port
|
|
description: Max. port a playout server per input can run on.
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: logs
|
|
label: Logs
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: log_level
|
|
label: Log Level
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
enum:
|
|
- value: info
|
|
description: info
|
|
- value: silent
|
|
description: silent
|
|
- value: warn
|
|
description: warn
|
|
- value: error
|
|
description: error
|
|
- value: debug
|
|
description: debug
|
|
- variable: log_topics
|
|
label: Log Topics
|
|
description: List of topics to log
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: topic
|
|
label: Topic
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: log_max_lines
|
|
label: Log Max Lines
|
|
schema:
|
|
type: int
|
|
default: 10000
|
|
- variable: debug
|
|
label: Debug
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: debug_profiling
|
|
label: Debug Profiling
|
|
description: Set to true to enable profiling endpoint on /profiling.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: debug_force_gc
|
|
label: Debug Force GC
|
|
description: Number of seconds between forcing GC to return memory to the OS.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: metrics
|
|
label: Metrics
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: metrics_enable
|
|
label: Metrics Enable
|
|
description: Enable collecting historic metrics data.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: metrics_prometheus_enable
|
|
label: Prometheus Metrics Enable
|
|
description: Enable prometheus endpoint /metrics.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: metrics_range_seconds
|
|
label: Metrics Range Seconds
|
|
description: Seconds to keep history metric data.
|
|
schema:
|
|
type: int
|
|
default: 300
|
|
- variable: metrics_interval_seconds
|
|
label: Metrics Interval Seconds
|
|
description: Interval for collecting metrics.
|
|
schema:
|
|
type: int
|
|
default: 2
|
|
- variable: sessions
|
|
label: Sessions
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: sessions_enable
|
|
label: Sessions Enable
|
|
description: Enable HLS statistics for /memfs.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: sessions_ip_ignore_list
|
|
label: Session IP Ignore List
|
|
description: List of IP ranges in CIDR notation
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: ignoreIP
|
|
label: Ignore IP
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: sessions_timeout_sec
|
|
label: Session Timeout Seconds
|
|
description: Timeout of a session in seconds.
|
|
schema:
|
|
type: int
|
|
default: 30
|
|
- variable: sessions_persist
|
|
label: Sessions Persist
|
|
description: Whether to persist the session history
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: sessions_max_bitrate
|
|
label: Session Max Bitrate
|
|
description: Max. allowed outgoing bitrate in mbit/s. (0 for unlimited.)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: sessions_max_sessions
|
|
label: Max Session
|
|
description: Max. allowed number of simultaneous sessions. (0 for unlimited.)
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: router
|
|
label: Router
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: router_blocked_prefixes
|
|
label: Blocked Prefixes
|
|
description: List of path prefixes that can't be routed.
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: blockedPrefix
|
|
label: Blocked Prefix
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: router_routes
|
|
label: Routes
|
|
description: "List of route mappings of the form [from]:[to], e.g."
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: route
|
|
label: Route
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
# Include{containerConfig}
|
|
# Include{serviceRoot}
|
|
- variable: main
|
|
label: Main Service
|
|
description: The Primary service on which the healthcheck runs, often the webUI
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorSimple}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: main
|
|
label: Main Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 8080
|
|
required: true
|
|
# Include{advancedPortTCP}
|
|
- variable: targetPort
|
|
label: Target Port
|
|
description: The internal(!) port on the container the Application runs on
|
|
schema:
|
|
type: int
|
|
default: 8080
|
|
- variable: https
|
|
label: HTTPS Service
|
|
description: The HTTPS service
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorSimple}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: https
|
|
label: HTTPS Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 8081
|
|
required: true
|
|
# Include{advancedPortTCP}
|
|
- variable: targetPort
|
|
label: Target Port
|
|
description: The internal(!) port on the container the Application runs on
|
|
schema:
|
|
type: int
|
|
default: 8081
|
|
- variable: rtmp
|
|
label: RTmP Service
|
|
description: The RTmP service for live streaming
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorSimple}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: rtmp
|
|
label: RTMP Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 1935
|
|
required: true
|
|
# Include{advancedPortTCP}
|
|
- variable: targetPort
|
|
label: Target Port
|
|
description: The internal(!) port on the container the Application runs on
|
|
schema:
|
|
type: int
|
|
default: 1935
|
|
- variable: rtmps
|
|
label: RTMP Secure Service
|
|
description: The RTMP service for live streaming
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorSimple}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: rtmps
|
|
label: RTSP Secure Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 1936
|
|
required: true
|
|
# Include{advancedPortTCP}
|
|
- variable: targetPort
|
|
label: Target Port
|
|
description: The internal(!) port on the container the Application runs on
|
|
schema:
|
|
type: int
|
|
default: 1936
|
|
- variable: srt
|
|
label: SRT Data Service
|
|
description: The SRT service for data
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorSimple}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: srt
|
|
label: SRT Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 6000
|
|
required: true
|
|
# Include{advancedPortTCP}
|
|
- variable: targetPort
|
|
label: Target Port
|
|
description: The internal(!) port on the container the Application runs on
|
|
schema:
|
|
type: int
|
|
default: 6000
|
|
# Include{serviceExpertRoot}
|
|
default: false
|
|
# Include{serviceExpert}
|
|
# Include{serviceList}
|
|
# Include{persistenceRoot}
|
|
- variable: config
|
|
label: App Config Storage
|
|
description: Stores the Application Configuration.
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
# Include{persistenceAdvanced}
|
|
- variable: data
|
|
label: App Data Storage
|
|
description: Stores the Application Data.
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
# Include{persistenceAdvanced}
|
|
# Include{persistenceList}
|
|
# Include{ingressRoot}
|
|
- variable: main
|
|
label: Main Ingress
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{ingressDefault}
|
|
# Include{ingressTLS}
|
|
# Include{ingressTraefik}
|
|
# Include{ingressExpert}
|
|
- variable: https
|
|
label: HTTPS Ingress
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{ingressDefault}
|
|
# Include{ingressTLS}
|
|
# Include{ingressTraefik}
|
|
# Include{ingressExpert}
|
|
# Include{ingressList}
|
|
# Include{security}
|
|
# Include{securityContextAdvancedRoot}
|
|
- variable: privileged
|
|
label: Privileged mode
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: readOnlyRootFilesystem
|
|
label: ReadOnly Root Filesystem
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: allowPrivilegeEscalation
|
|
label: Allow Privilege Escalation
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: runAsNonRoot
|
|
label: runAsNonRoot
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
# Include{securityContextAdvanced}
|
|
# Include{podSecurityContextRoot}
|
|
- variable: runAsUser
|
|
label: runAsUser
|
|
description: The UserID of the user running the application
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: runAsGroup
|
|
label: runAsGroup
|
|
description: The groupID this App of the user running the application
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: fsGroup
|
|
label: fsGroup
|
|
description: The group that should own ALL storage.
|
|
schema:
|
|
type: int
|
|
default: 568
|
|
# Include{podSecurityContextAdvanced}
|
|
# Include{resources}
|
|
# Include{advanced}
|
|
# Include{addons}
|
|
# Include{documentation}
|