Deploying a Fresh DaDesktop Server
Deploy DD Node on GTHost / Hetzner Server
These guidelines walk you through standing up a DaDesktop Node (Server) on a GTHost, Hetzner, or another bare metal Linux server here in Germany. Keep in mind that details may shift along with the installation and deployment scripts.
We're assuming you've already bought the server and plan to install Ubuntu Jammy 22.04. If you have two or more disks, you can use RAID0 (striping) to give disk access a speed boost—just configure that via Hetzner's 'installimage' process while in Rescue mode.
Getting Ready – OS Installation on a GTHost or Hetzner Server

- Begin by SSHing in with the provided root credentials, then run 'apt update' and 'apt upgrade' to bring every package current. Afterwards, execute 'apt autoremove' to clear out anything that’s no longer needed.
- On a Hetzner machine, you'll start in rescue mode and must specify the distro settings—software RAID (md), XFS, IPv4, and so on—before rebooting and upgrading. Usually you can accept the defaults for the small /boot and /boot/esp partitions (using ext4, not XFS) and skip a swap partition entirely. Then let the root partition take the rest of the disk space with XFS.
- If you're working with LeaseWeb or another provider, you'll need to switch the main / filesystem from ext4 or btrfs to XFS. The notes that follow are just a rough guide—reformatting the root partition is trickier than setting up a separate /bigdisk as XFS, since you can't easily or safely change the filesystem type while / is mounted.
-
The cleanest way to create an XFS filesystem is to use your provider's own tool if it's available. Otherwise, from a rescue environment, you might run something like:
mkfs.xfs -f /dev/mdx (the -f forces an overwrite and formats / as XFS).
Note: we no longer carve out a dedicated /bigdisk partition—it’s now just a directory under /. - Mount the XFS root with mount -t xfs /dev/mdX / from outside the OS, or use the provider's portal to achieve the same thing.
- If you ever do set up a separate /bigdisk partition (uncommon these days), include `defaults,nofail 0 0` in /etc/fstab so the system can still boot even if that partition fails to mount.
- Run systemctl daemon-reload so systemd picks up your /etc/fstab changes.
- Use mount -a to verify all partitions appear as expected, and check with df -T.
-
Reboot
Executing the DaDesktop Installation Script
- Connect via SSH (e.g., svr@xxxxxxxxx).
- Kick off the DaDesktop installer script:
- curl http://npg.io/d > d
- At this stage the base OS should be upgraded from 22.04 to the latest Ubuntu release—right now that means 23.10 Mantic, soon to be replaced by 24.04 Noble.
- The smoothest way to do this is with the update-os script at /apps/dadesktop_npnode_deploy/modules/00-upgrade-os. It swaps the apt sources from jammy to mantic (nautic) in one shot, which is simpler than manual distribution upgrades. Although jumping two releases at once is normally frowned upon, it's safe here because so few packages are installed.
-
If DNS stops working during the distro upgrade (we saw this happen once), fix it with:
rm /etc/resolv.conf ; echo "nameserver 8.8.8.8" > /etc/resolv.conf - Optionally, assign a hostname—for example, lo33uk.npg.io—if you need a specific name, perhaps to reuse an earlier DD node identity. Reboot afterwards if needed to activate the new hostname.
- Next, run the main script to install the DD Node. Using tmux is a good idea to safeguard against a dropped SSH connection during the upgrade. In the directory where you downloaded the script, execute 'bash d'.
- Watch the on-screen log for any errors. The script automatically adds the server’s IP to the NP access list, but you might need to wait a couple of minutes for the whitelist cron to update before you can proceed.
- Review the script’s progress, and fix or report any issues that pop up.
- Run the cleanup script at /apps/dadesktop_npnode_deploy/modules/00-cleanup. This strips out many unused packages and downgrades a few others.
- Execute /apps/zabbix-agent/services/test-all.sh to catch any remaining problems.
- For any packages that are no longer maintained, remove them with apt purge xxx, yyy. Also delete any broken symlinks that appear.
-
Finally, reboot and test everything.
Verifying the DD Node After Installation
- Check the new DD server entry and test it—for instance, via TPAPI—inside the DaDesktop GUI.
- In DaDesktop, set the server’s start and expiry dates, and assign it to a datacenter if necessary.
- Confirm the server appears and behaves correctly in Zabbix; clean up any alerts you see.
- Perform a real test by adding a Standalone instance to the server and running it.
- Add the server to the appropriate datacenter if needed.
- Optionally, define billing rules for the new server.
- Copy relevant operating system templates to the server if required.
- If this server is destined for a particular course, let the trainer or coordinator know they should start using it.
Enjoy!