Skip to content

Instantly share code, notes, and snippets.

@CodeAdminDe
Created June 23, 2025 18:06
Show Gist options
  • Select an option

  • Save CodeAdminDe/503f2009b39c975c0b35e0321df9593c to your computer and use it in GitHub Desktop.

Select an option

Save CodeAdminDe/503f2009b39c975c0b35e0321df9593c to your computer and use it in GitHub Desktop.
Talos PXE boot from factory with netboot.xyz
---
services:
netbootxyz:
image: ghcr.io/netbootxyz/netbootxyz
container_name: netbootxyz
environment:
- MENU_VERSION=2.0.84 # optional
- NGINX_PORT=80 # optional
- WEB_APP_PORT=3000 # optional
- TFTPD_OPTS='--tftp-single-port'
volumes:
- $PWD/data/config:/config # optional
- $PWD/data/assets:/assets # optional
ports:
- 3000:3000 # optional, destination should match ${WEB_APP_PORT} variable above.
- 69:69/udp
- 8080:80 # optional, destination should match ${NGINX_PORT} variable above.
restart: unless-stopped
# create the file local-vars.ipxe within the webui (localhost:3000)
# this file gets loaded before the menu. that way we can get a direct boot into the installer without user interaction.
#
# set your dhcp server to netboot: ip: <your-docker-executing-client-ip>, filename: `netboot.xyz.kpxe`
#
#talos factory ipxe script from: https://pxe.factory.talos.dev/pxe/cadf9ba8c8ed62e9ebf33213cd0aa993775b94d6175da07e7270e521696e703f/v1.10.4/metal-amd64
imgfree
kernel https://pxe.factory.talos.dev/image/cadf9ba8c8ed62e9ebf33213cd0aa993775b94d6175da07e7270e521696e703f/v1.10.4/kernel-amd64 talos.platform=metal console=tty0 init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=4294967295 printk.devkmsg=on ima_template=ima-ng ima_appraise=fix ima_hash=sha512 selinux=1
initrd https://pxe.factory.talos.dev/image/cadf9ba8c8ed62e9ebf33213cd0aa993775b94d6175da07e7270e521696e703f/v1.10.4/initramfs-amd64.xz
boot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment