ce2150f719
The -a flag has been added to allow specifying a new admin password on the command line. This password will only be used for the current session and will not be written to the configuration file. If the password contains spaces, wrap it in quotes on the command line. The quotes should be omitted with the /auth command. Eg, starting the server with: ./MovieNight -a "the admin password" the auth command in chat would be: /auth the admin password |
||
---|---|---|
common | ||
docker | ||
static | ||
wasm | ||
.gitignore | ||
.travis.yml | ||
Dockerfile | ||
Makefile | ||
chatclient.go | ||
chatclient_test.go | ||
chatcommands.go | ||
chatroom.go | ||
connection.go | ||
emotes.go | ||
errors.go | ||
favicon.png | ||
go.mod | ||
go.sum | ||
handlers.go | ||
main.go | ||
notes.txt | ||
readme.md | ||
settings.go | ||
settings_example.json | ||
stats.go |
readme.md
MovieNight stream server
This is a single-instance streaming server with chat. Originally written to replace Rabbit as the platform for watching movies with a group of people online.
Build requirements
- Go 1.13 or newer
- GNU Make
Older Go Versions
You can install a newer version of Go alongside your OS's distribution by following the guide here: https://golang.org/doc/install#extra_versions
Once you have that setup add an enviromnent variable named GO_VERSION
and
set it to the version you installed (eg, 1.14.1
). The Makefile will now use
the newer version.
Install
To just download and run:
$ git clone https://github.com/zorchenhimer/MovieNight
$ cd MovieNight
$ make
$ ./MovieNight
Usage
Now you can use OBS to push a stream to the server. Set the stream URL to
rtmp://your.domain.host/live
and enter the stream key.
Now you can view the stream at
http://your.domain.host:8089/
There is a video only version at
http://your.domain.host:8089/video
and a chat only version at
http://your.domain.host:8089/chat
The default listen port is :8089
. It can be changed by providing a new port
at startup:
Usage of .\MovieNight.exe:
-k string
Stream key, to protect your stream
-l string
host:port of the MovieNight (default ":8089")
Docker
MovieNight provides a Dockerfile and a docker-compose file to run MovieNight using Docker.
Dockerfile
Building the Container
Install Docker, clone the repository and build:
docker build -t movienight .
Running the Container
Run the image once it's built:
docker run -d -p 8089:8089 -p 1935:1935 [-v ./settings.json:/config/settings.json] movienight
Explanation:
- -d runs the container in the background.
- -p 8089:8089 maps the MovieNight web interface to port 8089 on the server.
- -p 1935:1935 maps the RTMP port for OBS to port 1935 (default RTMP port) on the server.
- -v ./settings.json:/config/settings.json maps the file settings.json into the container. [OPTIONAL]
docker-compose
docker-compose will automatically build the image, no need to build it manually.
Install Docker and docker-compose, clone the repository and change into the directory ./docker. Then run:
docker-compose up -d
This docker-compose file will create a volume called movienight-config and automatically add the standard settings.json file to it. It also maps port 8089 and 1935 to the same ports of the host.
Notes for Running Using docker-compose
The container needs to be restarted to apply any changes you make to settings.json.