/var/www/myprog.com.ua/server/node
Edit: /var/www/myprog.com.ua/server/node/myprog.js (4253B)
require('./global')
const log = require('./logs/log')
const Core = require('./core');
const WsServer = require('./ws/ws_server');
const DbContext = require('./db/db_context');
const http = require('http');
const https = require('https');
const express = require('express');
const fs = require('fs');
// require('./helpers/global');
// require('./helpers/date');
const app = express();
global.core = new Core();
core.context = new DbContext(global.config)
// const log = require('./helpers/log');
if (global.config.ssl == 1) {
const privateKey = fs.readFileSync('/etc/letsencrypt/live/' + global.config.node_domain + '/privkey.pem', 'utf8');
const certificate = fs.readFileSync('/etc/letsencrypt/live/' + global.config.node_domain + '/cert.pem', 'utf8');
const ca = fs.readFileSync('/etc/letsencrypt/live/' + global.config.node_domain + '/chain.pem', 'utf8');
var credentials = {
key: privateKey,
cert: certificate,
ca: ca
};
}
let server;
if (global.config.ssl == 1) {
server = https.createServer(credentials, app);
} else {
server = http.createServer(app);
}
core.io = require('socket.io').listen(server, {
pingInterval: config.disconnect_timeout * 1000, // (Number): how many ms without a pong packet to consider the connection closed (60000)
pingTimeout: config.ping_timeout * 1000 // (Number): how many ms before sending a new ping packet (25000).
});
// db
// services
const ServiceUsers = require('./services/service_users');
const ServicePlaces = require('./services/service_places');
const ServiceChat = require('./services/service_chat');
const ServiceHosts = require('./services/service_hosts');
const ServiceCameras = require('./services/service_cameras');
const ServiceDevices = require('./services/service_devices');
const ServiceScenario = require('./services/service_scenario');
const ServiceVar = require('./services/service_var');
const ServiceValues = require('./services/service_values');
const ServiceEvents = require('./services/service_events');
const ServiceCommands = require('./services/service_commands');
const ServiceHostConfig = require('./services/service_host_config');
const ServiceClients = require('./services/service_clients')
const SessionManager = require('./session_manager');
// const WebServer = require('./www/web_server');
// endregion REQUIRE
core.ws_server = new WsServer(core, core.io)
// core.www = new WebServer(core, app, core.io);
core.service_clients = new ServiceClients()
core.sessions_manager = new SessionManager(core.io);
core.service_places = new ServicePlaces(core.context);
core.service_hosts = new ServiceHosts(core.context);
core.service_host_config = new ServiceHostConfig(core.context);
core.service_cameras = new ServiceCameras(core.context);
core.service_devices = new ServiceDevices(core.context);
core.service_scenario = new ServiceScenario(core.context);
core.service_var = new ServiceVar(core.context);
core.service_values = new ServiceValues(core.context);
core.service_events = new ServiceEvents(core.context);
core.service_commands = new ServiceCommands(core.context);
core.service_users = new ServiceUsers(core.context);
core.service_chat = new ServiceChat(core.context);
core.load_scenario();
// get config
/*
db.get_config().then((result) => {
result.forEach((row) => {
global.config[row.key] = row.value;
});
});
*/
if (global.config.ssl == 1) {
server.listen(global.config.node_port_ssl, () => {
console.log('MyProg Home Server is running on port SSl ' + global.config.node_port_ssl);
});
}else{
server.listen(global.config.node_port, () => {
console.log('MyProg Home Server is running on port ' + global.config.node_port);
log.debug('index', 'listen', `Listen on port ${global.config.node_port}`)
core.load().then(res => {
if (res) {
core.run();
core.ws_server.run()
}
}).catch(e => {
log.error('index', 'listen', e)
})
require('./api/routes')(app)
});
}
// let ws = new WsServer(core, io);
// let www = new WebServer(core, app, io);
// core.run();
// ws.run();
// www.run();
// app.use('/', require('./www/index')(core,core.io));