selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

docker-netbootxyz logo

Self-host docker-netbootxyz

0.7.6-nbxyz16

Self-hosted PXE boot server with web UI and asset mirroring

ReleaseOpen SourceApache-2.0
Docker ComposeCompose file & guide
docker compose up -d netbootxyz
Updatedyesterday
LanguageShell
Setup difficultyAdvanced
Stars
384
Ports
3000 (Web configuration interface), 69 (TFTP service (UDP)), 80 (NGINX server for hosting assets)
Docker
ghcr.io/netbootxyz/netbootxyz
netboot.xyz web application interface showing boot menu optionsnetboot.xyz web application interface

What is docker-netbootxyz?

docker-netbootxyz packages netboot.xyz as a Docker container that runs a complete PXE boot environment. It includes a Node.js web application for editing iPXE menus on the fly, nginx for serving boot assets locally, dnsmasq for TFTP services, and syslog for TFTP activity logs. The container requires an external DHCP server configured to point clients to the container's TFTP service. Users can mirror OS installer images locally for faster boot times and create custom iPXE menus through the web interface. The image supports both x86_64 and ARM architectures and is configured via environment variables for ports, user/group IDs, and menu versions.

docker-netbootxyz alternatives

Should you self-host docker-netbootxyz?

docker-netbootxyz scores 56/100 on selfhost.directory (how scoring works) and ranks #10 of 31 in Networking. It has 384 GitHub stars.

It shipped 3 stable releases in the past year. The latest, 0.7.6-nbxyz16, came out on 15 March 2026.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Shell.

Its closest alternative on selfhost.directory is headscale (82/100, 45 185 stars). It scores higher overall, so compare the two before you pick. See docker-netbootxyz vs headscale side by side.

Features

  • Configurable menu versions
  • Custom iPXE menus
  • Local asset mirroring
  • NGINX asset hosting
  • TFTP server
  • UEFI Secure Boot support
  • User/group ID mapping
  • Volume persistence
  • Web-based menu editor

docker-netbootxyz README

docker-netbootxyz

Release Status Discord GitHub tag (latest by date) Docker Pulls

Overview

The netboot.xyz docker image allows you to easily set up a local instance of netboot.xyz. The container is a small helper application written in node.js. It provides a simple web interface for editing menus on the fly, retrieving the latest menu release of netboot.xyz, and enables mirroring the downloadable assets from Github to your location machine for faster booting of assets.

How to install docker-netbootxyz

Install docker-netbootxyz with Docker

Environment variables
PUID, PGID, MENU_VERSION, NGINX_PORT, WEB_APP_PORT, TFTPD_OPTS, IPXE_SB_VERSION

docker run -d
--name=netbootxyz
-e PUID=1000 # optional, UserID for volume permissions
-e PGID=1000 # optional, GroupID for volume permissions
-e MENU_VERSION=2.0.84 # optional
-e NGINX_PORT=80 # optional
-e WEB_APP_PORT=3000 # optional
-p 3000:3000 # sets web configuration interface port, destination should match ${WEB_APP_PORT} variable above.
-p 69:69/udp # sets tftp port
-p 8080:80 # optional, destination should match ${NGINX_PORT} variable above.
-v /local/path/to/config:/config # optional
-v /local/path/to/assets:/assets # optional
--restart unless-stopped
ghcr.io/netbootxyz/netbootxyz

Requires existing DHCP server configured to point to container

How to configure docker-netbootxyz

  • PUID1000UserID for volume permissions
  • PGID1000GroupID for volume permissions
  • MENU_VERSIONSpecific version of boot files to use from netboot.xyz (unset pulls latest)

    values: e.g. 2.0.84

  • NGINX_PORT80Port for NGINX service to listen on
  • WEB_APP_PORT3000Port for the web configuration interface to listen on

docker-netbootxyz releases & version history

FAQ

Will my favorite distribution work with netboot.xyz?

Most distributions work if they provide an installer kernel (vmlinuz), initramfs, and rootfs hosted on a mirror. The project maintains a CI/CD system to keep OS versions up to date.

What is PXE Booting?

PXE (Pre-Boot eXecution Environment) allows clients to boot from a server over the network, enabling automation before the system boots from its hard drive.

How does netboot.xyz work?

netboot.xyz uses iPXE to call a webserver hosting iPXE source files containing menus and logic for various Linux installers. When you select an OS, it retrieves images from project directories or trusted mirrors.

What is netboot.xyz?

netboot.xyz is a tool that allows you to boot your favorite Operating System's installer or various utilities over the network with minimal overhead from a single menu system.

More in Networking

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…