Add more detailed installation instructions

Add example systemd service
merge-requests/1/merge
knotteye 5 years ago
parent 7ca1e9023c
commit 8771411352
  1. 3
      docs/CONFIGURATION.md
  2. 35
      docs/INSTALLATION.md
  3. 1
      docs/README.md
  4. 21
      install/satyr.service

@ -19,8 +19,9 @@ saltRounds = 12
[ircd]
enable = true
#enable IRC peering
#unused for now
```
### Web Frontend
If you want to customize the front-end css, place a file with any changes you wish to make at site/local.css
You can change the logo by replacing site/logo.svg, or edit templates/base.njk to look for another source.
You can change the logo by replacing site/logo.svg.

@ -0,0 +1,35 @@
## Installing Satyr
A more detailed walkthrough.
### System Dependencies
Install ffmpeg 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.
### Installing Satyr
Clone the repository and change to the directory
```bash
git clone https://gitlab.com/knotteye/satyr.git
cd satyr
```
Install nodejs dependencies
```bash
npm install
```
Run the setup script to generate a config file and database setup.
```bash
npm run setup
```
Look over the generated config file in config/generated.toml, and move it to config/local.toml when you're satisfied.
Run the setup script for the database.
```bash
sudo mysql
source install/db_setup.sql;
```
Compile the code and start the server.
```bash
npm run build
npm start
```
It is reccomended that you run Satyr behind a TLS terminating reverse proxy, like nginx.
An example systemd service is provided at install/satyr.service. It assumes you've installed satyr into /opt/satyr, and created a satyr user with the home directory /var/lib/satyr for the purpose of running the service.

@ -10,6 +10,7 @@ npm install
npm run setup
npm run build
```
Follow the instructions after setup runs.
### Run the server
```bash

@ -0,0 +1,21 @@
[Unit]
Description=A livestreaming server.
After=network.target
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
User=satyr
Environment="HOME=/var/lib/satyr"
WorkingDirectory=/opt/satyr
ExecStart=/usr/bin/npm start
PrivateTmp=true
ProtectHome=true
ProtectSystem=full
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target