1) Install Sandstorm (curl https://install.sandstorm.io | bash)
2) Install Rocket Chat (one click)
3) Set up a domain. Done
Regarding maintenance: I set it up 2 months ago and it's still running smoothly.
People underestimate the costs of "rolling your own" or even going FOSS. It's absolutely never "set it and forget it."
Most of these services that charge nominal fees ($5 - $100/mo) are interesting because you don't have to control your own support procedure and ostensibly they're build to scale.
Have you tried Sandstorm? It is in fact designed to be "set it and forget it" -- that's a major goal of the project. Everything auto-updates, you never have to edit config files, it can configure DNS and fetch/renew SSL certificates automatically, installing new apps takes one click, etc.
(Disclosure: I'm the lead developer.)
For individual users and small companies, single-machine Sandstorm is pretty reliable, but it's true we don't automate kernel updates yet (which will require scheduling reboots for off-hours). We'll add that eventually.
(Sorry for all the vaporware.)
That being said, to roll your own you'll need to run a box somewhere, select secure defaults, and keep on top of patching the box itself. It's not worth it unless you're really willing to spend the time to do it correctly.
That said, we plan to build a "Sandstorm OS" that auto-updates everything including the kernel, and doesn't even have an SSH interface (wouldn't be useful anyway).
How many man-hours am I going to spend fracking around Rocket Chat, Mattermost, and Sandstorm?
I think I'd much prefer just paying Slack to worry about that for my hypothetical new business with 10 employees. 6.67 * 10 * 12 = $800/annum.
Peanuts. Especially compared to the value of my time or my employees time.