yunkong2.js-controller/README.md

136 lines
5.0 KiB
Markdown
Raw Normal View History

2018-09-17 20:32:19 +08:00
![Logo](lib/img/yunkong2.png)
# yunkong2.js-controller
==================
[![NPM version](http://img.shields.io/npm/v/yunkong2.js-controller.svg)](https://www.npmjs.com/package/yunkong2.js-controller)
[![Downloads](https://img.shields.io/npm/dm/yunkong2.js-controller.svg)](https://www.npmjs.com/package/yunkong2.js-controller)
[![Tests](http://img.shields.io/travis/yunkong2/yunkong2.js-controller/master.svg)](https://travis-ci.org/yunkong2/yunkong2.js-controller)
[![NPM](https://nodei.co/npm/yunkong2.js-controller.png?downloads=true)](https://nodei.co/npm/yunkong2.js-controller/)
Here you can find change [log](CHANGELOG.md).
This is a main controller, that starts all other yunkong2 adapters.
Official Web-Site: http://yunkong2.net
Forum: http://forum.yunkong2.net
Trello: https://trello.com/b/q0SZKdfW/yunkong2-whiteboard
yunkong2 wiki: https://github.com/yunkong2/yunkong2/wiki/Home-(English)
Explanation of the concept: https://github.com/yunkong2/yunkong2
----------------------------------------------------------------------
This is a Javascript/Node.js implementation of an yunkong2 controller.
## Manual installation of yunkong2.js-controller on Debian based Linux (Raspbian, Ubuntu, ...)
### Install Node.js
```
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install curl build-essential
sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt-get install -y nodejs
```
### Install yunkong2 on linux
```
sudo mkdir /opt/yunkong2
sudo cd /opt/yunkong2
sudo chmod 777 /opt/yunkong2
sudo npm install yunkong2 --unsafe-perm
```
After that the yunkong2 should run and be available in browser under ```http://<ip>:8081/```
### Start yunkong2 controller on linux
* run ```./yunkong2 start``` in the yunkong2 directory to start the yunkong2 controller in the background
* watch the logfile ```tail -f log/yunkong2.log```
or
* run ```node node_modules/yunkong2.js-controller/controller.js``` to start the yunkong2 controller in foreground and watch the log on console
### Install js-controller on windows
* Create and change to the directory under which you want to install yunkong2.
```mkdir C:/yunkong2```
```cd C:/yunkong2```
* install npm packet from created directory
```npm install yunkong2```
### Start yunkong2 controller on windows
* run ```yunkong2 start``` in the yunkong2 directory to start the yunkong2 controller in the background console
* check the logfile ```node_modules/yunkong2.js-controller/log/yunkong2.log```
or
* run ```node node_modules/yunkong2.js-controller/controller.js``` to start the yunkong2 controller in foreground and watch the log on console
### Admin UI
The admin adapter starts a web-server that hosts the Admin UI. Default port is 8081, so just open http://&lt;yunkong2&gt;:8081/
If port 8081 is occupied, you can install second Admin UI on alternate port and change port for first admin UI:
* run ```./yunkong2 add admin --enabled --port 8090``` and go to the http://&lt;yunkong2&gt;:8090/. Of course you can change port 8090 to other one.
## Using REDIS as States-DB
There is a possibility to use REDIS as states database. It is reasonable to do that for big installations or for systems with performance problems.
It is possible to switch anytime between REDIS and In-Memory Javascript DB. The only problem, that all states must be updated by adapters again (values will be lost).
Objects and configuration are not affected.
To install REDIS on linux/debuan just write: ```apt-get install redis-server``` .
If you plan to use mulithost installation you must allow connections to redis from any address (default only 127.0.0.1).
To do that edit file */etc/redis/redis.conf* (```sudo nano /etc/redis/redis.conf```) and replace ```bind 127.0.0.1``` with ```bind 0.0.0.0``` .
Don't forget to restart redis after that. (```sudo /etc/init.d/redis-server restart```)
To install on windows download latest release here [https://github.com/MSOpenTech/redis/releases](https://github.com/MSOpenTech/redis/releases).
To switch to REDIS write in the console following:
```
>yunkong2 stop
>yunkong2 setup custom
```
And then:
```
Type of objects DB [file, couch, redis], default [file]:
Host of objects DB(file), default[127.0.0.1]:
Port of objects DB(file), default[9001]:
Type of states DB [file, redis], default [file]: redis
Host of states DB (redis), default[127.0.0.1]:
Port of states DB (redis), default[6379]:
Data directory (file), default[../../../yunkong2-data/]:
Host name of this machine [FastPC]:
creating conf/yunkong2.json
```
Note that in fourth line it was entered **redis**.
Now yunkong2 can be started.
Of course redis must be first installed and firewall rules must be checked.
To switch back to JS States write the same commands again, just instead of **redis** in fourth line write nothing and press ENTER.
## License
The MIT License (MIT)
Copyright (c) 2014-2018 bluefox <dogafox@gmail.com>,
Copyright (c) 2014 hobbyquaker