I looked into using Discourse to do something like this, but they refuse to reduce their memory usage (2GB minimum required, I think)