Yes, I know, draw.io theoretically isn't entirely open source, but the source code is available and it can be self-hosted. Honestly, that's good enough for me, I think I can make an exception for this one. But generally I care a lot about strictly using FOSS too. It can also be integrated with Nextcloud: https://apps.nextcloud.com/apps/drawio