Browse Source

Accept configuration options as environment variables

This also changes the demoSite mode to be off by default.
fix-133-memory-crash
Nadav Ivgi 6 years ago
parent
commit
db8120ef57
  1. 38
      app.js
  2. 6
      app/config.js
  3. 26
      app/defaultCredentials.js

38
app.js

@ -205,33 +205,20 @@ app.runOnStartup = function() {
console.log("Running RPC Explorer for " + global.coinConfig.name); console.log("Running RPC Explorer for " + global.coinConfig.name);
var rpcCredentials = null; var rpcCred = config.credentials.rpc;
if (config.credentials.rpc) { console.log("Connecting via RPC to node at " + rpcCred.host + ":" + rpcCred.port);
rpcCredentials = config.credentials.rpc;
global.client = new bitcoinCore({
} else if (process.env.RPC_HOST) { host: rpcCred.host,
rpcCredentials = { port: rpcCred.port,
host: process.env.RPC_HOST, username: rpcCred.username,
port: process.env.RPC_PORT, password: rpcCred.password,
username: process.env.RPC_USERNAME, timeout: 5000
password: process.env.RPC_PASSWORD });
};
}
if (rpcCredentials) { coreApi.getNetworkInfo().then(function(getnetworkinfo) {
console.log("Connecting via RPC to node at " + config.credentials.rpc.host + ":" + config.credentials.rpc.port); console.log("Connected via RPC to node. Basic info: version=" + getnetworkinfo.version + ", subversion=" + getnetworkinfo.subversion + ", protocolversion=" + getnetworkinfo.protocolversion + ", services=" + getnetworkinfo.localservices);
global.client = new bitcoinCore({
host: rpcCredentials.host,
port: rpcCredentials.port,
username: rpcCredentials.username,
password: rpcCredentials.password,
timeout: 5000
});
coreApi.getNetworkInfo().then(function(getnetworkinfo) {
console.log("Connected via RPC to node. Basic info: version=" + getnetworkinfo.version + ", subversion=" + getnetworkinfo.subversion + ", protocolversion=" + getnetworkinfo.protocolversion + ", services=" + getnetworkinfo.localservices);
if (config.credentials.influxdb.active) { if (config.credentials.influxdb.active) {
global.influxdb = new Influx.InfluxDB(config.credentials.influxdb); global.influxdb = new Influx.InfluxDB(config.credentials.influxdb);
@ -246,7 +233,6 @@ app.runOnStartup = function() {
}).catch(function(err) { }).catch(function(err) {
console.log("Error 923grf20fge: " + err + ", error json: " + JSON.stringify(err)); console.log("Error 923grf20fge: " + err + ", error json: " + JSON.stringify(err));
}); });
}
if (config.donationAddresses) { if (config.donationAddresses) {
var getDonationAddressQrCode = function(coinId) { var getDonationAddressQrCode = function(coinId) {

6
app/config.js

@ -1,6 +1,6 @@
var coins = require("./coins.js"); var coins = require("./coins.js");
var currentCoin = "BTC"; var currentCoin = process.env.BTCEXP_COIN || "BTC";
var credentials = require("./defaultCredentials.js"); var credentials = require("./defaultCredentials.js");
try { try {
@ -8,8 +8,8 @@ try {
} catch (err) {} } catch (err) {}
module.exports = { module.exports = {
cookiePassword: "0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", cookiePassword: process.env.BTCEXP_COOKIE_PASSWORD || "0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
demoSite: true, demoSite: !!process.env.BTCEXP_DEMO,
coin: currentCoin, coin: currentCoin,
rpcBlacklist:[ rpcBlacklist:[

26
app/defaultCredentials.js

@ -1,31 +1,31 @@
module.exports = { module.exports = {
rpc: { rpc: {
host:"127.0.0.1", host: process.env.BTCEXP_BITCOIND_HOST || "127.0.0.1",
port:8332, port: process.env.BTCEXP_BITCOIND_PORT || 8332,
username:"rpc_username", username: process.env.BTCEXP_BITCOIND_USER,
password:"rpc_password" password: process.env.BTCEXP_BITCOIND_PASS,
}, },
influxdb:{ influxdb:{
active:false, active: !!process.env.BTCEXP_INFLUXDB_ENABLED,
host:"127.0.0.1", host: process.env.BTCEXP_INFLUXDB_HOST || "127.0.0.1",
port:8086, port: process.env.BTCEXP_INFLUXDB_PORT || 8086,
database:"influxdb", database: process.env.BTCEXP_INFLUXDB_DB || "influxdb",
username:"admin", username: process.env.BTCEXP_INFLUXDB_USER || "admin",
password:"admin" password: process.env.BTCEXP_INFLUXDB_PASS || "admin"
}, },
// optional: enter your api access key from ipstack.com below // optional: enter your api access key from ipstack.com below
// to include a map of the estimated locations of your node's // to include a map of the estimated locations of your node's
// peers // peers
// format: "ID_FROM_IPSTACK" // format: "ID_FROM_IPSTACK"
ipStackComApiAccessKey:null, ipStackComApiAccessKey: process.env.BTCEXP_IPSTACK_KEY,
// optional: GA tracking code // optional: GA tracking code
// format: "UA-..." // format: "UA-..."
googleAnalyticsTrackingId:null, googleAnalyticsTrackingId: process.env.BTCEXP_GANALYTICS_TRACKING,
// optional: sentry.io error-tracking url // optional: sentry.io error-tracking url
// format: "SENTRY_IO_URL" // format: "SENTRY_IO_URL"
sentryUrl:null, sentryUrl: process.env.BTCEXP_SENTRY_URL,
}; };

Loading…
Cancel
Save