Merge pull request #579 from lbryio/560-ip-address

added node-ip and updated CLI
This commit is contained in:
Bill Bittner 2018-08-16 09:35:04 -07:00 committed by GitHub
commit 89f6ad9bce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 61 additions and 14 deletions

3
.gitignore vendored
View file

@ -15,8 +15,7 @@ client_custom/src/pages
devConfig/sequelizeCliConfig.js devConfig/sequelizeCliConfig.js
devConfig/testingConfig.js devConfig/testingConfig.js
config/mysqlConfig.json config/
config/siteConfig.json
public/bundle/bundle.js public/bundle/bundle.js
public/bundle/bundle.js.map public/bundle/bundle.js.map

View file

@ -34,8 +34,6 @@ $ npm install
$ npm run configure $ npm run configure
``` ```
Add your ip address in `config/siteConfig.json`
#### Build & start the app #### Build & start the app
_note: make sure lbry is running in the background before proceeding_ _note: make sure lbry is running in the background before proceeding_

View file

@ -2,6 +2,7 @@ const inquirer = require('inquirer');
const fs = require('fs'); const fs = require('fs');
const Path = require('path'); const Path = require('path');
const axios = require('axios'); const axios = require('axios');
const ip = require('ip');
const mysqlQuestions = require(Path.resolve(__dirname, 'questions/mysqlQuestions.js')); const mysqlQuestions = require(Path.resolve(__dirname, 'questions/mysqlQuestions.js'));
const siteQuestions = require(Path.resolve(__dirname, 'questions/siteQuestions.js')); const siteQuestions = require(Path.resolve(__dirname, 'questions/siteQuestions.js'));
@ -11,6 +12,14 @@ let thumbnailChannelDefault = '@thumbnails';
let thumbnailChannel = ''; let thumbnailChannel = '';
let thumbnailChannelId = ''; let thumbnailChannelId = '';
const createConfigFile = (fileName, configObject) => { // siteConfig.json , siteConfig
const fileLocation = Path.resolve(__dirname, `../config/${fileName}`);
const fileContents = JSON.stringify(configObject, null, 2);
fs.writeFileSync(fileLocation, fileContents, 'utf-8');
console.log(`Successfully created /config/${fileName}\n`);
};
// import existing configs or import the defaults
let mysqlConfig; let mysqlConfig;
try { try {
mysqlConfig = require('../config/mysqlConfig.json'); mysqlConfig = require('../config/mysqlConfig.json');
@ -36,14 +45,33 @@ const {
}, },
} = siteConfig; } = siteConfig;
let lbryConfig;
try {
lbryConfig = require('../config/lbryConfig.json');
} catch (error) {
lbryConfig = require('./defaults/lbryConfig.json');
}
let loggerConfig;
try {
loggerConfig = require('../config/loggerConfig.json');
} catch (error) {
loggerConfig = require('./defaults/loggerConfig.json');
}
let slackConfig;
try {
slackConfig = require('../config/slackConfig.json');
} catch (error) {
slackConfig = require('./defaults/slackConfig.json');
}
// ask user questions and create config files
inquirer inquirer
.prompt(mysqlQuestions(mysqlDatabase, mysqlUsername, mysqlPassword)) .prompt(mysqlQuestions(mysqlDatabase, mysqlUsername, mysqlPassword))
.then(results => { .then(results => {
console.log('\nCreating mysql config file...'); console.log('\nCreating mysql config file...');
const fileLocation = Path.resolve(__dirname, '../config/mysqlConfig.json'); createConfigFile('mysqlConfig.json', results);
const fileContents = JSON.stringify(results, null, 2);
fs.writeFileSync(fileLocation, fileContents, 'utf-8');
console.log('Successfully created /config/mysqlConfig.json!\n');
}) })
.then(() => { .then(() => {
// check for lbrynet connection & retrieve a default address // check for lbrynet connection & retrieve a default address
@ -158,15 +186,19 @@ inquirer
siteConfig['details']['port'] = results.port; siteConfig['details']['port'] = results.port;
siteConfig['details']['title'] = results.title; siteConfig['details']['title'] = results.title;
siteConfig['details']['host'] = results.host; siteConfig['details']['host'] = results.host;
siteConfig['details']['ipAddress'] = ip.address();
siteConfig['publishing']['uploadDirectory'] = results.uploadDirectory; siteConfig['publishing']['uploadDirectory'] = results.uploadDirectory;
const fileLocation = Path.resolve(__dirname, '../config/siteConfig.json'); })
const fileContents = JSON.stringify(siteConfig, null, 2); .then(() => {
fs.writeFileSync(fileLocation, fileContents, 'utf-8'); // create the config files
console.log('Successfully created /config/siteConfig.json\n'); createConfigFile('siteConfig.json', siteConfig);
createConfigFile('lbryConfig.json', lbryConfig);
createConfigFile('loggerConfig.json', loggerConfig);
createConfigFile('slackConfig.json', slackConfig);
}) })
.then(() => { .then(() => {
console.log('\nYou\'re all done!'); console.log('\nYou\'re all done!');
console.log('Next step: run "npm run build" to build your server, then "npm run start" to start your server!'); console.log('Next step: run "npm run start" to build and start your server!');
console.log('If you want to change any settings, you can edit the files in the "/config" folder.'); console.log('If you want to change any settings, you can edit the files in the "/config" folder.');
process.exit(0); process.exit(0);
}) })

View file

@ -0,0 +1,5 @@
{
"apiHost": "localhost",
"apiPort": "5279",
"getTimeout": 30
}

View file

@ -0,0 +1,3 @@
{
"logLevel": "verbose"
}

View file

@ -0,0 +1,5 @@
{
"slackWebHook": false,
"slackErrorChannel": false,
"slackInfoChannel": false
}

View file

@ -131,7 +131,6 @@ Check your site configs
$ cd config/ $ cd config/
$ nano siteConfig.json $ nano siteConfig.json
``` ```
add your ip address in `config/siteConfig.json`
### Build & run ### Build & run

5
package-lock.json generated
View file

@ -6677,6 +6677,11 @@
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
}, },
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
"ip-regex": { "ip-regex": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",

View file

@ -54,6 +54,7 @@
"helmet": "^3.13.0", "helmet": "^3.13.0",
"image-size": "^0.6.3", "image-size": "^0.6.3",
"inquirer": "^5.2.0", "inquirer": "^5.2.0",
"ip": "^1.1.5",
"make-dir": "^1.3.0", "make-dir": "^1.3.0",
"module-alias": "^2.1.0", "module-alias": "^2.1.0",
"mysql2": "^1.6.1", "mysql2": "^1.6.1",