Install on Bare Metal
You can run a meltcloud Nest or Machine directly on bare metal servers.
Hardware Requirements
| Setting | Nest | Machine |
|---|---|---|
| Architecture | amd64 or arm64 | amd64 or arm64 |
| CPU | 8+ cores | 2+ cores |
| RAM | 16 GB+ | 4 GB+ |
| Disk | ≥ 200 GB | ≥ 20 GB |
| Boot media | Nest installer .iso | Enrollment Image .iso |
WARNING
The installer will wipe the contents of the target disk. Make sure to back up any existing data before proceeding.
Prerequisites
- Nest: download the Nest installer
.iso(provided by meltcloud) - Machine: create an Enrollment Image and download the
.iso - Make sure the network requirements are met: Requirements (self-hosted) or Requirements (SaaS)
Boot Options
As described in Enrollment: How to boot an .iso, there are two ways to boot from an .iso:
- Attaching it locally (USB stick, SD card, or BMC virtual media)
- Network booting via UEFI HTTP Boot
Option A: Attach the .iso Locally
If UEFI HTTP Boot is not supported by the network or the server, attach the .iso locally:
- Download the
.isoand either mount it as a virtual media (via the server's BMC/management interface) or flash it onto a USB drive or SD card. To create a bootable drive, use a tool like Etcher or built-in command line tools:
# identify the USB/SD device on your local machine
# make sure the device is not mounted
sudo umount /dev/sdd
# copy the ISO with dd onto your drive
sudo dd if=/path/to/iso of=/dev/sdd- Plug the drive into the server (or attach it via BMC virtual media).
- Configure the server's BIOS/UEFI boot settings to boot from the USB/SD drive.
- Power on the server.
INFO
After installation, the USB drive can be ejected, as the system is installed to the internal disk.
Option B: Network Boot via UEFI HTTP Boot
UEFI HTTP Boot is the preferred option for Machines as it allows automating the enrollment process.
TIP
Most BIOS/UEFI also allow entering an HTTP Boot URL manually as a boot option. This is useful for verifying UEFI HTTP Boot support before configuring the DHCP server. See tianocore: HTTP Boot URI configuration.
WARNING
UEFI HTTP Boot support varies between vendors (some only support HTTP, some only HTTPS, some require enrolling CAs). Check your server's manual first.
Configure the DHCP Server
Provide the .iso URL via DHCP option. Example for dnsmasq:
...
# define an IP range for DHCP
dhcp-range=<ip-from>,<ip-to>,<mask>,<lease-time>
# default DHCP options for gateway and DNS
dhcp-option=option:router,<gateway-ip>
dhcp-option=option:dns-server,<dns-ip>
dhcp-option=option:ntp-server,<ntp-ip>
# Select architecture.
dhcp-match=set:arch_x64,option:client-arch,16
# Send ISO URL as boot file
dhcp-boot=tag:arch_x64,https://app.meltcloud.io/enroll/8/.../amd64.iso
# Send HTTPClient as vendor DHCP options in the response.
# If this is not set, most UEFI HTTP Boot servers will ignore the DHCPOffer and time out.
dhcp-pxe-vendor=HTTPClient
dhcp-option-force=tag:arch_x64,option:vendor-class,HTTPClient
...Boot the Server
- Configure the server's BIOS/UEFI to boot from network.
- Power on the server. It will receive the
.isoURL via DHCP and boot from it. - Once the installation finishes, the boot order is set to boot from disk and the server reboots.
Next Steps
- Nest: follow the on-screen TUI installer. See Install Nest for a detailed walkthrough.
- Machine: after it boots from the Enrollment Image it enrolls automatically and appears under Machines. Continue with Assign to a Machine Pool.
Troubleshoot
If the server has trouble booting or enrolling, check the Enrollment Images: Troubleshooting section.
