Update documentation

pull/2/head
knotteye 2020-10-17 22:23:05 -05:00
parent ab9a9b4585
commit 1fa6bf7e81
2 changed files with 41 additions and 26 deletions

View File

@ -3,28 +3,17 @@
### Administration ### Administration
Satyr needs access to port 1935 for RTMP streams, and will serve HTTP on port 8000. See CONFIGURATION.md for details on changing this. Satyr needs access to port 1935 for RTMP streams, and will serve HTTP on port 8000. See CONFIGURATION.md for details on changing this.
For HTTPS, run a reverse proxy in front of satyr. An example nginx block is shown below. For HTTPS, run a reverse proxy in front of satyr. An example nginx config can be found at install/satyr.nginx
``` An example systemd service can also be at install/satyr.service
server {
port 80;
port [::]80;
server_name example.tld;
return https://$server_name$request_uri 301;
}
server {
port 443 ssl;
port [::]443 ssl;
server_name example.tld;
ssl_trusted_certificate /etc/letsencrypt/live/example.tld/chain.pem; #### CLI
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem; Satyr's CLI tool can be run with `npm run cli` or `node_modules/.bin/ts-node src/cli.ts`
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
It's not very complex. The following commands are available:
* `npm run cli -- --adduser sally --password "hunter12"` to create user sally with the password hunter12
* `npm run cli -- --rmuser sally` to remove user sally
* `npm run cli -- --invite` to generate an invite code used for creating account even when registration is closed
location / {
proxy_pass http://127.0.0.1:8000/;
}
}
```
### Users ### Users
@ -35,13 +24,14 @@ Stream keys can be changed at example.tld/changesk, and passwords at /changepwd
#### Chat #### Chat
Chat is based on Socket.IO, and can be accessed through the webclient at /chat. Chat is based on Socket.IO, and can be accessed through the webclient at /chat.
Chatting and changing a nickname do not require authentication, but the usernames of streamers are reserved. Chatting and changing a nickname do not require authentication, but the usernames of streamers are reserved.
The following commands are available: The following commands are available:
`/nick sally (password)` Password is only required if sally is a registered user. * `/nick sally (password)` Password is only required if sally is a registered user.
`/join sally` Join the chatroom for sally's stream and leave the previous room. * `/join sally` Join the chatroom for sally's stream and leave the previous room.
`/kick bob` Available only in your own room if you are a streamer. Forcefully disconnect the user. * `/kick bob` Available only in your own room if you are a streamer. Forcefully disconnect the user.
`/ban bob (time)` Ban a user from your room. Bans are based on IP address. The optional time is in minutes. The default is 30. * `/ban bob (time)` Ban a user from your room. Bans are based on IP address. The optional time is in minutes. The default is 30.
`/banlist` List the IPs currently banned from your room. * `/banlist` List the IPs currently banned from your room.
`/unban (ip)` self explanatory * `/unban (ip)` self explanatory
You can set up mirroring to and from webchat rooms and IRC channels, twitch streams, and discord server channels. You can set up mirroring to and from webchat rooms and IRC channels, twitch streams, and discord server channels.
More information is in CONFIGURATION.md More information is in CONFIGURATION.md

25
install/satyr.nginx Normal file
View File

@ -0,0 +1,25 @@
server {
port 80;
port [::]80;
server_name example.tld;
return https://$server_name$request_uri 301;
}
server {
port 443 ssl;
port [::]443 ssl;
server_name example.tld;
ssl_trusted_certificate /etc/letsencrypt/live/example.tld/chain.pem;
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000/;
}
location ~* \.(mpd|m4s|mp4)$ {
# nginx can serve static files faster than node
# this should improve performance
root /opt/satyr/site/;
}
}