mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-15 23:02:03 -05:00
[PR #1027] feat: add Oryx (SRS) media streaming template #16335
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/1027
Author: @Siumauricio
Created: 7/14/2026
Status: 🔄 Open
Base:
canary← Head:feat/oryx📝 Commits (1)
af8b535feat: add Oryx (SRS) media streaming template📊 Changes
5 files changed (+129 additions, -0 deletions)
View changed files
➕
blueprints/oryx/docker-compose.yml(+18 -0)➕
blueprints/oryx/instructions.md(+29 -0)➕
blueprints/oryx/logo.svg(+52 -0)➕
blueprints/oryx/meta.json(+22 -0)➕
blueprints/oryx/template.toml(+8 -0)📄 Description
Summary
Adds a template for Oryx (formerly SRS Stack), an all-in-one open-source video streaming server built on SRS, with a web console for managing streams, recording, forwarding, transcoding and virtual live streaming.
ossrs/oryx:5.15.20(latest stable release on Docker Hub)oryx-datavolume (/data)instructions.mdcovers the first-login password setup and the RTMP/SRT/WebRTC publish URLsPort decision
RTMP, SRT and WebRTC are not HTTP protocols, so Traefik cannot route them through the domain. Following the precedent set by the
poste.iotemplate (which publishes its mail ports the same way), the streaming ports are published directly on the host, with a comment in the compose file explaining why:1935:1935— RTMP ingest/playback (TCP)8000:8000/udp— WebRTC media transport (UDP)10080:10080/udp— SRT ingest/playback (UDP)Users publish streams against the server IP on these ports; HLS/HTTP-FLV playback and the console go through the HTTPS domain. This is documented in
instructions.md.Test evidence
Deployed on a Dokploy instance from this exact blueprint:
done(123s), container runningGET /via the assigned domain → HTTP 200,<title>Oryx</title>(management console)GET /terraform/v1/mgmt/init→{"code":0,"data":{"init":false}}(first-run admin setup ready)nc -vz SERVER_IP 1935→ connection succeeded (RTMP reachable)node build-scripts/generate-meta.js --check→ 481 templates validatedCloses #300
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.