# Copy to .env and edit for your test LAN/bridge, then: docker compose up -d # Release being served. Must match the Packer build (fleet-.efi). IMAGE_VERSION=0.0.0-e98d881 # OCI release-artifact image (built by scripts/build-oci.sh). Mounted directly # as a Docker image volume — the default artifact source. Pin by digest in # production, e.g. OCI_IMAGE=git.bitasylum.org/audiobuzz/fleet-boot@sha256:… OCI_IMAGE=git.bitasylum.org/audiobuzz/fleet-boot # Fallback only (Docker < 28 / offline): local Packer output dir, used by the # commented bind-mounts in docker-compose.yml. Ignored when image volumes work. ARTIFACT_SRC=../artifacts/0.0.0-e98d881 # SPDK NVMe/TCP target image — prebuilt + pushed by CI # (.gitea/workflows/spdk-image.yaml); the serving host just pulls it. SPDK_IMAGE=git.bitasylum.org/audiobuzz/spdk-nvmf SPDK_VERSION=v24.09 # --- This serving host on the boot LAN ------------------------------------- BOOT_IFACE=ens19 # interface facing the booting client / test bridge SERVER_IP=192.168.50.10 # this host's address on BOOT_IFACE (DHCP/DNS/HTTP/NVMe) GATEWAY_IP=192.168.50.1 UPSTREAM_DNS=10.42.42.254 # --- DHCP scope ------------------------------------------------------------ DHCP_RANGE_START=192.168.50.100 DHCP_RANGE_END=192.168.50.200 DHCP_LEASE=12h # --- DNS names ------------------------------------------------------------- BOOT_DOMAIN=fleet.lab BOOT_HOST=boot.fleet.lab # HTTP boot server name (UKI) # NVMe/TCP discovery name. Put THIS value in the UKI cmdline as NVMET_TRADDR # (extract-artifacts.sh) so rd.nvmf.discover resolves here per environment. NVME_HOST=nvme.fleet.lab # --- NVMe/TCP target ------------------------------------------------------- SUBNQN=nqn.2026-06.org.example.fleet:rootfs TARGET_PORT=4420 SPDK_CPUMASK=0x1 # one polling core is plenty for a read-only boot fs