I've been running a small Synapse instance (for me and one other person) for about 4 years now. I initially set it up just to play with Matrix, but it's become the main way the two of us communicate via our phones.
I was amazed at how simple it was to setup and how stable it's been! The only times it has gone down (only two or three times if I remember) was when Postgres updated, so I had to manually migrate the database. I'm running it all with docker now so I don't anticipate any more of those issues. I do only have two users on it so I don't have to worry about tuning like a larger instance, but I've still been impressed!