[Hastic server](https://hastic.io) [![Travis CI](https://travis-ci.org/hastic/hastic-server.svg?branch=master)](https://travis-ci.org/hastic/hastic-server) ================ [Website](https://hastic.io) | [Twitter](https://twitter.com/hasticio) Implementation of basic pattern recognition for anomaly detection. Implementation of analytics unit for Hastic. **Please note that we are still in alpha, so features are subject to change** See also: * [Hooks](https://github.com/hastic/hastic-server/blob/master/HOOKS.md) - notifications about events * [REST](REST.md) - for developing your plugins * [HasticPanel](https://github.com/hastic/hastic-grafana-graph-panel) - Hastic visualisation plugin for Grafana ## Build & run Hastic server requires Grafana's API key (http:///org/apikeys) to query data from Grafana datasources. API key role requires only `Viewer` access. Possible to install on: * [Linux](#linux) * [Docker](#docker) ### Linux #### Environment variables It is possible to export the following environment variables for hastic-server to use: - HASTIC_API_KEY - (required) API-key of your Grafana instance - HASTIC_PORT - (optional) port you want to run server on, default: 8000 #### System prerequisites: * [git](https://git-scm.com/download/linux) * [nodejs >= 8.x](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions), but there is special build for [nodejs 6.14](server/BUILD_6_14.md) * [python3](https://www.python.org/downloads/) with pip3 #### Installation ```bash pip3 install pandas seglearn scipy tsfresh git clone https://github.com/hastic/hastic-server.git cd ./hastic-server/server npm install npm run build ``` #### Run ```bash export HASTIC_API_KEY= export HASTIC_PORT= cd ./hastic-server/server npm start ``` ### Docker #### Build ```bash git clone https://github.com/hastic/hastic-server.git cd hastic-server docker build -t hastic-server . ``` #### Run ```bash docker run -d --name hastic-server -p 80:8000 -e HASTIC_API_KEY= hastic-server ``` ### Known bugs & issues - Adding labeled segments while learning is in progress is not supported - Dataset doesn't update after 1st learning - Currently only influxDB datasource is supported