๐ฐ๏ธ Hetzner โ ordering & initial setup.
This page documents our standard workflow for provisioning and preparing Hetzner servers for Attestant workloads. It covers both signing (small, fast storage) and validating (larger, RAIDed NVMe) server types.
Quick summary
| Server type | Typical disk layout | Notes |
|---|---|---|
| Signing | 2 x NVMe (RAID1) | Use Attestant Ubuntu LTS image, default template usually sufficient |
| Validating | 4 x NVMe (RAID10) | Requires custom partitioning during installimage โ follow the steps below |
๐ Prepare SSH keys
Generate a new disposable ED25519 keypair if you don't already have one (recommended):
ssh-keygen -t ed25519 -C "yourname@attestant.io"
cat ~/.ssh/id_ed25519.pub # copy this into Hetzner Robot during order
When ordering, choose Public key and paste it.
๐ Ordering (fast checklist)
- Go to: https://robot.your-server.de/
- Select a suitable product (Dedicated Server) and location (e.g., Helsinki).
- Choose an Attestant-approved Ubuntu LTS release (or Rescue system if you need NVMe pre-configuration).
- Add extra NVMe disks if required for validating servers.
- Choose Public key login and paste the ED25519 public key.
- Complete checkout and wait (typically up to 60 minutes) for provisioning.
๐งญ Initial access & rescue
After provisioning, SSH into the server using the assigned IP. If you need to run the interactive installer, use Hetzner's installimage from the rescue system.
ssh -F /dev/null root@<ip-address>
# or boot into Rescue mode via Robot โ then SSH into the rescue environment
๐ ๏ธ Using installimage for validating servers (RAID10)
Validating servers typically use 4x NVMe in RAID10. Hetzner's interactive installimage script is commonly used to configure this. Below are the important knobs to set; the UI is interactive so follow prompts carefully.
Steps (high-level):
- From the rescue shell, run:
installimage
- In the installer UI:
- Select Ubuntu and your preferred Attestant OS image.
- Find SOFTWARE RAID and set
SWRAIDLEVELto10. - Locate PARTITIONS / FILESYSTEMS and ensure partitions are set to our preferred sizes.
Example partition configuration (adapt to current spec):
PART swap swap 128G
PART /boot ext3 4G
PART / ext4 60G
PART /home ext4 all
Notes:
- The installer is interactive โ use F2 to save changes and F10 to exit the editor when done.
- The
PARTlines above are examples; validate the exact syntax in the install UI before saving.
After the install completes:
reboot
# log back in, then
apt update && apt upgrade -y
reboot
Then follow the Post Server Delivery runbook to complete baseline configuration.
๐งพ Signing servers (2 ร NVMe, RAID1)
Signing servers usually work fine with Hetzner's standard templates. Ensure the installer uses your SSH key and confirm RAID1 is active (if provided by template). Verify installed OS and disk sizes after first boot.
โ Post-setup checks
- Confirm the OS:
cat /etc/os-release - Verify disk layout:
lsblk,cat /proc/mdstat - Check RAID details:
sudo mdadm --detail /dev/mdX - Confirm SSH key access and disable password root login in
/etc/ssh/sshd_configif enabled.
โ ๏ธ Troubleshooting & tips
- If
installimagedoesn't expose the expectedPARTlines for NVMe, try booting the rescue system and using Hetzner's support or manual partitioning. - If RAID/volume sizes don't match expectations after install, contact Hetzner support to confirm disk assignment and RAID creation.
- Always double-check that you pasted the correct SSH public key to avoid lockout.
Links & references
- Hetzner Robot: https://robot.your-server.de/
- Hetzner Rescue/Install docs: https://docs.hetzner.com