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
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
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
.
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/
.
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
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
.
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.
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
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