diff --git a/charts/incubator/rtmpserver/questions.yaml b/charts/incubator/rtmpserver/questions.yaml deleted file mode 100644 index d4e075e5ec4..00000000000 --- a/charts/incubator/rtmpserver/questions.yaml +++ /dev/null @@ -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} diff --git a/charts/incubator/rtmpserver/values.yaml b/charts/incubator/rtmpserver/values.yaml deleted file mode 100644 index 48863ec7147..00000000000 --- a/charts/incubator/rtmpserver/values.yaml +++ /dev/null @@ -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 diff --git a/charts/incubator/rtmpserver/.helmignore b/charts/stable/rtmpserver/.helmignore similarity index 100% rename from charts/incubator/rtmpserver/.helmignore rename to charts/stable/rtmpserver/.helmignore diff --git a/charts/incubator/rtmpserver/CHANGELOG.md b/charts/stable/rtmpserver/CHANGELOG.md similarity index 100% rename from charts/incubator/rtmpserver/CHANGELOG.md rename to charts/stable/rtmpserver/CHANGELOG.md diff --git a/charts/incubator/rtmpserver/Chart.yaml b/charts/stable/rtmpserver/Chart.yaml similarity index 64% rename from charts/incubator/rtmpserver/Chart.yaml rename to charts/stable/rtmpserver/Chart.yaml index 7d49c2a01e9..c5e929aec3b 100644 --- a/charts/incubator/rtmpserver/Chart.yaml +++ b/charts/stable/rtmpserver/Chart.yaml @@ -1,8 +1,3 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - GameServers - - Network-Other apiVersion: v2 appVersion: "latest" dependencies: @@ -10,8 +5,8 @@ dependencies: repository: https://library-charts.truecharts.org version: 11.1.2 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." -home: https://truecharts.org/charts/incubator/rtmpserver +description: A video streaming server that supports RTMP, HLS, DASH out of the box. +home: https://truecharts.org/charts/stable/rtmpserver icon: https://truecharts.org/img/hotlink-ok/chart-icons/rtmpserver.png keywords: - rtmpserver @@ -25,7 +20,13 @@ maintainers: name: rtmpserver sources: - 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 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 diff --git a/charts/incubator/rtmpserver/README.md b/charts/stable/rtmpserver/README.md similarity index 100% rename from charts/incubator/rtmpserver/README.md rename to charts/stable/rtmpserver/README.md diff --git a/charts/stable/rtmpserver/docs/installation_notes.md b/charts/stable/rtmpserver/docs/installation_notes.md new file mode 100644 index 00000000000..7d41b31396b --- /dev/null +++ b/charts/stable/rtmpserver/docs/installation_notes.md @@ -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://:1935/live/` + - Replace and respectively. + - Change the port if its not default. + +## View + +- VLC + + - Go to Media > Open Network Stream. + /code/charts/truecharts/charts/charts/rtmpserver - `rtmp://:1935/live/` + +- Web + + - ~~To play RTMP content: `http://:10610/players/rtmp.html`~~ (requires Flash, this tech is dead!) + - To play HLS content: `http://:10610/players/hls.html` + - To play HLS content using hls.js library: `http://:10610/players/hls_hlsjs.html` + - To play DASH content: `http://:10610/players/dash.html` + - To play RTMP and HLS contents on the same page: `http://: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://: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. + +::: diff --git a/charts/incubator/rtmpserver/icon.png b/charts/stable/rtmpserver/icon.png similarity index 100% rename from charts/incubator/rtmpserver/icon.png rename to charts/stable/rtmpserver/icon.png diff --git a/charts/stable/rtmpserver/questions.yaml b/charts/stable/rtmpserver/questions.yaml new file mode 100644 index 00000000000..4f3f925a6d0 --- /dev/null +++ b/charts/stable/rtmpserver/questions.yaml @@ -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} diff --git a/charts/incubator/rtmpserver/templates/common.yaml b/charts/stable/rtmpserver/templates/common.yaml similarity index 100% rename from charts/incubator/rtmpserver/templates/common.yaml rename to charts/stable/rtmpserver/templates/common.yaml diff --git a/charts/stable/rtmpserver/values.yaml b/charts/stable/rtmpserver/values.yaml new file mode 100644 index 00000000000..30bd592d9d1 --- /dev/null +++ b/charts/stable/rtmpserver/values.yaml @@ -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