setup docker with variables;
debug logging for configuration variables;
This commit is contained in:
BIN
.ionide/symbolCache.db
Normal file
BIN
.ionide/symbolCache.db
Normal file
Binary file not shown.
@@ -13,7 +13,7 @@ RUN npm ci --only=production
|
|||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
ENV NODE_ENV mitko
|
ENV NODE_ENV development-dockerfile
|
||||||
|
|
||||||
# USING BASE_IMAGE
|
# USING BASE_IMAGE
|
||||||
FROM node:12-alpine
|
FROM node:12-alpine
|
||||||
|
|||||||
@@ -9,7 +9,10 @@
|
|||||||
"operatorsAliases": false,
|
"operatorsAliases": false,
|
||||||
"logFile":"/dht.log",
|
"logFile":"/dht.log",
|
||||||
"gardenIP":"192.168.0.187",
|
"gardenIP":"192.168.0.187",
|
||||||
"mqttIP": "192.168.0.10"
|
"mqttIP": "192.168.0.10",
|
||||||
|
"mqttPortHttp": "1884",
|
||||||
|
"mqttPortHttps": "8444",
|
||||||
|
"irHost": "192.168.0.10"
|
||||||
},
|
},
|
||||||
"mitko": {
|
"mitko": {
|
||||||
"host": "node-mysql",
|
"host": "node-mysql",
|
||||||
@@ -21,7 +24,10 @@
|
|||||||
"operatorsAliases": false,
|
"operatorsAliases": false,
|
||||||
"logFile":"/dht.log",
|
"logFile":"/dht.log",
|
||||||
"gardenIP":"192.168.0.187",
|
"gardenIP":"192.168.0.187",
|
||||||
"mqttIP": "192.168.0.10"
|
"mqttIP": "192.168.0.10",
|
||||||
|
"mqttPortHttp": "1884",
|
||||||
|
"mqttPortHttps": "8444",
|
||||||
|
"irHost": "192.168.0.10"
|
||||||
},
|
},
|
||||||
"production": {
|
"production": {
|
||||||
"username": "iot",
|
"username": "iot",
|
||||||
@@ -33,6 +39,9 @@
|
|||||||
"operatorsAliases": false,
|
"operatorsAliases": false,
|
||||||
"logFile":"/var/www/dht.log",
|
"logFile":"/var/www/dht.log",
|
||||||
"gardenIP":"192.168.0.187",
|
"gardenIP":"192.168.0.187",
|
||||||
"mqttIP": "192.168.0.10"
|
"mqttIP": "192.168.0.10",
|
||||||
|
"mqttPortHttp": "1884",
|
||||||
|
"mqttPortHttps": "8444",
|
||||||
|
"irHost": "192.168.0.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,12 @@ services:
|
|||||||
- DATABASE_USER=root
|
- DATABASE_USER=root
|
||||||
- DATABASE_PASS=mitko2021
|
- DATABASE_PASS=mitko2021
|
||||||
- GARDEN_IP=192.168.0.187
|
- GARDEN_IP=192.168.0.187
|
||||||
|
- MQTT_HOST=node-mqtt
|
||||||
|
- MQTT_PORT_HTTP=1883
|
||||||
|
- MQTT_PORT_HTTPS=8444
|
||||||
depends_on:
|
depends_on:
|
||||||
- node-mysql
|
- node-mysql
|
||||||
|
- node-mqtt
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 2081:2080
|
- 2081:2080
|
||||||
@@ -22,6 +26,8 @@ services:
|
|||||||
MYSQL_ROOT_PASSWORD: mitko2021
|
MYSQL_ROOT_PASSWORD: mitko2021
|
||||||
MYSQL_USER: iot
|
MYSQL_USER: iot
|
||||||
MYSQL_PASSWORD: mitko2021
|
MYSQL_PASSWORD: mitko2021
|
||||||
|
volumes:
|
||||||
|
- iotdbdata:/var/lib/mysql
|
||||||
# for mitko:mqtt
|
# for mitko:mqtt
|
||||||
node-mqtt:
|
node-mqtt:
|
||||||
image: eclipse-mosquitto
|
image: eclipse-mosquitto
|
||||||
@@ -30,3 +36,5 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 1885:1883
|
- 1885:1883
|
||||||
restart: always
|
restart: always
|
||||||
|
volumes:
|
||||||
|
iotdbdata:
|
||||||
5
readme.md
Normal file
5
readme.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
to build and deploy in docker: run |
|
||||||
|
~/var/www/html/iot.d-popov.com#> docker-compose build
|
||||||
|
+ docker-compose up
|
||||||
|
+ OR
|
||||||
|
+ docker-compose up --build
|
||||||
@@ -6,13 +6,23 @@ const { parse } = require('querystring');
|
|||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
|
|
||||||
|
const env = process.env.NODE_ENV || 'development';
|
||||||
|
console.log("ENV: %s", env);
|
||||||
|
const config = require(__dirname + '/../../config/config.json')[env];
|
||||||
|
|
||||||
|
var irHost = process.env.IR_HOST || config.irHost || '127.0.0.1'
|
||||||
|
|
||||||
|
console.log('DB: Checking config sources: process.env.IR_HOST: %s', process.env.IR_HOST);
|
||||||
|
console.log('DB: Checking config sources: config.irHost : %s', config.irHost );
|
||||||
|
console.log('IR: irHost : %s', irHost );
|
||||||
|
|
||||||
function GetDht() {
|
function GetDht() {
|
||||||
try {//?
|
try {//?
|
||||||
var result;
|
var result;
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
//http://192.168.0.58/json?view=sensorupdate
|
//http://192.168.0.58/json?view=sensorupdate
|
||||||
var url='http://'+'192.168.1.143'+'/cm?cmnd=status%2010&user=admin&password=vlado555';
|
var url='http://'+irHost+'/cm?cmnd=status%2010&user=admin&password=vlado555';
|
||||||
request(url, { json: true }, (err, res, body) => {
|
request(url, { json: true }, (err, res, body) => {
|
||||||
if (err) { return console.log("Problem getting current conditions: " + err); }
|
if (err) { return console.log("Problem getting current conditions: " + err); }
|
||||||
|
|
||||||
|
|||||||
35
src/mqtt.js
35
src/mqtt.js
@@ -4,29 +4,44 @@ const env = process.env.NODE_ENV || 'development';
|
|||||||
console.log("ENV: %s", env);
|
console.log("ENV: %s", env);
|
||||||
const config = require(__dirname + '/../config/config.json')[env];
|
const config = require(__dirname + '/../config/config.json')[env];
|
||||||
|
|
||||||
|
console.log('MQTT: Checking config sources: process.env.MQTT_HOST: %s', process.env.MQTT_HOST);
|
||||||
|
console.log('MQTT: Checking config sources: process.env.MQTT_PORT_HTTP: %s', process.env.MQTT_PORT_HTTP);
|
||||||
|
console.log('MQTT: Checking config sources: process.env.MQTT_PORT_HTTPS: %s', process.env.MQTT_PORT_HTTPS);
|
||||||
|
console.log('MQTT: Checking config sources: config.mqttIP : %s', config.mqttIP );
|
||||||
|
console.log('MQTT: Checking config sources: config.mqttPortHttp : %s', config.mqttPortHttp );
|
||||||
|
console.log('MQTT: Checking config sources: config.mqttPortHttps : %s', config.mqttPortHttps );
|
||||||
|
|
||||||
var mosca = require('mosca');
|
var mosca = require('mosca');
|
||||||
var mqtt_settings = {
|
var mqtt_settings = {
|
||||||
port:1884
|
host:process.env.MQTT_HOST || config.mqttIP,
|
||||||
|
port:process.env.MQTT_PORT_HTTP || config.mqttPortHttp || 1884
|
||||||
}
|
}
|
||||||
|
|
||||||
if(typeof credentials!=='undefined')
|
if(typeof credentials!=='undefined')
|
||||||
{
|
{
|
||||||
mqtt_settings.secure = {
|
mqtt_settings.secure = {
|
||||||
port: 8444,
|
host:process.env.MQTT_HOST || config.mqttIP,
|
||||||
|
port: process.env.MQTT_PORT_HTTPS || config.mqttPortHttps || 8444,
|
||||||
keyPath: SECURE_KEY,
|
keyPath: SECURE_KEY,
|
||||||
certPath: SECURE_CERT,
|
certPath: SECURE_CERT,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var mqtt = new mosca.Server(mqtt_settings);
|
|
||||||
mqtt.on('ready', function(){
|
mqtt_settings.port = parseInt(mqtt_settings.port);
|
||||||
console.log("MQTT ready on port " + mqtt_settings.port);
|
console.log('MQTT: mqtt_settings.host : %s', mqtt_settings.host );
|
||||||
})
|
console.log('MQTT: mqtt_settings.port : %s', mqtt_settings.port );
|
||||||
mqtt.on('clientConnected', function(){
|
|
||||||
console.log("MQTT client connected !");
|
//MQTT SERVER!!!
|
||||||
});
|
//var mqttServer = new mosca.Server(mqtt_settings);
|
||||||
|
// mqttServer.on('ready', function(){
|
||||||
|
// console.log("MQTT ready on port " + mqtt_settings.port);
|
||||||
|
// })
|
||||||
|
// mqttServer.on('clientConnected', function(){
|
||||||
|
// console.log("MQTT client connected !");
|
||||||
|
// });
|
||||||
|
|
||||||
var mqtt = require('mqtt');
|
var mqtt = require('mqtt');
|
||||||
var mqtt_client = mqtt.connect('mqtt://'+ config.mqttIP);
|
var mqtt_client = mqtt.connect('mqtt://'+ mqtt_settings.host);
|
||||||
mqtt_client.on('connect', function () {
|
mqtt_client.on('connect', function () {
|
||||||
console.log("MQTT connected. subscribing to topics");
|
console.log("MQTT connected. subscribing to topics");
|
||||||
mqtt_client.subscribe('tele/tasmota/STATE');
|
mqtt_client.subscribe('tele/tasmota/STATE');
|
||||||
|
|||||||
@@ -11,3 +11,6 @@
|
|||||||
<input type="submit" class='btn btn-default button' value="Log In" />
|
<input type="submit" class='btn btn-default button' value="Log In" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<!-- // ejs view
|
||||||
|
// sort csv numbers from textbox input -->
|
||||||
1
views/sort.ejs
Normal file
1
views/sort.ejs
Normal file
@@ -0,0 +1 @@
|
|||||||
|
//generate ejs view to sort csv numbers from textbox
|
||||||
Reference in New Issue
Block a user