diff --git a/loader.js b/loader.js index ba9acb2bc6..56f09f19d2 100644 --- a/loader.js +++ b/loader.js @@ -246,31 +246,38 @@ nconf.argv().env().file({ file: path.join(__dirname, '/config.json') }); -if (nconf.get('daemon') !== false) { - if (fs.existsSync(pidFilePath)) { - try { - var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' }); - process.kill(pid, 0); - process.exit(); - } catch (e) { - fs.unlinkSync(pidFilePath); - } - } +fs.open(path.join(__dirname, 'config.json'), 'r', function(err) { + if (!err) { + if (nconf.get('daemon') !== false) { + if (fs.existsSync(pidFilePath)) { + try { + var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' }); + process.kill(pid, 0); + process.exit(); + } catch (e) { + fs.unlinkSync(pidFilePath); + } + } - require('daemon')({ - stdout: process.stdout, - stderr: process.stderr - }); + require('daemon')({ + stdout: process.stdout, + stderr: process.stderr + }); - fs.writeFile(__dirname + '/pidfile', process.pid); -} + fs.writeFile(__dirname + '/pidfile', process.pid); + } -async.series([ - Loader.init, - Loader.displayStartupMessages, - Loader.start -], function(err) { - if (err) { - console.log('[loader] Error during startup: ' + err.message); + async.series([ + Loader.init, + Loader.displayStartupMessages, + Loader.start + ], function(err) { + if (err) { + console.log('[loader] Error during startup: ' + err.message); + } + }); + } else { + // No config detected, kickstart web installer + var child = require('child_process').fork('app'); } -}); \ No newline at end of file +}); diff --git a/package.json b/package.json index 9efc0b144d..b0e089cfa3 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,7 @@ }, "main": "app.js", "scripts": { - "start": "./nodebb start", - "stop": "./nodebb stop", + "start": "node loader.js", "test": "mocha ./tests -t 10000" }, "dependencies": {