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 . .
|
||||
|
||||
ENV NODE_ENV mitko
|
||||
ENV NODE_ENV development-dockerfile
|
||||
|
||||
# USING BASE_IMAGE
|
||||
FROM node:12-alpine
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"operatorsAliases": false,
|
||||
"logFile":"/dht.log",
|
||||
"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": {
|
||||
"host": "node-mysql",
|
||||
@@ -21,7 +24,10 @@
|
||||
"operatorsAliases": false,
|
||||
"logFile":"/dht.log",
|
||||
"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": {
|
||||
"username": "iot",
|
||||
@@ -33,6 +39,9 @@
|
||||
"operatorsAliases": false,
|
||||
"logFile":"/var/www/dht.log",
|
||||
"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_PASS=mitko2021
|
||||
- GARDEN_IP=192.168.0.187
|
||||
- MQTT_HOST=node-mqtt
|
||||
- MQTT_PORT_HTTP=1883
|
||||
- MQTT_PORT_HTTPS=8444
|
||||
depends_on:
|
||||
- node-mysql
|
||||
- node-mqtt
|
||||
restart: always
|
||||
ports:
|
||||
- 2081:2080
|
||||
@@ -22,6 +26,8 @@ services:
|
||||
MYSQL_ROOT_PASSWORD: mitko2021
|
||||
MYSQL_USER: iot
|
||||
MYSQL_PASSWORD: mitko2021
|
||||
volumes:
|
||||
- iotdbdata:/var/lib/mysql
|
||||
# for mitko:mqtt
|
||||
node-mqtt:
|
||||
image: eclipse-mosquitto
|
||||
@@ -30,3 +36,5 @@ services:
|
||||
ports:
|
||||
- 1885:1883
|
||||
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');
|
||||
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() {
|
||||
try {//?
|
||||
var result;
|
||||
(async () => {
|
||||
try {
|
||||
//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) => {
|
||||
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);
|
||||
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 mqtt_settings = {
|
||||
port:1884
|
||||
host:process.env.MQTT_HOST || config.mqttIP,
|
||||
port:process.env.MQTT_PORT_HTTP || config.mqttPortHttp || 1884
|
||||
}
|
||||
|
||||
if(typeof credentials!=='undefined')
|
||||
{
|
||||
mqtt_settings.secure = {
|
||||
port: 8444,
|
||||
host:process.env.MQTT_HOST || config.mqttIP,
|
||||
port: process.env.MQTT_PORT_HTTPS || config.mqttPortHttps || 8444,
|
||||
keyPath: SECURE_KEY,
|
||||
certPath: SECURE_CERT,
|
||||
}
|
||||
}
|
||||
var mqtt = new mosca.Server(mqtt_settings);
|
||||
mqtt.on('ready', function(){
|
||||
console.log("MQTT ready on port " + mqtt_settings.port);
|
||||
})
|
||||
mqtt.on('clientConnected', function(){
|
||||
console.log("MQTT client connected !");
|
||||
});
|
||||
|
||||
mqtt_settings.port = parseInt(mqtt_settings.port);
|
||||
console.log('MQTT: mqtt_settings.host : %s', mqtt_settings.host );
|
||||
console.log('MQTT: mqtt_settings.port : %s', mqtt_settings.port );
|
||||
|
||||
//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_client = mqtt.connect('mqtt://'+ config.mqttIP);
|
||||
var mqtt_client = mqtt.connect('mqtt://'+ mqtt_settings.host);
|
||||
mqtt_client.on('connect', function () {
|
||||
console.log("MQTT connected. subscribing to topics");
|
||||
mqtt_client.subscribe('tele/tasmota/STATE');
|
||||
|
||||
@@ -11,3 +11,6 @@
|
||||
<input type="submit" class='btn btn-default button' value="Log In" />
|
||||
</div>
|
||||
</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