minernl / Miningcore.WebUI

WebUI made for https://github.com/minernl/miningcore
https://miningcore.com
33 stars 85 forks source link

Pool is Down Currently for maintenance. #2

Open knowndragon opened 5 years ago

knowndragon commented 5 years ago

Hello, I have changed the information that is in the miningcore.cs.

When i bring up the website i see the colorful website and even can edit the html files. The only issue is that it brings up: The pool is down currently for maintenance. I would really like to use this interface but for the life of me can't get past this. Miningcore is working and pushing payouts like it should. Just the WEBUI seems not to be connecting. I have been in the website business before. I am currently about to start a shift that would allow for me to get back into it and maintain it full time. Any help would be appreciated. The following is my edit.

knowndragon commented 5 years ago

Nevermind, I was able to figure this out. I have been playing around with it. I haven't made my api public yet. I have been trying to see if this will work for what I want it to. I am stumped at one thing though. I have it where two coins are present. On home page it will show stats for the second one but will not when you click on coin.....

thejdc commented 4 years ago

@knowndragon - I'm having this issue as well. What do you mean by making your API public?

config.json API block:

// API Settings "api": { "enabled": true, // Binding address (Default: 127.0.0.1) "listenAddress": "127.0.0.1", // Binding port (Default: 4000) "port": 4000, // IP address whitelist for requests to Prometheus Metrics (default 127.0.0.1) "metricsIpWhitelist": [], // Limit rate of requests to API on a per-IP basis "rateLimiting": { "disabled": false, // disable rate-limiting all-together, be careful // override default rate-limit rules, refer to https://github.com/stefanprodan/AspNetCoreRat$ "rules": [ { "Endpoint": "*", "Period": "1s", "Limit": 5 } ], // List of IP addresses excempt from rate-limiting (default: none) "ipWhitelist": [] } },

Is there something I need to change?

thejdc commented 4 years ago

I figured it out. I had to change 'var api' in miningcore.js a bit:

var API = "http://192.168.1.241/" + "api/"; to: var API = "http://192.168.1.241:4000/" + "api/";

Works fine now. I followed the readme but it did not say anything about adding the port:

it should be like this: (replace domain-name.com is you own domain name) var WebURL = "https://domain-name.com/"; var API = "https://domain-name.com/api/"; var stratumAddress = "stratum+tcp://domain-name.com:";

Awesome frontend BTW, nice work!

ChromaEdgeStudios commented 3 years ago

Wondering if this is still working for others here in 2021, I am working off a fork of this and trying to expand on it but I too am stuck with this maintenance state on the website. Did all the changes to the JS file but it seems maybe its not passing port 4000 to the front end. Backend shows API is running, no issues actually at all in backend console so curious if anyone is still around to advise what I may need to do with nginx. I am using Nginx Proxy manager too so unsure if that maybe in the way

GoZippy commented 3 years ago

also have this issue - docs not clear on setting for miningcore.js I have base minigcore install copied all webUI to webroot set DNS A-Record for pool.mydoamin.net to the public ip I can browse to the pool.mydomain.net and it loads the Welcome to Miningcore Mining Pool with WARNING The pool is currently down for maintenance. Please try again later.

I am not seeing a config item for online vs offline

I am not following the steps for adding var API as IP address vs full domain url.

Please advise. Would like to setup multiple coins on pool and host over several physical machines and ip's

def670 commented 3 years ago

var API = "http://192.168.1.241/" + "api/"; to: var API = "http://192.168.1.241:4000/" + "api/";

if you have the port listed than take it out - if you dont, then add it in

sicXnull commented 2 years ago

