My preferred way of creating a Catalina installer is by building a small recovery image, which downloads Catalina during installation. But if you don’t have an Internet connection available on your macOS VM, that method can’t be used. So instead you can use an existing Mac to build a full-fat offline installer!
Use the Apple website to trigger the download of the Catalina installer through the App Store:
It’ll end up in your Applications folder as “Install macOS Catalina.app”. Now download this script:
Change into the directory of the downloaded script, make it executable, and run it with sudo:
chmod u+x create_dmg_catalina.sh sudo ./create_dmg_catalina.sh
The created Catalina.dmg will be written to your desktop. This is a disk image, not an ISO, but rename it to “Catalina.iso” anyway so we’ll be able to use it with Proxmox’s ISO image picker later.
Now you can upload this Catalina.iso to Proxmox’s ISO storage (by default this is at /var/lib/vz/template/iso) and add it to your VM as a CD/DVD drive. After adding it, edit the VM’s config line for Catalina.iso to replace “media=cdrom” with “cache=unsafe”.