Install Rocket.Chat on Ubuntu 20.04 via Docker Compose
This post is a companion to our video tutorial on installing Rocket.Chat 4.x on an Ubuntu 20.04 server via Docker Compose.
We start with a Docker Compose-configured server. You can also see our video tutorials on how to create one: complete, or starting from a DigitalOcean 'snapshot'.
Hourly versioned MongoDB backup
Because the collaboration of an open community is its real history, I place a high value on backing up the Rocket.Chat servers I'm responsible for, and especially the data they generate, held in MongoDB files (on the host) managed by a MongoDB container.
To do that reliably, I have set up a bash script which does an hourly backup of all MongoDB "databases" and automatically maintains 24 hourly, 7 daily, 4 weekly, 12 monthly, and 7 yearly snapshots of the databases.
Upgrading RocketChat to 1.0.x and MongoDB to 4.0
With the recent release of Rocket.Chat 1.0.x (after a couple years undergoing development at a fairly blistering pace), it's time for many of us to upgrade!
Previously, I showed how to install Rocket.Chat via Docker Compose but that was a much earlier version of Rocket.Chat and version 3.4 of MongoDB, which is now quite old (by FOSS standards at least). And it turns out upgrading everything has a few gotchas, so here's how I managed to do it.
Docker Compose: A better way to deploy Rocketchat, Wekan, and MongoDB
A few months back, I posted instructions on deploying Rocket.Chat and Wekan instances (and their mutual dependency, MongoDB) individually. Since then, I've spent some time with Docker Compose, a set of scripts which help you to define, build, and manage a set of Docker containers. Docker Compose is a thing of beauty. This is the way I now deploy Rocket.Chat, Wekan, and MongoDB together.
Installing Rocket.Chat with Docker on Ubuntu Linux 14.04
Rocket.Chat is a modern, open source messaging application which is functionally similar to a popular (and heavily marketed) proprietary tool called Slack.
Upgrading your Docker Apps: MongoDB, Wekan, and Rocket.Chat
(Update 2017-05-24: see an easier way to run Wekan, Rocketchat, and MongoDB) You may not have all of these installed, but if you're running Wekan or Rocket.Chat based on our instructions, you'll also have MongoDB, and the need to keep them all up-to-date to benefit from their rapid development processes (quick bug fixes and new and improved features every few days!).
Installing Wekan with Docker on Ubuntu Linux 14.04
Wekan is an excellent, easy-to-use "kanban board" project management support tool, suitable for all manner of projects. For those who have used the highly marketed Trello kanban service, Wekan is functionally similar open source alternative that organisations can host and control for themselves. They can also enhance it in whatever ways they are moved to do so. We encourage our partner institutions to consider this path as a way of reducing costs as well as increasing freedom and privacy.
Installing MongoDB with Docker on Ubuntu Linux 14.04
This post describes installing MongoDB (and backing it up and restoring from backup) in a Docker container on an Ubuntu Linux 14.04 virtual machine. (Update: 2017-05-24 we've just published an easier way to run MongoDB and Rocket.Chat and Wekan which depend on it)