You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Markus Pesch a62bf175cb
fix: Makefile
3 weeks ago
cli fix: golangci-lint and gosec warnings 3 weeks ago
pkg fix: golangci-lint and gosec warnings 3 weeks ago
systemd fix: systemd service unit 10 months ago
.dockerignore fix(Makefile, Dockerfile): optimization of the container image building process 1 year ago
.drone.yml fix: golangci-lint and gosec warnings 3 weeks ago
.editorconfig fix: renamed project 2 years ago
.gitattributes fix: renamed project 2 years ago
.gitignore fix: Makefile 3 weeks ago
.golangci.yml fix: golangci-lint and gosec warnings 3 weeks ago
Dockerfile fix: adapt go proxy settings 2 months ago
LICENSE fix(LICENSE): publish flucky under the apache 2.0 license 2 years ago
Makefile fix: Makefile 3 weeks ago
README.md fix: replace travis with drone 1 year ago
docker-compose.yml fix: postgres columns with timezone 8 months ago
go.mod fix: golangci-lint and gosec warnings 3 weeks ago
go.sum fix: golangci-lint and gosec warnings 3 weeks ago
main.go fix: golangci-lint and gosec warnings 3 weeks ago

README.md

flucky

Build Status Docker Pulls

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. All received measured values, no matter if they come directly from flucky or from a server instance of flucky with the provided REST-API, can be stored into a database.

Supported and planned sensors

Name Measured values Supported
BME280 humidity, pressure, temperature Yes
DHT11 temperature Yes
DHT22 temperature Yes
DS18B20 temperature Yes
SDS011 fine dust Planning

Supported and planned backends

Backend Supported
flucky WIP
Logfile CSV, JSON, XML
MySQL, MariaDB Planning
PostgreSQL Yes
SQLite Planning

Installation

Flucky can be installed over multiple ways. For example over a specific linux distributions package or as container. The following table lists all repositories where flucky can be otained from, but flucky can already be compiled from source code.

Distribution Repo's
Arch Linux armv7, x86_64
Debian, Ubuntu, Linux Mint Currently not supported
RHEL, Fedora, Centos Planning
Container Image hub.docker.com

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, which has included all dependencies 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.

$ 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 \
                        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.