As some of you may already know, our server test instance has been running on Docker for a while now. It is working quite well and it brought many improvements and advantages over the old manually-managed instance.
I worked quite hard to make it working because I wanted to dedicate more time to the apps and less time to the server, the result is in this brand new repository on GitHub available for anyone to test out and play. Feel free to open issues or ask for help in the forum, we’ll help as much as we can.
Down to business: Kontalk will be moved to Docker and it will require a relatively short downtime, during which Kontalk will not be available. The available windows for this maintenance operation are:
2017-09-10 from 8:00 to 12:00 UTC (will be probably discarded because it’s too close)
2017-09-13 from 19:00 to 23:00 UTC
2017-09-16 from 20:00 to 24:00 UTC
2017-09-17 from 8:00 to 12:00 UTC
The window will be selected in the following days (sorry, real life stuff), but the actual downtime should be from 10 to 20 minutes. I already tested the procedure and automated everything that I could automate.
Other news will follow on this thread.
UPDATE: the selected window is Saturday 2017-09-23 from 15:00 to 19:00 CET.
Please tell me about actual strategy of using Docker for Kontalk: what it gives. Why did you decide to use containers? Why do you think it’s better than normal VMs?
First of all, sorry to you all, I couldn’t keep the planning with the dates of the moving, so it’s all been shifted to one day in the next week. I’ll plan it more carefully this time and notify it at least 3 days before.
Mainly because containers are much cheaper than VM, and this is a central point for a project like this. Also, since Kontalk is a relatively simple project (as in its architecture) I think managing the 3 services (will become 2 soon) as containers is much more manageable than having a whole operating system with 3 services. They are isolated services from the rest of the system, rebuildable from scratch in seconds and easier (and smaller) to backup.
Sure we could have built something like Vagrant-driven or Puppet-driven to reproduce VM creation, but containers (especially Docker ones) focus on being cheap and disposable, and distribution indipendent (you can host them on any Linux distro).
The selected maintenance window will be this saturday, 2017-09-23, from 15:00 to 19:00 CET.
News on the procedure will be posted on this thread and on the social channels.
I can confirm the Docker migration was successful and Kontalk is correctly running on Docker!
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
beta_db docker-entrypoint.sh mysqld Up 3306/tcp
beta_httpupload /home/kontalk/entrypoint.sh Up 0.0.0.0:7828->8828/tcp
beta_xmpp /home/kontalk/entrypoint.sh Up 0.0.0.0:5999->5222/tcp, 0.0.0.0:8443->5223/tcp, 0.0.0.0:6999->5269/tcp