Merge pull request #1 from drscream/master
webserver config file and drop root privileges
This commit is contained in:
commit
2b28d29ef2
3 changed files with 20 additions and 2 deletions
8
config.js
Normal file
8
config.js
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
// webserver configuration
|
||||||
|
|
||||||
|
// listen port
|
||||||
|
exports.port = 80;
|
||||||
|
|
||||||
|
// uid and gid to drop root priv.
|
||||||
|
exports.uid = 'light';
|
||||||
|
exports.gid = 'users';
|
2
dmx.js
2
dmx.js
|
@ -1,4 +1,5 @@
|
||||||
var events = require('events')
|
var events = require('events')
|
||||||
|
, config = require('./config.js')
|
||||||
, web = require('./web.js')
|
, web = require('./web.js')
|
||||||
, setup = require('./setup.js').setup
|
, setup = require('./setup.js').setup
|
||||||
, devices = require('./devices.js').devices
|
, devices = require('./devices.js').devices
|
||||||
|
@ -7,6 +8,7 @@ var events = require('events')
|
||||||
|
|
||||||
var dmx = new events.EventEmitter();
|
var dmx = new events.EventEmitter();
|
||||||
|
|
||||||
|
dmx.config = config;
|
||||||
dmx.setup = setup;
|
dmx.setup = setup;
|
||||||
dmx.devices = devices;
|
dmx.devices = devices;
|
||||||
dmx.drivers = {};
|
dmx.drivers = {};
|
||||||
|
|
10
web.js
10
web.js
|
@ -49,7 +49,15 @@ exports.init = function(dmx) {
|
||||||
|
|
||||||
|
|
||||||
var app = http.createServer(handler)
|
var app = http.createServer(handler)
|
||||||
app.listen(8080, '::');
|
app.listen(dmx.config.port, '::', null, function() {
|
||||||
|
try {
|
||||||
|
process.setgid(dmx.config.gid);
|
||||||
|
process.setuid(dmx.config.uid);
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
io.listen(app).sockets.on('connection', function (socket) {
|
io.listen(app).sockets.on('connection', function (socket) {
|
||||||
socket.emit('init', {'devices': dmx.devices, 'setup': dmx.setup});
|
socket.emit('init', {'devices': dmx.devices, 'setup': dmx.setup});
|
||||||
|
|
Loading…
Reference in a new issue