PKGBUILD/README.md

95 lines
3.5 KiB
Markdown

# flucky
[![Build Status](https://travis-ci.com/go-flucky/flucky.svg?branch=master)](https://travis-ci.com/go-flucky/flucky)
[![Go Report Card](https://goreportcard.com/badge/github.com/volker-raschek/flucky)](https://goreportcard.com/report/github.com/volker-raschek/flucky)
[![GoDoc Reference](https://godoc.org/github.com/volker-raschek/flucky?status.svg)](http://godoc.org/github.com/volker-raschek/flucky)
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/flucky)](https://hub.docker.com/r/volkerraschek/flucky)
Flucky is a lightweight program written in go for reading data from sensors, for
example with a banana or raspberry pi. In addition, flucky provides a REST-API
to receive from other flucky installations measured values. The measured values
can be saved in a logfile or into a database. Currently is only postgres
supported.
## Installation
Flucky can be installed over multiple ways, for example with your local package
manager from your linux distribution. At the moment it's only the rpm package
format supported. Alternatively the source code can be compiled to get the
flucky binary.
### RPM-Package
To install flucky over a RPM package you can download a specific version from
github.com or configure the RPM-Mirror.
#### RPM-Mirror
```bash
$ cat > /etc/yum.repos.d/flucky.rpm <<EOF
[flucky]
name=flucky
baseurl=http://rpm-mirror.cryptic.systems
gpgcheck=0
EOF
$ yum update && yum install --assumeyes flucky
```
#### Download github.com
```bash
$ VERSION=v0.1.0 \
ARCH=amd64 \
curl --location https://github.com/volker-raschek/flucky/releases/download/${VERSION}/linux-${ARCH}-flucky.rpm -O flucky-${VERSION}-${ARCH}.rpm
$ yum install --assumeyes flucky-${VERSION}-${ARCH}.rpm
```
### Compiling the source code
An additional ways to install flucky is to compile the source code. There are
two different ways to compile flucky from scratch. The easier ways is
to use the pre-defined container image in the Makefile, which has included all
dependancies to compile flucky. Alternatively, if all dependencies are met,
flucky can also be compiled without the container image. Both variants are
briefly described.
#### Compiling the source code via container image
To compile flucky via container image it's necessary, that a container runtime
is installed. In the Makefile is predefined docker, but it's can be also used
podman. Execute `make container-run/flucky` to start the compiling process.
```bash
$ make container-run/flucky
make container-run COMMAND=flucky
make[1]: Directory „/home/markus/workspace/flucky“ is entered
/usr/bin/docker run \
--rm \
--volume /home/markus/workspace/flucky:/workspace \
volkerraschek/build-image:latest \
make go-build \
UID=1000 \
GID=1000 \
VERSION=60ee044-git \
GOOS=linux \
GOARCH=amd64
go-bindata -pkg db -o ./pkg/db/bindataSQL.go ./pkg/db/sql/***
go-bindata -pkg goldenfiles -o ./test/goldenfiles/bindata.go ./test/goldenfiles/json/***
GOOS=linux \
GOARCH=amd64 \
go build -ldflags "-X main.version=60ee044-git"
go: finding github.com/spf13/pflag v1.0.3
go: finding github.com/satori/go.uuid v1.2.0
...
```
#### Compiling the source code without container image
Make sure you have installed go >= v1.12. Execute `make flucky` to compile
flucky without a container-image. There should be a similar output as when
compiling flucky via the container image.
## Enhancements
+ Provide flucky additionally as AUR and deb package