As you are considering multiple alternative stacks, may I suggest Mattermost? Runs decently across all major client OSes, supports Slack-style hooks and thanks to multi-team capability can also be used to further the development of other OSS projects.