mirror of
https://github.com/netbootxyz/docker-netbootxyz.git
synced 2026-04-27 16:05:52 +03:00
[GH-ISSUE #24] local assets aren't used - correct / default path missing from README #127
Labels
No labels
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/docker-netbootxyz#127
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 @danboid on GitHub (Jun 13, 2022).
Original GitHub issue: https://github.com/netbootxyz/docker-netbootxyz/issues/24
I have set up a local instance of netboot.xyz 2.0.59 under Ubuntu 22.04.
I have used its web interface to download all of the assets for a couple of distros. They seemed to download fine but netboot doesn't utilise them, it still downloads them from the internet every time.
I presume this is because I haven't configured the assets path correctly when I was setting up the container. What is the correct default assets path to use when setting up the container? We should add this path to the netboot.xyz docker container docs.
@danboid commented on GitHub (Jun 13, 2022):
I looks like the default asset path should be set to
/assets/asset-mirror/releases/downloador maybe it should be just/assets?@danboid commented on GitHub (Jun 14, 2022):
I don't know how local assets are supposed to work. When I originally set up the container, I used this command:
I used that because I was wanting to mount a local dir ( /etc/netbootxyz/assets) in my container. It didn't seem to do that but the netboot webapp is accessible after running it. If I don't pass any
-voptions, I cannot access the containers web app but supposedly the-varguments for setting asset and config dir mappings are optional?@danboid commented on GitHub (Jun 14, 2022):
Here's how my netboot web app asset management page looks:
I'm a bit confused by the layout of the right column. At the top it says 'Untracked assets' then immediately below that it lists the assets I downloaded. I would've expected that if I could see the assets in that list then my netboot server would use those instead of downloading them right? That's not happening but are these actually still 'untracked assets' or not? The untracked assets column heading is confusing because it looks like it is an empty list followed by another separate list of tracked assets but squashed into the same column. Is that what is being displayed here?
If those local assets are downloaded but untracked, how do I make them tracked? Conversely, it it possible to make tracked assets untracked? I'm not even sure what tracked means in this case? Is it just a synonym for 'downloaded and locally hosted'?
@danboid commented on GitHub (Oct 20, 2022):
Have you had time to look at fixing this yet @antonym ?
@DarkAxi0m commented on GitHub (Nov 18, 2023):
I know this is old, but by chance if found the key point to getting local assets working.
On dashboard, edit boot.cfg, and set live_endpoint to your docker server address. Then netboot will look there for files.
https://netboot.xyz/docs/docker#local-mirror-access
@styxadmin commented on GitHub (May 24, 2024):
@danboid commented on GitHub (May 28, 2024):
Thanks @DarkAxi0m! I've not tried this yet but will have to give it a go soon.
It would seem that the netboot maintainer had forgot how this was supposed to work. This should be added to the netboot docs.
@nrvale0 commented on GitHub (Aug 19, 2024):
I've made the adjustment and I'm still not seeing PXE clients request from local live_endpoint. I'm running netboot.xyz from Docker Compose and I'm wondering if perhaps its not picking up the new setting?
@danboid commented on GitHub (Aug 19, 2024):
I've not tried this myself yet but did you reboot the netboot.xyz server after changing the config? Maybe you just need to restart one of its services after changing the config?
@nrvale0 commented on GitHub (Aug 19, 2024):
I've tried to restart the Compose stack including rm -rf'ing the contents of the config directory and same result. I'll loop back on it after I find a work-around for the outstanding issues with IPv6 in iPXE.
@nrvale0 commented on GitHub (Aug 19, 2024):
I was able to work around the iPXE IPv6 oddities. I'm still not getting bootstrap from the cached Local Assets (ex: Debian 12*) even when live_endpoint is set and Docker Compose stack has been restarted. I'll see if I can find a log file somewhere just in case I have not specified the URL correctly and it is then falling back to the list in the GH repo.
@tgechev commented on GitHub (Dec 21, 2024):
I stumbled on the same issue and just wanted to confirm that this approach works. The only thing to check is the actual port to which port
80is mapped in the container. I think the default is8080since that is what I had set up and I don't remember changing any ports when installing the container.Another point to note is that once this URL is changed netboot will check the local assets only. It won't fallback to the netboot github URL.
@danboid commented on GitHub (Dec 21, 2024):
Aha! So thats the real issue here then. netboot.xyz needs to be fixed so that it can use both local and online images simultaneously.
@ilium007 commented on GitHub (Feb 18, 2025):
Just lost an hour of my life to this. Would help,if this doco page found via Google wasn't a broken link: https://netboot.xyz/docs/docker
Modifying boot.cfg with a local live_endpoint and restarting the docker container has zero effect on netBoot.xyz going to the internet vs using locally downloaded assets.
@tuxpowered commented on GitHub (Feb 24, 2025):
Same here, docker (installed via truenas scale) version 2.0.85
Stock config lines 13-14 state to override live_endpoint in local-vars.ipxe.
Creating the
local-vars.ipxemenu and addingset live_endpoing http://10.10.10.10:31011Save config and boot test node still seeing the requests go out to the internet.Commenting out line 14 (isset) and adding
set live_endpoing http://10.10.10.10:31011under it, save config, try again. No changes still goes out to internet.Restart container, full stop, full start, retest - same thing still pulls from public internet.
Verified config files created on disk show the changes made. However they do not get used.
Yes: the live_endpoint is reachable and shows pulled assets.
No: the local-vars.ipxe file is detected on application start up.
(exiting to iPXE shell and executing
echo ${live_endpoint}shows the default github url.)Manually via ipxe setting the variable to the desired destination does work but it refuses to read it from the boot.cfg or load the local-vars.ipxe
@systemdbrew commented on GitHub (Mar 27, 2025):
https://github.com/netbootxyz/netboot.xyz/blob/master/roles/netbootxyz/templates/local-vars.ipxe.j2
Create page from "Menus" menu, call it "local-vars.ipxe". Paste in the template file linked in this comment.
Uncomment line 17 "set live_endpoint http://<enter_your_ip:PORT>"
This works for me on truenas scale Fangtooth RC1
@molnarti commented on GitHub (Aug 26, 2025):
is my understanding correct, that to boot local assets, i need to have the live_endpoint set to the local address AND have all the assets downloaded? e.g. there is no fallback to the assets on github? the diagram here https://netboot.xyz/docs/docker/ seems to tell othwrwise, but with the live_endpoint value set to github the local assets are not used, and when i set it to my local address then i need to have all assets downloaded.
also, is there a checksum check for the local assets? i was pulling out my here because the assets refused to boot, only to realize the downloaded file was smaller by 300 MB than it should have been
@rpi-maker commented on GitHub (Sep 5, 2025):
Followed @systemdbrew comments to create "local-vars.ipxe" and reference local ip:port for netboot xyz assets. Tested to see if this would pull pre-downloaded assets (local self-hosted images) and verified that it initially starts to load the local assets, but then goes out to the internet anyway to re-pull the same image..
Not sure why Netboot XYZ is ignoring the local self-hosted only option, as it used to work with older versions of Netboot XYZ. Currently running version 2.0.88
@LinuxforPunks commented on GitHub (Oct 3, 2025):
I probably did not try all of these options but I did put live_endpoint into local-vars.ipxe, and even deleted anything resembling the default/online menu... and it still loaded the default/online menu. Over the last 10 days I've only been able to get this container to download images from the project, it won't use local assets at all and it nukes or ignores local configuration of boot.cfg, which it managed to do even with the container's bind-mount set to read-only in the docker-compose.yaml.
@rpi-maker which older versions of Netboot XYZ was it? If those are still online that would probably be fine for what I need. I don't even really need it to be dockerized so long as it's somewhat user-configurable
@LATINO-BICEPS commented on GitHub (Nov 29, 2025):
I want to note that with
set live_endpoint http://x.x.x.x:8080set in local-vars.ipxe, it does work but only for specific distributions. I suspect it is a variable substitution misconfiguration somewhere in the chain.@BlueScreenTT commented on GitHub (Feb 6, 2026):
Hi.
I cant get it to work no matter what i do
i tried creating local-vars.ipxe, (shows up in the menu as local-vars.ipxe - custom)
i tried different ports. 80, 8080, 31011, however 80 cant be used, that is the port for the Truenas gui !
if i open in a webbrowser on port 31011 i get this
Linux/ 24-Jan-2026 23:28 -
Microsoft/ 24-Jan-2026 23:32 -
asset-mirror/ 05-Feb-2026 20:21 -
ubuntu-squash/ 05-Feb-2026 20:21 -
debian-13.3.0-amd64-netinst.iso 18-Jan-2026 19:05 790626304
so i would asume that the port 31011 is the correct port to use
also i have tried different .ipxe files for the PXE boot option in my DHCP server
the one i can get to work (boot) is netboot.xyz.efi
i have also tried booting the image via USB and it shows no local assets
It will not show local assets!
what am i missing here?
\Thomas