Go to file
Torjus Håkestad 381523a2be
Some checks failed
release-nightly / release-image (push) Failing after 20s
Update test to only run on changed go files
2023-12-06 23:33:34 +01:00
.gitea/workflows Update test to only run on changed go files 2023-12-06 23:33:34 +01:00
ministream-frontend@2e96de56e6 Update frontend 2023-12-06 03:30:17 +01:00
server Add viewcount to stream list endpoint 2023-12-06 00:08:14 +01:00
.dockerignore Update frontend 2023-12-02 13:58:02 +01:00
.gitignore Initial commit 2023-11-30 19:32:38 +01:00
.gitmodules Use https for submodule 2023-12-06 23:26:08 +01:00
Dockerfile Fix Dockerfile 2023-12-02 14:06:00 +01:00
go.mod Add viewcount to stream list endpoint 2023-12-06 00:08:14 +01:00
go.sum Go mod tidy 2023-12-05 21:58:28 +01:00
main.go Make ephemeral udp ports configurable 2023-12-05 01:30:04 +01:00
ministream.toml Make ephemeral udp ports configurable 2023-12-05 01:30:04 +01:00
README.md Update README 2023-12-02 14:27:43 +01:00
Taskfile.yaml Create working prototype 2023-11-30 23:56:33 +01:00

ministream

Small streaming service utilizing WebRTC and WHIP, written in go.

Deployment

Create a ministream.service like this:

# /etc/systemd/system/ministream.service
[Unit]
Description=Ministream Container
After=docker.service
Requires=docker.service

[Service]
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/docker pull git.t-juice.club/torjus/ministream:latest
ExecStartPre=-/usr/bin/docker stop ministream
ExecStartPre=-/usr/bin/docker rm ministream
ExecStart=/usr/bin/docker run -p 50000-50050:50000-50050/udp \
  -p 8080:8080 \
  --name ministream git.t-juice.club/torjus/ministream:latest

[Install]
WantedBy=multi-user.target

After running the service, it should be accessible on http://HOSTNAME:8080

Build and run using Docker

$ docker build -t ministream:latest .
...
$ docker run -p 50000-50050:50000-50050/udp -p 8080:8080 ministream:latest