Deploying a New DaDesktop Server
Deploy DD Node on GTHost / Hetzner Server
The following guidelines are meant to support the deployment of a DaDesktop node (server) on a GTHost, Hetzner, or similarly provisioned bare metal Linux machine. Keep in mind that these instructions may evolve as the installation and deployment script is updated.
We assume you've already purchased the server and will be installing Ubuntu Jammy 22.04 in Brazil. If you have ample disk space with two or more drives, consider using RAID0 (striping) to accelerate disk access. For Hetzner, this configuration must be set up via the 'installimage' process while in Rescue mode.
Preparing and Installing the Operating System on GTHost/Hetzner Servers

- Begin by connecting via SSH using the supplied root credentials. Run 'apt update' and 'apt upgrade' to bring all packages current. Afterwards, execute 'apt autoremove' to clear out any outdated packages.
- When working with Hetzner, the server starts in rescue mode, so you'll need to specify the distribution parameters, software RAID (mdm, xfs, IPv4, etc.) before rebooting and upgrading. Typically, accept the defaults for small /boot and /boot/esp partitions (use ext4, not xfs) and skip the swap partition as it's unnecessary. Assign the / partition to xfs and let it use the remainder of the available disk space.
- For LeaseWeb or other providers, you'll need to switch the main / filesystem from ext4 or btrfs to xfs. The steps below are just a guide; however, making sure / uses xfs is more involved than simply creating a separate /bigdisk with xfs, because filesystem changes must be performed outside the operating system—altering the / type while it's mounted isn't straightforward or safe.
-
To set up the xfs filesystem, use the provider's tool if available, as it simplifies the process. Otherwise, from the rescue system, you can run:
mkfs.xfs -f /dev/mdx (this formats with xfs /, and -f is used to force the overwrite).
NB we no longer define /bigdisk as a separate partition, this is now just a dir under / instead. - mount -t xfs /dev/mdX / outside of os, or using system portal to do this.
- If you were to use a /bigdisk partition (now generally avoided), add "defaults,nofail 0 0" in /etc/fstab so the system boots even if that partition fails to mount.
- systemctl daemon-reload to allow systemd to reload /etc/fstab
- mount -a, to check partitions are created as required, check with df -T
-
Reboot
Executing the DaDesktop Installation Script
- ssh to the server ie svr@xxxxxxxxx
- Install via DaDesktop install script, ie
- curl http://npg.io/d > d
- At this stage, upgrade the base OS from 22.04 to the latest Ubuntu version—currently 23.10 Mantic, and soon to be 24.04 Noble.
- The easiest way is to use the update-os script found at /apps/dadesktop_npnode_deploy/modules/00-upgrade-os. This automates the release upgrade, switching apt sources from jammy to mantic (nautic) so you can jump directly in one step instead of multiple dist-upgrades. Note: although upgrading through two releases at once is usually discouraged, it's safe here because only a minimal number of packages are installed.
-
If DNS stops working during the upgrade (we experienced this once), resolve it by running:
rm /etc/resolv.conf ; echo "nameserver 8.8.8.8" > /etc/resolv.conf - Optionally, assign a hostname (such as lo33uk.npg.io) if you want a specific name for the DD node, perhaps one that was previously configured. Reboot if needed for the change to take effect.
- Now execute the main script to install the DD node. To avoid losing the connection during upgrade, consider using tmux. Then, from the directory where the script was downloaded, run 'bash d'
- Monitor the on‑screen log messages for errors. The script will automatically add the server's IP to the NP access list; however, you might need to wait a minute or two for the whitelist cron job to refresh before you can continue.
- Review the script's progress and address or report any issues that arise.
- Run the cleanup script at /apps/dadesktop_npnode_deploy/modules/00-cleanup. It strips out many unnecessary packages and downgrades others.
- Execute /apps/zabbix-agent/services/test-all.sh to verify everything is functioning correctly.
- For any packages that are no longer maintained, purge them with 'apt purge xxx yyy' and remove any displayed broken links.
-
Finally, reboot and confirm that the DD node operates as expected.
Verifying the DD Node Post‑Installation
- In the DaDesktop GUI, confirm the new server entry appears and test it using tools like test TPAPI.
- Set the server's start and expiry dates in DaDesktop, and assign it to a datacenter if needed.
- Verify the server is functioning correctly in Zabbix, and resolve any remaining issues.
- Test by launching a Standalone instance on the server and ensuring it runs properly.
- Add the server to the appropriate datacenter if required.
- Optionally, configure billing rules for the new server if that's necessary.
- Copy any required operating system templates to the server.
- If this server is intended for a specific course, notify the trainer or coordinator to use it.
Enjoy !