Update documentation

pull/2/head
knotteye 3 years ago
parent ab9a9b4585
commit 1fa6bf7e81
  1. 46
      docs/USAGE.md
  2. 25
      install/satyr.nginx

@ -3,28 +3,17 @@
### 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.
For HTTPS, run a reverse proxy in front of satyr. An example nginx block is shown below.
```
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/;
}
}
```
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
#### CLI
Satyr's CLI tool can be run with `npm run cli` or `node_modules/.bin/ts-node src/cli.ts`
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
### Users
@ -35,13 +24,14 @@ Stream keys can be changed at example.tld/changesk, and passwords at /changepwd
#### 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.
The following commands are available:
`/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.
`/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.
`/banlist` List the IPs currently banned from your room.
`/unban (ip)` self explanatory
* `/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.
* `/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.
* `/banlist` List the IPs currently banned from your room.
* `/unban (ip)` self explanatory
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

@ -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/;
}
}