Need to change api bind address to 0.0.0.0 in config.json (miningcore side)

    "api": {
        "enabled": true,
        // Binding address (Default: 127.0.0.1)
        "listenAddress": "127.0.0.1",
        // Binding port (Default: 4000)

Change to

    "api": {
        "enabled": true,
        // Binding address (Default: 127.0.0.1)
        "listenAddress": "0.0.0.0",
        // Binding port (Default: 4000)
mamberger commented 2 years ago

Hello to everyone from 2022! I also had this problem. I applied all the tips from this discussion, but nothing helped me. Please look at my configs. What did I miss?

miningcore.js


var WebURL         = "http://192.168.1.8:80";  // Website URL is:  https://doma>
// WebURL correction if not ends with /
if (WebURL.substring(WebURL.length-1) != "/")
{
        WebURL = WebURL + "/";
        console.log('Corrected WebURL, does not end with / -> New WebURL : ', W>
}
var API            = "http://192.168.1.8:4000/" + "api";                       >
// API correction if not ends with /
if (API.substring(API.length-1) != "/")
{
        API = API + "/";
        console.log('Corrected API, does not end with / -> New API : ', API);
}
var stratumAddress = "stratum+tcp://192.168.1.8:"; 

config.json (from miningcore/build)

"api": {
        "enabled": true,
        // Binding address (Default: 127.0.0.1)
        "listenAddress": "0.0.0.0",
        // Binding port (Default: 4000)
        "port": 4000,
        // IP address whitelist for requests to Prometheus Metrics (default 127>
        "metricsIpWhitelist": [],
        // Limit rate of requests to API on a per-IP basis
        "rateLimiting": {
            "disabled": false,

the backend is working. I'm writing curl -v http://192.168.1.8:4000/api/pools and I get a json response about my pool

TimyIsCool commented 2 years ago

Change

var API = WebURL + "http:/ip:4000/api/";

to

var API = "http://ip:port/api/";

b2d2dbone commented 1 year ago

Hello to everyone from 2022! I also had this problem. I applied all the tips from this discussion, but nothing helped me. Please look at my configs. What did I miss?

miningcore.js


var WebURL         = "http://192.168.1.8:80";  // Website URL is:  https://doma>
// WebURL correction if not ends with /
if (WebURL.substring(WebURL.length-1) != "/")
{
        WebURL = WebURL + "/";
        console.log('Corrected WebURL, does not end with / -> New WebURL : ', W>
}
var API            = "http://192.168.1.8:4000/" + "api";                       >
// API correction if not ends with /
if (API.substring(API.length-1) != "/")
{
        API = API + "/";
        console.log('Corrected API, does not end with / -> New API : ', API);
}
var stratumAddress = "stratum+tcp://192.168.1.8:"; 

config.json (from miningcore/build)

"api": {
       "enabled": true,
       // Binding address (Default: 127.0.0.1)
       "listenAddress": "0.0.0.0",
       // Binding port (Default: 4000)
       "port": 4000,
       // IP address whitelist for requests to Prometheus Metrics (default 127>
       "metricsIpWhitelist": [],
       // Limit rate of requests to API on a per-IP basis
       "rateLimiting": {
           "disabled": false,

the backend is working. I'm writing curl -v http://192.168.1.8:4000/api/pools and I get a json response about my pool

Hi I hope some one find this helpful Example here we use username as pool and server public IP is "142.50.321.66" and the stratum port is 2000 and API port is 5000

1

point your domain/subdomian A record to your server public IP make sure to check if your VPS provider have IP/4 or IP/6 just execute

$ curl ifconfig.me

2

link Nginx to the WebUI path + ; // Do not forget ;

$ sudo nano /etc/nginx/sites-enabled/default

Edit the root path from root /var/www/html; To
root /home/pool/Miningcore.WebUI; // make sure to use the WebUI path on which you placed it

CTR+X save and exit

reload nginx

$ sudo systemctl restart nginx.service

3# check firewall status

make sure to allow stratum + api +http/s ports

$ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp $ sudo ufw allow 2000/tcp $ sudo ufw allow 5000/tcp

4# edit miningcore.js which is located /Miningcore.WebUI/js // Config #1 works // var WebURL = window.location.protocol + "/domain.com/" + window.location.hostname + "/";

// Config #2 works var WebURL = "http://domain.com/";

// WebURL correction if not ends with / if (WebURL.substring(WebURL.length-1) != "/") { WebURL = WebURL + "/"; console.log('Corrected WebURL, does not end with / -> New WebURL : ', WebURL); }

//Config #1 works // var API = "http://142.50.321.66:5000/api/"; //

// Config #2 works var API = "http://domain.com:5000/api/"; / / API correction if not ends with / if (API.substring(API.length-1) != "/") { API = API + "/"; console.log('Corrected API, does not end with / -> New API : ', API); } //var stratumAddress = window.location.hostname; // Stratum address is: domain.com

//working config #1 var stratumAddress = "domain.com";

// Make sure to use one of the configs do not use 2 configs for API or WebURL just use one and comment the other

good luck

GoZippy commented 1 year ago

I never got it working...

TimyIsCool commented 1 year ago

I see that you have var API = "http://192.168.1.8:4000/" + "api";

Change it to var API = "http://192.168.1.8:4000/"

b2d2dbone commented 1 year ago

I never got it working...

maybe you have multiple sites at /etc/nginx/sites-enabled or you have Apache web server running along side Nginx

b2d2dbone commented 1 year ago

I never got it working...

If there is even one coin daemon " coind" not fully sysnced and you add it to your pool config file then all of the pool coins will show maintenance or not showing any thing at home page of the pool coins sections .

you must fully sync the coin and create the config file in the coin root directory and create address using coin-cli after that you can add it to your pools just the first time after that if the coin drop out of sync no problem the api will still show it on the home page along with the other coins .

Jyrkivi commented 3 months ago

How we can just ignore that error? My pool gives me that error lots of times per day, I need to refresh page about 10 times and tadaa its shows right again.