feat(rtmpserver) move to stable (#6589)
* feat(rtmpserver) move to stable * Apply suggestions from code review Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> * fix docs --------- Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
co-authored by
Stavros Kois
parent
f1cd63437a
commit
846262b85a
@@ -1,61 +0,0 @@
|
|||||||
# Include{groups}
|
|
||||||
portals: {}
|
|
||||||
questions:
|
|
||||||
# Include{global}
|
|
||||||
# Include{controller}
|
|
||||||
# Include{replicas}
|
|
||||||
# Include{replica1}
|
|
||||||
# Include{controllerExpertExtraArgs}
|
|
||||||
# Include{serviceExpertRoot}
|
|
||||||
default: false
|
|
||||||
# Include{serviceExpert}
|
|
||||||
# Include{serviceList}
|
|
||||||
# Include{persistenceList}
|
|
||||||
# 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{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{codeserver}
|
|
||||||
# Include{vpn}
|
|
||||||
# Include{documentation}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
env: {}
|
|
||||||
image:
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
repository: tccr.io/truecharts/rtmpserver
|
|
||||||
tag: latest@sha256:bfc85c58cc8cb8866774364af135c8fe3816ed26ee5c4ea182d28d2acf63c16e
|
|
||||||
persistence: {}
|
|
||||||
podSecurityContext:
|
|
||||||
runAsGroup: 0
|
|
||||||
runAsUser: 0
|
|
||||||
probes:
|
|
||||||
liveness:
|
|
||||||
enabled: false
|
|
||||||
readiness:
|
|
||||||
enabled: false
|
|
||||||
startup:
|
|
||||||
enabled: false
|
|
||||||
securityContext:
|
|
||||||
readOnlyRootFilesystem: false
|
|
||||||
runAsNonRoot: false
|
|
||||||
service:
|
|
||||||
main:
|
|
||||||
enabled: false
|
|
||||||
ports:
|
|
||||||
main:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
portal:
|
|
||||||
enabled: false
|
|
||||||
@@ -1,8 +1,3 @@
|
|||||||
annotations:
|
|
||||||
truecharts.org/SCALE-support: "true"
|
|
||||||
truecharts.org/catagories: |
|
|
||||||
- GameServers
|
|
||||||
- Network-Other
|
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: "latest"
|
appVersion: "latest"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -10,8 +5,8 @@ dependencies:
|
|||||||
repository: https://library-charts.truecharts.org
|
repository: https://library-charts.truecharts.org
|
||||||
version: 11.1.2
|
version: 11.1.2
|
||||||
deprecated: false
|
deprecated: false
|
||||||
description: "This Chart can be used to create a video streaming server that supports RTMP, HLS, DASH out of the box. It also allows adaptive streaming and custom transcoding of video streams. All modules are built from source on Debian and Alpine Linux base images."
|
description: A video streaming server that supports RTMP, HLS, DASH out of the box.
|
||||||
home: https://truecharts.org/charts/incubator/rtmpserver
|
home: https://truecharts.org/charts/stable/rtmpserver
|
||||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/rtmpserver.png
|
icon: https://truecharts.org/img/hotlink-ok/chart-icons/rtmpserver.png
|
||||||
keywords:
|
keywords:
|
||||||
- rtmpserver
|
- rtmpserver
|
||||||
@@ -25,7 +20,13 @@ maintainers:
|
|||||||
name: rtmpserver
|
name: rtmpserver
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/rtmpserver
|
- https://github.com/truecharts/charts/tree/master/charts/incubator/rtmpserver
|
||||||
- https://hub.docker.com/r/alqutami/rtmp-hls
|
- https://hub.docker.com/alqutami/rtmp-hls
|
||||||
- https://github.com/TareqAlqutami/rtmp-hls-server
|
- https://github.com/TareqAlqutami/rtmp-hls-server
|
||||||
type: application
|
type: application
|
||||||
version: 2.0.9
|
version: 3.0.0
|
||||||
|
annotations:
|
||||||
|
truecharts.org/catagories: |
|
||||||
|
- GameServers
|
||||||
|
- Network-Other
|
||||||
|
truecharts.org/SCALE-support: "true"
|
||||||
|
truecharts.org/grade: U
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
# Installation Notes
|
||||||
|
|
||||||
|
The app has no configuration. The following is just a basic guide on how to stream and view the live stream.
|
||||||
|
|
||||||
|
## Stream
|
||||||
|
|
||||||
|
- This is the URL to use to stream `rtmp://<server_ip>:1935/live/<stream_key>`
|
||||||
|
- Replace <server_ip> and <stream_key> respectively.
|
||||||
|
- Change the port if its not default.
|
||||||
|
|
||||||
|
## View
|
||||||
|
|
||||||
|
- VLC
|
||||||
|
|
||||||
|
- Go to Media > Open Network Stream.
|
||||||
|
/code/charts/truecharts/charts/charts/rtmpserver - `rtmp://<server ip>:1935/live/<stream-key>`
|
||||||
|
|
||||||
|
- Web
|
||||||
|
|
||||||
|
- ~~To play RTMP content: `http://<server_ip>:10610/players/rtmp.html`~~ (requires Flash, this tech is dead!)
|
||||||
|
- To play HLS content: `http://<server_ip>:10610/players/hls.html`
|
||||||
|
- To play HLS content using hls.js library: `http://<server_ip>:10610/players/hls_hlsjs.html`
|
||||||
|
- To play DASH content: `http://<server_ip>:10610/players/dash.html`
|
||||||
|
- To play RTMP and HLS contents on the same page: `http://<server_ip>:10610/players/rtmp_hls.html`
|
||||||
|
|
||||||
|
:::note
|
||||||
|
|
||||||
|
The default basic builtin stream sites use a default key, "test".
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Customizaton
|
||||||
|
|
||||||
|
- If you want to mount a modified version of a nginx.conf you can do so by manually mounting `/etc/nginx/` as PVC or hostpath and then add the custom files after. Take a look at upstream's [configs](https://github.com/TareqAlqutami/rtmp-hls-server/tree/master/conf).
|
||||||
|
|
||||||
|
- If you want to mount and customized the web players you can do so by mounting `/usr/local/nginx/html/players` and adding the files in that dir, here are example players [htmls](https://github.com/TareqAlqutami/rtmp-hls-server/tree/master/players).
|
||||||
|
|
||||||
|
- You might want to enable the `codeserver` addon to access the dirs to add/modify the files in a fast and easy to use web editor by going to `http://<server_ip>:36107/?folder=/`
|
||||||
|
|
||||||
|
:::note
|
||||||
|
|
||||||
|
We will not offer support if you manually mount these dirs, you can ask for help in our discord channel [#🎓・unsupported-setups](https://discord.gg/JRU6gUjeMJ) otherwise you can create a ticket in our support channel normally.
|
||||||
|
|
||||||
|
:::
|
||||||
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
@@ -0,0 +1,148 @@
|
|||||||
|
# Include{groups}
|
||||||
|
portals:
|
||||||
|
open:
|
||||||
|
# Include{portalLink}
|
||||||
|
path: /players/hls.html
|
||||||
|
stats:
|
||||||
|
# Include{portalLink}
|
||||||
|
path: /stats.html
|
||||||
|
questions:
|
||||||
|
# Include{global}
|
||||||
|
# Include{controller}
|
||||||
|
# Include{replicas}
|
||||||
|
# Include{replica1}
|
||||||
|
# Include{controllerExpertExtraArgs}
|
||||||
|
# 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{serviceSelectorLoadBalancer}
|
||||||
|
# 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: 10610
|
||||||
|
required: true
|
||||||
|
- variable: rtmp
|
||||||
|
label: RTMP Service
|
||||||
|
description: The RTMP service
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{serviceSelectorLoadBalancer}
|
||||||
|
# Include{serviceSelectorExtras}
|
||||||
|
- variable: rtmp
|
||||||
|
label: RTMP 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{serviceExpertRoot}
|
||||||
|
default: false
|
||||||
|
# Include{serviceExpert}
|
||||||
|
# Include{serviceList}
|
||||||
|
# Include{persistenceRoot}
|
||||||
|
- variable: dash
|
||||||
|
label: App Dash Storage
|
||||||
|
description: Stores the Application Dash.
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{persistenceBasic}
|
||||||
|
- variable: hls
|
||||||
|
label: App HLS Storage
|
||||||
|
description: Stores the Application HLS.
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{persistenceBasic}
|
||||||
|
# Include{persistenceList}
|
||||||
|
# Include{ingressRoot}
|
||||||
|
- variable: main
|
||||||
|
label: Main Ingress
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{ingressDefault}
|
||||||
|
- variable: rtmp
|
||||||
|
label: RTMP Ingress
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{ingressDefault}
|
||||||
|
# Include{ingressTLS}
|
||||||
|
# Include{ingressTraefik}
|
||||||
|
# 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{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{codeserver}
|
||||||
|
# Include{vpn}
|
||||||
|
# Include{documentation}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
image:
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
repository: tccr.io/truecharts/rtmpserver
|
||||||
|
tag: latest@sha256:bfc85c58cc8cb8866774364af135c8fe3816ed26ee5c4ea182d28d2acf63c16e
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsNonRoot: false
|
||||||
|
|
||||||
|
podSecurityContext:
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsUser: 0
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
protocol: HTTP
|
||||||
|
targetPort: 8080
|
||||||
|
port: 10610
|
||||||
|
rtmp:
|
||||||
|
ports:
|
||||||
|
rtmp:
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 1935
|
||||||
|
port: 1935
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
path: /stats.html
|
||||||
|
|
||||||
|
readiness:
|
||||||
|
path: /stats.html
|
||||||
|
|
||||||
|
startup:
|
||||||
|
path: /stats.html
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
rtmp:
|
||||||
|
autoLink: true
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
dash:
|
||||||
|
enabled: true
|
||||||
|
mountPath: /mnt/dash
|
||||||
|
hls:
|
||||||
|
enabled: true
|
||||||
|
mountPath: /mnt/hls
|
||||||
|
|
||||||
|
portal:
|
||||||
|
enabled: true
|
||||||
Reference in New Issue
Block a user