yanic/INSTALL.md

2.6 KiB

Howto install Yanic

go

Install

cd /usr/local/
wget https://dl.google.com/go/go1.13.1.linux-amd64.tar.gz -O go-release-linux-amd64.tar.gz
tar xvf go-release-linux-amd64.tar.gz
rm go-release-linux-amd64.tar.gz

Configure go

Add these lines in your root shell startup file (e.g. /root/.bashrc):

export GOPATH=/opt/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

Yanic

Compile

As root:

go install github.com/FreifunkBremen/yanic@latest

or to install a different checkout for example for development run:

git clone https://github.com/FreifunkBremen/yanic
cd yanic
go install .

Now you can use the binary in ~/go/bin/yanic. If you specified export GOPATH=/opt/go the binary is located at /opt/go/bin/yanic.

Work with other databases

If you like to use another database solution than influxdb, Pull Requests are welcome. Just fork this project and create another subpackage within the folder database/. Take this folder as example: database/logging/.

Configure Yanic

cp /opt/go/src/github.com/FreifunkBremen/yanic/config_example.toml /etc/yanic.conf

For an easy startup you only need to edit the interfaces in section [respondd] in file /etc/yanic.conf.

Then create the following files and folders:

mkdir -p /var/lib/yanic
mkdir -p /var/www/html/meshviewer/data
touch /var/log/yanic.log
chown yanic /var/log/yanic.log /var/lib/yanic /var/www/html/meshviewer/data

Standalone

If you like to run a standalone meshviewer, just set enable in section [webserver] to true.

Configure the meshviewer:

set dataPath in config.json to /data/ and make the build directory accessible under /var/www/html/meshviewer.

With webserver (Apache, nginx)

The meshviewer needs the output files like nodes_path and graph_path inside the same directory as the dataPath. Change the path in the section [[nodes.output.meshviewer]] accordingly.

Service

cp /opt/go/src/github.com/FreifunkBremen/yanic/contrib/init/linux-systemd/yanic.service /lib/systemd/system/yanic.service
systemctl daemon-reload

Before start, you should configure yanic by the file /etc/yanic.conf:

systemctl start yanic

Enable to start on boot:

systemctl enable yanic

Update

For an update just stop yanic and then call the same go command again (again as root):

systemctl stop yanic
go get -v -u github.com/FreifunkBremen/yanic

Then update the config file, for example look at the diff with the new example:

diff /opt/go/src/github.com/FreifunkBremen/yanic/config_example.toml /etc/yanic.conf