Install PXE Tools with Docker Compose

Run PXE Tools in containers on a Linux host while keeping your data in a separate volume.

Distribution in preparation

The container image and installation files have not been published yet. Verified download and setup instructions will be added here when the product is released.

Before you start

Prepare the host and check your network before enabling PXE services.

  • A Linux host with Docker Engine and the Compose plugin.
  • A network interface connected to the client machines, and an existing DHCP service.
  • Persistent storage for instance data, sessions and verified boot files.

The installation process

  1. Prepare the host

    Install Docker Engine and Compose on Linux and choose the interface connected to your PXE clients.

  2. Prepare the distribution

    Obtain the verified image and Compose files when released, and authenticate the Debian archive keyring used for boot files.

  3. Create your instance

    Initialize the administrator account and start the console and acquisition worker. Instance data is kept in a separate volume.

  4. Enable network boot

    Choose the network interface and prepare the boot files in the console, then explicitly start the PXE service.

Network and console access

The PXE service uses the Linux host network. Docker Desktop on macOS or Windows runs containers in a virtual machine, and booting physical clients there has not been verified. The console listens on loopback; use an SSH tunnel for remote access.

Services at a glance

In the current development version, the console and worker start with Compose. The PXE service has a separate profile and must be started explicitly.

Scroll the table sideways to see all columns.

ServiceNetworkPurpose
Console127.0.0.1:8080Local administration
WorkerHTTPS outboundDownloads and verifies boot files
PXETFTP UDP 69 · HTTP TCP 80Serves boot files on the chosen interface
Proxy DHCPUDP 67 and 4011Optional; works alongside an existing DHCP server

PXE Tools does not assign IP addresses. If you do not use proxy DHCP, your existing DHCP server needs to supply the PXE boot information.

Open the console remotely

The development console listens only on the host’s loopback interface. From your workstation, create an SSH tunnel, replacing user@host with your own account and server:

Terminal
ssh -L 8080:127.0.0.1:8080 user@host

Then open http://127.0.0.1:8080/ on your workstation. Do not expose the current console directly to the network.

Updates and data

The data volume contains the instance, sessions and boot files. Removing volumes destroys that data. Back up the volume before updating; automatic migrations are not yet guaranteed.

Frequently asked questions

Can I use Docker Desktop on macOS or Windows?

Physical PXE clients have not been tested with Docker Desktop. The PXE service needs access to the relevant network broadcasts; use a Linux host for the documented setup.

Are my data removed when containers stop?

Stopping or removing containers does not by itself remove the data volume. Removing that volume or using docker compose down -v destroys its contents.

Does starting Compose activate PXE?

Not in the current development setup. The console and worker start first; the PXE service is a separate, explicitly enabled Compose profile.

The development version currently prepares the Debian 13 amd64 installer, which the operator runs manually. Physical networks and clients have not yet been validated.

Prefer a native installation?

Explore the APT route.

View APT installation