Go to file
2023-12-05 00:35:38 +00:00
ministream-frontend@a267f9e0df Update frontend 2023-12-04 23:40:02 +01:00
server Make ephemeral udp ports configurable 2023-12-05 01:30:04 +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 Update frontend 2023-12-02 13:58:02 +01:00
Dockerfile Fix Dockerfile 2023-12-02 14:06:00 +01:00
go.mod Add minimal config 2023-12-05 00:45:43 +01:00
go.sum Add minimal config 2023-12-05 00:45:43 +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