setup docker with variables;

debug logging for configuration variables;
This commit is contained in:
Dobromir Popov ONE
2022-03-29 23:38:01 +03:00
parent 80a6e13c2e
commit a701761510
9 changed files with 68 additions and 17 deletions

BIN
.ionide/symbolCache.db Normal file

Binary file not shown.

View File

@@ -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

View File

@@ -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"
}
}

View File

@@ -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
@@ -29,4 +35,6 @@ services:
hostname: node-mqtt
ports:
- 1885:1883
restart: always
restart: always
volumes:
iotdbdata:

5
readme.md Normal file
View 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

View File

@@ -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); }

View File

@@ -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');

View File

@@ -10,4 +10,7 @@
<div class="form-group">
<input type="submit" class='btn btn-default button' value="Log In" />
</div>
</form>
</form>
<!-- // ejs view
// sort csv numbers from textbox input -->

1
views/sort.ejs Normal file
View File

@@ -0,0 +1 @@
//generate ejs view to sort csv numbers from textbox