98 lines
2.6 KiB
Markdown
98 lines
2.6 KiB
Markdown
# Howto install Yanic
|
|
|
|
## go
|
|
|
|
### Install
|
|
```sh
|
|
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`):
|
|
```sh
|
|
export GOPATH=/opt/go
|
|
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
|
|
```
|
|
|
|
## Yanic
|
|
|
|
### Compile
|
|
As root:
|
|
```sh
|
|
go install github.com/FreifunkBremen/yanic@latest
|
|
```
|
|
|
|
or to install a different checkout for example for development run:
|
|
|
|
```sh
|
|
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
|
|
```sh
|
|
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:
|
|
```sh
|
|
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](https://github.com/ffrgb/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
|
|
```sh
|
|
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`:
|
|
```sh
|
|
systemctl start yanic
|
|
```
|
|
|
|
Enable to start on boot:
|
|
```sh
|
|
systemctl enable yanic
|
|
```
|
|
|
|
### Update
|
|
For an update just stop yanic and then call the same `go` command again (again as root):
|
|
```sh
|
|
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:
|
|
```sh
|
|
diff /opt/go/src/github.com/FreifunkBremen/yanic/config_example.toml /etc/yanic.conf
|
|
```
|