Setting up a Home Assistant as a KVM - resize qcow2 and set up network bridge device [Guide] - eviltoast

I occasionally find myself reinstalling home assistant and every time I do, I get stuck on two steps because I forgot the commands and didn’t write them down from the last time. I’m writing them below mainly for myself but also for anyone else who may get stuck. For future reference, I’m using Ubuntu 23.04 with Virt-Manager.

Before you begin the installation of the provided qcow2 image, you might want to resize that image from 32G to whatever size you want. ex:

qemu-img resize haos_ova-10.3.qcow2 +68G

Next, you might want to make a network bridge device. Navigate to your netplan folder and backup the yaml file that’s in there (your file may be named differently)

cd /etc/netplan

cp ./01-network-manager-all.yaml ./01-network-manager-all.yaml.old

Edit the yaml config.

nano ./01-network-manager-all.yaml

Change the renderer to networkd and add the bridge device (br0). Your ethernet device may not be named enp12s0, make sure to use your ethernet device name. If you are on wifi, look up a netplan wifi config and make adjustments as needed.

network:
  renderer: networkd
  ethernets:
    enp12s0:
      dhcp4: true
  version: 2
  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - enp12s0
      parameters:
        stp: true

save the file. generate and apply the new netplan. WARNING - If you are hosting this on your own network, it’s possible the Ubuntu host IP could change. If you were doing these steps over SSH, you might need to find the new IP and reconnect. Static IPs can be set in the netplan config but I usually just do it from my router settings afterwards which is probably why the IP changed.

netplan generate

netplan apply

Now just go through the installation process and when you select your network device, make sure you select “Bridge Device” and the device name is “br0”

Edit 12/15/23 - well, I rebuilt my server again. I used regular Ubuntu desktop this time and I for the life of me I couldn’t get networking to function properly. I ended up buying an Ethernet card and passed it through to the VM