Install ffmpeg and mysql through your distribution's package manager.
Install ffmpeg(>= 4.2.1) and mysql through your distribution's package manager.
See [this page](https://nodejs.org/en/download/package-manager/) for instructions on install node. Compatible versions are >=10. Nightly builds may fail to compile some of the native addons.
See [this page](https://nodejs.org/en/download/package-manager/) for instructions on installing node. Compatible versions are >=10. Nightly builds may fail to compile some of the native addons.
### Installing Satyr
### Installing Satyr
Clone the repository and change to the directory
Clone the repository and change to the directory
@ -25,10 +25,9 @@ Run the setup script for the database.
sudo mysql
sudo mysql
source install/db_setup.sql;
source install/db_setup.sql;
```
```
Compile the code and start the server.
Then start the server.
```bash
```bash
npm run build
npm run start
npm start
```
```
It is reccomended that you run Satyr behind a TLS terminating reverse proxy, like nginx.
It is reccomended that you run Satyr behind a TLS terminating reverse proxy, like nginx.
@ -40,10 +39,10 @@ Updating should be as simple as pulling the latest code and dependencies, then b
```bash
```bash
git pull
git pull
npm i
npm i
npm run build
npm update
```
```
Then restart the server.
Then restart the server.
## Migrating Satyr
## Migrating Satyr
To backup and restore, you will need to export the mysqlDB. Restore the new database from the backup, then copy the config/local.toml file and the site directory to the new install.
To backup and restore, you will need to export the mysqlDB. Restore the new database from the backup, then copy config and site directories to the new location.
echo"A setup script for the database has been generated at install/db_setup.sql. Please run it by connecting to your database software and executing 'source install/db_setup.sql;''"
echo"A setup script for the database has been generated at install/db_setup.sql. Please run it by connecting to your database software and executing 'source install/db_setup.sql;''"
echo"A default configuration file has been generated at config/generated.toml"
echo"A default configuration file has been generated at config/generated.yml"
echo"If everything looks fine, move it to config/local.toml and start your instance."
echo"If everything looks fine, move it to config/config.yml and start your instance."
The webclient for chat can be accessed on the streamer's page, or at <a href="https://{{ domain }}/chat">https://{{ domain }}/chat</a></br></br>
The webclient for chat can be accessed on the streamer's page, or at <a href="https://{{ domain }}/chat">https://{{ domain }}/chat</a></br></br>
The following commands are available:</br>
The following commands are available:</br>
`/nick kawen (password)` Password is only required if kawen is a registered user.</br>
<code><a>/nick kawen (password)</a></code> Password is only required if kawen is a registered user.</br>
`/join kawen` Join the chatroom for kawen's stream and leave the previous room.</br>
<code><a>/join kawen</a></code> Join the chatroom for kawen's stream and leave the previous room.</br>
`/kick cvcvcv` Available only in your own room if you are a streamer. Forcefully disconnect the user.</br>
<code><a>/kick cvcvcv</a></code> Available only in your own room if you are a streamer. Forcefully disconnect the user.</br>
<code><a>/ban cvcvcv (time)</a></code> Ban a user from your room. Bans are based on IP address. The optional time is in minutes. The default is 30.</br>
<code><a>/banlist</a></code> List the IPs currently banned from your room.</br>