Alternative cloud provider other than AWS: is Hetzner a good option?

Hi UCS community,

has somebody experience with Hetzner cloud products to host UCS? I am looking for a alternative to AWS.

Thank you for your feedbacks!

Hello Tim,

personally I can recommend Hetzner - While I have no experience with UCS specifically I am not aware of any problems that might occur.
@ahrnke uses Hetzner for our training environment without flaws as far as I know, maybe he can chime in?

Beat regards

Hi Jan-Luca,

Thx for your reply. Actually I succeeded to mount the ISO (UCS v5) on Hetzner cloud server but I didn’t succeed in configuring the gateway as recommended by Hetzner. The boot system doesn’t find the “ens3” network (only “lo” is available).

@ahrnke Dirk, would you have an idea? How did you manged to install UCS on Hetzner cloud server? Thx.


Here is the guideline from Hetzner:

Here what I get:

you should check the interface name with “ip a” command and use the given name instead of ens3 - ens3 is example in hetzner documentation so you’re real interface name can be ens18 or whatever


Hi @externa1 as you can see on the screenshot I shared, the only interface I got with “ip a” was “lo”. Any ens3 or other interfaces can be seen…Any other idea to get out of this trouble? How did you installed UCS on Hetzner cloud server? Thx in advance, Tim

Hey @timcoucou, can you post the output of lspci ?

sorry for the late response.

Here is how to create an UCS Snapshot on Hetzner:

I. Image Preparation

  1. Download KVM version from Univention Website (UCS steht als Download (ISO-Image oder VM-Image) bereit.)
  2. Install libguestfs-tools onto your machine
  3. Run command on your machine:
sudo guestfish --rw -x -a UCS-x.x-KVM-Image.qcow2
# In guesfish console
mount /dev/vg_ucs/root /

# Set a root password
passwd root

# (Optional) set SSH Key
mkdir-p /root/.ssh
write /root/.ssh/authorized_keys "Insert your SSH pubkey here"

# Await DHCP on eth0 network interface
sh "ucr set interfaces/eth0/type=dhcp"
sh "ucr set interfaces/eth0/route/0='host'"
sh "ucr set interfaces/eth0/route/1='net gw'"

# Use ethX instead of ensX interface
sh "ucr set grub/append='net.ifnames=0 biosdevname=0'"

# Create a new machine-id on boot
# Hint: It is really rm-rf without a space in between!
rm-f /etc/machine-id /var/lib/dbus/machine-id


# Convert the image from qcow2 to raw
qemu-img convert -f qcow2 -O raw UCS-x.x-KVM-Image.qcow2 UCS-x.x-KVM-Image.img

# (Optional, but strongly recommended) Create a gzip of image 
gzip UCS-x.x-KVM-Image.img

II. Hetzner Preparations:

  1. Login into Console
  2. Select your project
  3. Click Add Server button
  4. Select an arbitrary location e.f. Falkenstein
  5. Select an arbitrary image f.e. Ubuntu
  6. Select an arbitrary type. I would recommend for UCS 5 to select >= CX21
  7. Select Networking (IPv4 is mandatory)
  8. Add a Volume. This is needed! It should have around 50GB
  9. Click Create & Buy now
  10. Once created, click onto cloud instance and select Rescue
  11. Click Enable rescue & power cycle
  12. Select linux64 and choose an ssh if you like (opional)

III. Cloud instance creation:

  1. Login via ssh into cloud instance which is in rescue mode
  2. Mount additional disk mount /dev/sdb /mnt
  3. Copy raw image to machine (or gzip archive) and place it to /mnt.
    Example: scp UCS-x.x-KVM-Image.img.gz root@ip.ip.ip.ip:/mnt/UCS-x.x-KVM-Image.img.gz
  4. (Optional) Deflate archive cd /mnt; gunzip /mnt/UCS-x.x-KVM-Image.img.gz
  5. Copy image `dd if=/mnt/UCS-x.x-KVM-Image.img of=/dev/sda
  6. Shutdown instance.

If you do not redo this steps all of the time, I would recommend to make a snapshot before boot. This snapshot can then be used in instance create like any other OS.

P.S.: In case here are any typos in the command, please let me/us know. It is now some time ago since I last created a snapshot at Hetzner.