You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a single-instance streaming server with chat. Originally written to
21
-
replace Rabbit as the platform for watching movies with a group of people
22
-
online.
21
+
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.
23
22
24
23
## Build requirements
25
24
- Go 1.16 or newer
26
25
- GNU Make
27
26
28
27
### Older Go Versions
29
-
You can install a newer version of Go alongside your OS's distribution by
30
-
following the guide here: [https://golang.org/doc/manage-install](https://golang.org/doc/manage-install)
28
+
You can install a newer version of Go alongside your OS's distribution by following the guide here: [https://golang.org/doc/manage-install](https://golang.org/doc/manage-install)
31
29
32
-
Once you have that setup add an enviromnent variable named `GO_VERSION` and
33
-
set it to the version you installed (eg, `1.16.1`). The Makefile will now use
34
-
the newer version.
30
+
Once you have that setup add an enviromnent variable named `GO_VERSION` and set it to the version you installed (eg, `1.16.1`). The Makefile will now use the newer version.
35
31
36
32
### Compile and install
37
-
You have to:
33
+
You have to:
38
34
- download `git clone https://github.com/zorchenhimer/MovieNight`, go into the source directory `cd MovieNight`;
39
35
- run `go build`
40
36
@@ -44,7 +40,7 @@ If you want to cross compile instead of running `go build`:
44
40
- build `make TARGET=windows ARCH=386` (On BSD systems use `gmake`);
@@ -97,8 +93,41 @@ The container needs to be restarted to apply any changes you make to *settings.j
97
93
A [FreeNAS & TrueNAS plugin](https://github.com/zorglube/iocage-plugin-movienight) had been released. You should find MovieNight into the plugin section of you management GUI. However you still can make an manual plugin deployment, documentation [here](https://github.com/freenas/iocage-ix-plugins)
98
94
If you prefer to make an Jail without using the plugin management, a script wich setup an Jail and build and run MovieNight into that Jail as been written, you'll find it here [freenas-iocage-movienight](https://github.com/zorglube/freenas-iocage-movienight)
99
95
96
+
### Clever-Cloud deployment and run
97
+
If you don't like to handle the build and run of your MovieNight instance, here is an samll manual of "how to make it run on [Clever-Cloud](https://www.clever-cloud.com)".
98
+
Into your Clever-Cloud dashboard:
99
+
- Create a "Brand New App" and choose `Go` runtime instance
100
+
- Name it, choose your datacenter
101
+
- You don't neet any "Add-On", unless you want to provide some Emotes to you MovieNight instance
102
+
- Add thoses environement-variables (expert mode allow you copy past frome this page):
103
+
`CC_GO_BUILD_TOOL="gobuild"` Set The build method
104
+
`CC_GO_PKG="github.com/zorchenhimer/MovieNight"` Set the `Go` dependencies origin
Now you can use OBS to push a stream to the server. Set the stream URL to
130
+
Now you can use OBS to push a stream to the server. Set the stream URL to
102
131
103
132
```text
104
133
rtmp://your.domain.host/live
@@ -124,8 +153,7 @@ and a chat only version at
124
153
http://your.domain.host:8089/chat
125
154
```
126
155
127
-
The default listen port is `:8089`. It can be changed by providing a new port
128
-
at startup:
156
+
The default listen port is `:8089`. It can be changed by providing a new port at startup:
129
157
130
158
```text
131
159
Usage of .\MovieNight.exe:
@@ -144,37 +172,29 @@ Usage of .\MovieNight.exe:
144
172
## Configuration
145
173
MovieNight’s configuration is controlled by `settings.json`:
146
174
147
-
-`AdminPassword`: users can enter `/auth <value>` into chat to grant themselves
148
-
admin privileges. This value is automatically regenerated unless
149
-
`RegenAdminPass` is false.
150
-
-`Bans`: list of banned users.
151
-
-`LetThemLurk`: if false, announces when a user enters and leaves chat.
152
-
-`ListenAddress`: the port that MovieNight listens on, formatted as `:8089`.
153
-
-`LogFile`: the path of the MovieNight logfile, relative to the executable.
154
-
-`LogLevel`: the log level, defaults to `debug`.
155
-
-`MaxMessageCount`: the number of messages displayed in the chat window.
156
-
-`NewPin`: if true, regenerates `RoomAccessPin` when the server starts.
157
-
-`PageTitle`: The base string used in the `<title>` element of the page. When
158
-
the stream title is set with `/playing`, it is appended; e.g., `Movie Night | The Man Who Killed Hitler and Then the Bigfoot`
159
-
-`RegenAdminPass`: if true, regenerates `AdminPassword` when the server starts.
160
-
-`RoomAccess`: the access policy of the chat room; this is managed by the
161
-
application and should not be edited manually.
162
-
-`RoomAccessPin`: if set, serves as the password required to enter the chatroom.
163
-
-`SessionKey`: key used for storing session data (cookies etc.)
164
-
-`StreamKey`: the key that OBS will use to connect to MovieNight.
165
-
-`StreamStats`: if true, prints statistics for the stream on server shutdown.
166
-
-`TitleLength`: the maximum allowed length for the stream title (set with `/playing`).
167
-
-`WrappedEmotesOnly`: if true, requires that emote codes be wrapped in colons
168
-
or brackets; e.g., `:PogChamp:`
169
-
-`RateLimitChat`: the number of seconds between each message a non-privileged
170
-
user can post in chat.
171
-
-`RateLimitNick`: the number of seconds before a user can change their nick again.
172
-
-`RakeLimitColor`: the number of seconds before a user can change their color again.
173
-
-`RateLimitAuth`: the number of seconds between each allowed auth attempt
174
-
-`RateLimitDuplicate`: the numeber of seconds before a user can post a
175
-
duplicate message.
176
-
-`NoCache`: if true, set `Cache-Control: no-cache, must-revalidate` in the HTTP
177
-
header, to prevent caching responses.
175
+
- `AdminPassword`: users can enter `/auth <value>` into chat to grant themselves admin privileges. This value is automatically regenerated unless `RegenAdminPass` is false.
176
+
- `Bans`: list of banned users.
177
+
- `LetThemLurk`: if false, announces when a user enters and leaves chat.
178
+
- `ListenAddress`: the port that MovieNight listens on, formatted as `:8089`.
179
+
- `LogFile`: the path of the MovieNight logfile, relative to the executable.
180
+
- `LogLevel`: the log level, defaults to `debug`.
181
+
- `MaxMessageCount`: the number of messages displayed in the chat window.
182
+
- `NewPin`: if true, regenerates `RoomAccessPin` when the server starts.
183
+
- `PageTitle`: The base string used in the `<title>` element of the page. When the stream title is set with `/playing`, it is appended; e.g., `Movie Night | The Man Who Killed Hitler and Then the Bigfoot`
184
+
- `RegenAdminPass`: if true, regenerates `AdminPassword` when the server starts.
185
+
- `RoomAccess`: the access policy of the chat room; this is managed by the application and should not be edited manually.
186
+
- `RoomAccessPin`: if set, serves as the password required to enter the chatroom.
187
+
- `SessionKey`: key used for storing session data (cookies etc.)
188
+
- `StreamKey`: the key that OBS will use to connect to MovieNight.
189
+
- `StreamStats`: if true, prints statistics for the stream on server shutdown.
190
+
- `TitleLength`: the maximum allowed length for the stream title (set with `/playing`).
191
+
- `WrappedEmotesOnly`: if true, requires that emote codes be wrapped in colons or brackets; e.g., `:PogChamp:`
192
+
- `RateLimitChat`: the number of seconds between each message a non-privileged user can post in chat.
193
+
- `RateLimitNick`: the number of seconds before a user can change their nick again.
194
+
- `RakeLimitColor`: the number of seconds before a user can change their color again.
195
+
- `RateLimitAuth`: the number of seconds between each allowed auth attempt.
196
+
- `RateLimitDuplicate`: the numeber of seconds before a user can post a duplicate message.
197
+
- `NoCache`: if true, set `Cache-Control: no-cache, must-revalidate` in the HTTP header, to prevent caching responses.
178
198
179
199
## License
180
-
`flv.js` is Licensed under the Apache 2.0 license. This project is licened under the MIT license.
200
+
`flv.js` is Licensed under the Apache 2.0 license. This project is licened under the MIT license.
0 commit comments