mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 15:15:56 +03:00
[GH-ISSUE #1727] Dashboard keeps loading endlessly #583
Labels
No labels
Hacktoberfest
Hacktoberfest
bootloader
bsd
bug
confirmed
documentation
duplicate
enhancement
enhancement
enhancement
eol
experimental-merged
freebsd
help wanted
invalid
investigate
ipxe
linux
live-os
memdisk
menu
no-issue-activity
no-issue-activity
pull-request
released
todo
upstream
windows
windows
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/netboot.xyz#583
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @maraouf on GitHub (Dec 28, 2025).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/1727
[]: This bug persists when memory is increased beyond 8GB.
I have memory of 32GB for the VM running the docker for netboot.xyz
So it is not a memory or disk issue
Describe the bug
The dashboard keeps loading endlessly showing Getting Dashboard
To Reproduce
Get the latest version or any version, the dashboard doesn't load but shows Getting Dashboard
Expected behavior
Dashboard loads normally
Screenshots

Additional context
I have been troubleshooting the issue and looing deeply into the code
First it was that the web port not logging any socket request
[program:webapp]
environment=NODE_ENV="production",PORT=%(ENV_WEB_APP_PORT)s
command=/usr/bin/node app.js
directory=/app
user=nbxyz
priority = 3
stdout_logfile=/dev/null <----- ALL OUTPUT GOES TO /dev/null!
stderr_logfile=/dev/null <----- ALL ERRORS GO TO /dev/null!
So I modified the output to show me the issue
[program:webapp]
environment=NODE_ENV="production",PORT=%(ENV_WEB_APP_PORT)s
command=/usr/bin/node app.js
directory=/app
user=nbxyz
priority = 3
redirect_stderr=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
After this I found the dashboard not loading due to
There was a problem with the fetch operation: request to https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest failed, reason: getaddrinfo EAI_AGAIN api.github.com
So I checked the resolving from inside the docker container
docker exec netbootxyz nslookup api.github.com 2>&1 || docker exec netbootxyz getent hosts api.github.com
Server: 127.0.0.11
Address: 127.0.0.11:53
Non-authoritative answer:
Non-authoritative answer:
Name: api.github.com
Address: 140.82.121.5
docker exec netbootxyz wget -O- --timeout=5 https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest 2>&1 | head -20
Connecting to api.github.com (140.82.121.5:443)
writing to stdout
{
"url": "https://api.github.com/repos/netbootxyz/netboot.xyz/releases/260862276",
"assets_url": "https://api.github.com/repos/netbootxyz/netboot.xyz/releases/260862276/assets",
"upload_url": "https://uploads.github.com/repos/netbootxyz/netboot.xyz/releases/260862276/assets{?name,label}",
"html_url": "https://github.com/netbootxyz/netboot.xyz/releases/tag/2.0.89",
"id": 260862276,
"author": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
So the issue is not dns resolving from container
So mainly the issue is getaddrinfo EAI_AGAIN means "temporary DNS failure - try again". This suggests Node.js is trying to resolve api.github.com before the container's DNS is fully initialized.
So I edited the container code and now it is working
docker exec netbootxyz sh -c 'cat > /tmp/getdash_fixed.txt << '''ENDCODE'''
socket.on('''getdash''', function(){
var tftpcmd = '''/usr/sbin/dnsmasq --version | head -n1''';
var nginxcmd = '''/usr/sbin/nginx -v''';
var dashinfo = {};
dashinfo['''webversion'''] = version;
dashinfo['''menuversion'''] = fs.readFileSync('''/config/menuversion.txt''', '''utf8''');
dashinfo['''remotemenuversion'''] = dashinfo['''menuversion''']; // Default to local version
});
ENDCODE
'
Replace lines 64-99 with the fixed version
docker exec netbootxyz sh -c 'head -63 /app/app.js > /tmp/app_new.js && cat /tmp/getdash_fixed.txt >> /tmp/app_new.js && tail -n +100 /app/app.js >> /tmp/app_new.js && cp /tmp/app_new.js /app/app.js'
The question is why this resolve blocking the dashboard?