{% extends "ui/_layout.html" %} {% block title %}Settings - bty-web{% endblock %} {% block subnav %} {# Settings is the one page with real sub-nav: in-page jump links to each card, separated by vertical rules. #} {% endblock %} {% block intro %} {% from "ui/_intro_box.html" import render as intro_box %} {% call intro_box() %} Where every bty magic value comes from. Most are read-only (set via environment variable or derived from the state directory); the Upstream sources card is editable and persists in the database. The DHCP / PXE cheatsheet below is the router-side config to point PXE clients at this appliance. Operator authentication lives on the Account page. {% endcall %} {% endblock %} {% block content %} {# Editable: the two upstream URLs. Empty field clears the override and reverts to env / default. Both take effect on the next fetch. #}
| Setting | Value | Source | Env var |
|---|---|---|---|
| {{ r.label }} | {{ r.value }} |
{% if r.source == "env" %} env {% elif r.source == "derived" %} derived {% else %} default {% endif %} |
{% if r.env %}{{ r.env }}
{% else %}-{% endif %}
|
bty-server runs a TFTP daemon (dnsmasq) and serves boot artifacts over HTTP. The DHCP side stays with your LAN's router (or DHCP server); bty deliberately doesn't try to replace it. Point your router at this appliance with the settings below.
{% if missing_netboot_artifacts %}{{ boot_root }}:
{% for name in missing_netboot_artifacts %}
{{ name }}{% if not loop.last %}, {% endif %}
{% endfor %}.
PXE clients will chain into iPXE but get 404 on the
kernel fetch until these files are present.
| Interface | State | IPv4 |
|---|---|---|
{{ iface.name }} |
{{ iface.operstate }} |
{% if iface.ipv4 %}
{{ iface.ipv4 }}/{{ iface.prefix }}
{% else %}
(no address)
{% endif %}
|
| (no interfaces detected) | ||
Configure your LAN's DHCP server to tag PXE clients with the options below. For UniFi: Settings → Networks → [your LAN] → Advanced → DHCP → Network Boot. For pfSense / OpenWRT / dnsmasq: equivalent options on the DHCP service.
| Option | Value | Notes |
|---|---|---|
option 60 |
PXEClient |
Vendor-class echo. Strict UEFI firmware filters offers without it. |
option 66 / Next-Server |
{% if primary and primary.ipv4 %}
{{ primary.ipv4 }}
{% else %}
(this appliance's LAN IP)
{% endif %}
|
The TFTP server. Same box as bty-web. |
option 67 / Boot-Filename |
ipxe.efi |
For UEFI PXEClient (arch 6/7/9). Use undionly.kpxe for legacy BIOS (arch 0). |
option 67 for user-class=iPXE |
http://{% if primary and primary.ipv4 %}{{ primary.ipv4 }}{% else %}<bty-server>{% endif %}:8080/pxe-bootstrap.ipxe
|
Stops iPXE chain-loop. Different bootfile when iPXE re-DHCPs. |
For UEFI HTTP-Boot (vendor-class HTTPClient), point
option 67 at
http://{% if primary and primary.ipv4 %}{{ primary.ipv4 }}{% else %}<bty-server>{% endif %}:8080/boot/ipxe.efi
instead (no TFTP roundtrip).