Upgrading your Docker Apps: MongoDB, Wekan, and Rocket.Chat

View recent blog entries

(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!).

I'd recommend doing an upgrade monthly or more rapidly if you hear about security issues, or fixes to any bugs which might be affecting you.

Upgrading Step By Step

1. find the 3 IDs of the mquandalle/wekan, rocketchat/rocket.chat, and mongo containers you're running via

docker ps

The output might look something like this:

5c35737f4de2      mongo                         "/entrypoint.sh mongo"   45 hours ago        Up 45 hours         27017/tcp                                        oeru-mongo
7e8ef524ba0a        mquandalle/wekan              "/bin/sh -c 'bash $ME"   45 hours ago        Up 45 hours         127.0.0.1:5555->80/tcp                           plan
b370ad72f358        rocketchat/rocket.chat        "node main.js"           45 hours ago        Up 45 hours         127.0.0.1:7996->3000/tcp                         chat

in this case, the relevant IDs are 5c35737f4de2, 7e8ef524ba0a, and b370ad72f358

2. Stop the containers:

docker stop 5c35737f4de2 7e8ef524ba0a b370ad72f358

3. Remove the old containers (not the images):

docker rm 5c35737f4de2 7e8ef524ba0a b370ad72f358

4. Update the images to the latest versions for each.

docker pull mongo
docker pull mquandalle/wekan
docker pull rocketchat/rocket.chat

5. restart updated MongoDB (create new container) using the same "docker run" command you used initially.

6. similarly restart your updated Rocket.Chat and Wekan containers, using exactly the same "docker run" command you used initially.