incus_combined.tar.gz (very rarely used, allows for a single file per image)
disk-kvm.img (preferred for VM images)
disk1.img (fallback for VM images)
uef1.img (fallback for VM images)
So in most cases, a valid container image should have an incus.tar.xz ftype and either squashfs or root.tar.xz. A valid VM image should have an incus.tar.xz ftype and a disk-kvm.img.
I’m using an image server that me and @Wolfo-Gaming programmed. It’s open source here: GitHub - Hye-Ararat/Image-Server: Ararat Image Server (compatible with LXD simplestreams). I also have an image builder tool which can be found here GitHub - Hye-Ararat/Image-Builder that generates images that it can auto-upload to the image server (although this is more useful for Hye Ararat than general Incus usage, as Hye Ararat supports single application containers which it does by manipulating the Incus API, and the builder is built more in-mind for generating single application images rather than full system images)
Documentation on installation of the Image Server is here Installation | Hye Ararat. You can skip the postgres database requirement and the .env file, as it uses sqlite now (but npx prisma db push is still a requirement). I’ll be updating the documentation once a stable build of Hye Ararat Yergu is released.
Hope this helps you setup your own Incus Image Server!
I just rebuilt my image (it had an issue) and now my Incus install is once again saying that the requested image couldn’t be found, despite the filetypes being correct.
I can’t seem to figure out why it doesn’t think I have any images. Any ideas?
The incus server caches the simplestreams data, so it’s quite possible that your cache contains the broken stream. If you don’t want to wait it out, you can try wiping the content of /var/cache/incus/ and then restart the daemon with systemctl restart incus