added systemd instructions
This commit is contained in:
44
README.md
44
README.md
@@ -70,6 +70,50 @@ services:
|
||||
|
||||
then start with `docker-compose up -d`
|
||||
|
||||
**Installation with systemd** (on ubuntu 18.04)
|
||||
|
||||
Prerequisites:
|
||||
|
||||
```bash
|
||||
Add a repository with the latest Version of golang and install the prerequisites:
|
||||
sudo add-apt-repository ppa:longsleep/golang-backports
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install build-essential git sqlite libtag1-dev ffmpeg libasound-dev golang
|
||||
```
|
||||
|
||||
Download and compile gonic in the home directory
|
||||
|
||||
```bash
|
||||
go get go.senan.xyz/gonic/cmd/gonic
|
||||
```
|
||||
|
||||
Add a gonic user and create a directory for the server:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /var/gonic/
|
||||
sudo adduser --disabled-login --gecos "" gonic
|
||||
sudo mv go/bin/gonic /var/gonic/
|
||||
sudo wget https://raw.githubusercontent.com/sentriz/gonic/master/contrib/config -O /var/gonic/config
|
||||
sudo chmod -R 750 /var/gonic/
|
||||
sudo chown -R gonic:gonic /var/gonic/
|
||||
```
|
||||
|
||||
Add your music-path to the config file
|
||||
|
||||
```bash
|
||||
sudo nano /var/gonic/config
|
||||
```
|
||||
|
||||
Setup systemd service:
|
||||
|
||||
```bash
|
||||
sudo wget https://raw.githubusercontent.com/sentriz/gonic/master/contrib/gonic.service -O /etc/systemd/system/gonic.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now gonic
|
||||
```
|
||||
|
||||
|
||||
|
||||
## configuration options
|
||||
|
||||
|env var|command line arg|description|
|
||||
|
||||
7
contrib/config
Normal file
7
contrib/config
Normal file
@@ -0,0 +1,7 @@
|
||||
music-path
|
||||
cache-path /tmp/gonic_cache
|
||||
db-path /var/gonic/gonic.db
|
||||
jukebox-enabled false
|
||||
listen-addr 127.0.0.1:4747
|
||||
proxy-prefix /gonic
|
||||
scan-interval 0
|
||||
28
contrib/gonic.service
Normal file
28
contrib/gonic.service
Normal file
@@ -0,0 +1,28 @@
|
||||
[Unit]
|
||||
Description=Gonic service
|
||||
ConditionPathExists=/var/gonic/gonic
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=gonic
|
||||
Group=gonic
|
||||
LimitNOFILE=1024
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
WorkingDirectory=/var/gonic/
|
||||
ExecStart=/var/gonic/gonic -config-path /var/gonic/config
|
||||
|
||||
# make sure log directory exists and owned by syslog
|
||||
PermissionsStartOnly=true
|
||||
ExecStartPre=/bin/mkdir -p /var/log/gonic
|
||||
ExecStartPre=/bin/chown syslog:adm /var/log/gonic
|
||||
ExecStartPre=/bin/chmod 755 /var/log/gonic
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=sleepservice
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user