I was playing around for a good part of today and stumbled across ROCKET.CHAT, which is really awesome for SMBs. Rocket.Chat fully supports AD and LDAP with restrictions and inclusions which makes it the perfect product for any SMB. However, the design is bittersweet and the product mocks Slack's GUI. I'm leaning towards implementing it to replace OpenFire/Spark at the moment. Rocket.chat also has video/audio conferencing built in. It's around 10 mins to setup/configure, as well as testing the Rocket.Chat android/windows apps with your container.
Docker Toolbox: https://www.docker.com/products/docker-toolbox
Docker CE For Windows: https://store.docker.com/editions/community/docker-ce-desktop-windows?tab=description
Once these two are installed, you'll probably have to reboot in order to setup containers. Once back into Windows, launch powershell and run:
$docker run --name db -d mongo:3.0 --smallfiles
$docker run --name rocketchat --link db -d rocket.chat
$docker run --name rocketchat -p 80:3000 --env ROOT_URL=http://localhost --link db -d rocket.chat
$docker run --name rocketchat -p 80:3000 --env ROOTURL=http://localhost --env MONGOURL=mongodb://mymongourl/mydb -d rocket.chat
Once this is completed, open up Kitematic (Docker Toolbox). You'll have the option to change ports and start/stop the mongo and rocket.chat instances. At this point, you can tie in DNS if needed.