You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
7 years ago
|
'use strict';
|
||
|
|
||
|
var winston = require('winston');
|
||
|
var async = require('async');
|
||
|
|
||
|
var install = require('../../install/web').install;
|
||
|
|
||
|
function setup() {
|
||
|
var install = require('../install');
|
||
|
var build = require('../meta/build');
|
||
|
var prestart = require('../prestart');
|
||
|
|
||
|
winston.info('NodeBB Setup Triggered via Command Line');
|
||
|
|
||
|
process.stdout.write('\nWelcome to NodeBB!\n');
|
||
|
process.stdout.write('\nThis looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.\n');
|
||
|
process.stdout.write('Press enter to accept the default setting (shown in brackets).\n');
|
||
|
|
||
|
async.series([
|
||
|
install.setup,
|
||
|
prestart.loadConfig,
|
||
|
build.buildAll,
|
||
|
], function (err, data) {
|
||
|
// Disregard build step data
|
||
|
data = data[0];
|
||
|
|
||
|
var separator = ' ';
|
||
|
if (process.stdout.columns > 10) {
|
||
|
for (var x = 0, cols = process.stdout.columns - 10; x < cols; x += 1) {
|
||
|
separator += '=';
|
||
|
}
|
||
|
}
|
||
|
process.stdout.write('\n' + separator + '\n\n');
|
||
|
|
||
|
if (err) {
|
||
|
winston.error('There was a problem completing NodeBB setup', err);
|
||
|
throw err;
|
||
|
} else {
|
||
|
if (data.hasOwnProperty('password')) {
|
||
|
process.stdout.write('An administrative user was automatically created for you:\n');
|
||
|
process.stdout.write(' Username: ' + data.username + '\n');
|
||
|
process.stdout.write(' Password: ' + data.password + '\n');
|
||
|
process.stdout.write('\n');
|
||
|
}
|
||
|
process.stdout.write('NodeBB Setup Completed. Run \'./nodebb start\' to manually start your NodeBB server.\n');
|
||
|
|
||
|
// If I am a child process, notify the parent of the returned data before exiting (useful for notifying
|
||
|
// hosts of auto-generated username/password during headless setups)
|
||
|
if (process.send) {
|
||
|
process.send(data);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
process.exit();
|
||
|
});
|
||
|
}
|
||
|
|
||
|
exports.setup = setup;
|
||
|
exports.webInstall = install;
|