I sort-of integrated Discourse with OpenEdx a long time ago (I started using Discourse when I was an instructional technology professsor in a college of education). Over the years, I’ve supported a few faculty in using Discourse, though I don’t think any of them used it directly for teaching.
I’m not sure what “plays well with Canvas” means to you. Mostly, things like Canvas work pretty hard to keep you from doing anything else. I did contrive to write a script that would take a CSV grading file from Edx, find whether students had created topics for assignments and whether I’d
ed them, and update the spreadsheet such that it could be uploaded back into the gradebook. Whether someone who doesn’t live at a shell command line could have used the script is not known.