Multiple CMS in Xibo 1.8.0 (Docker) and upgrade from 1.7.9

Hello all,

We have been using Xibo for a while. In our current version (1.7.9 on webserver) we have multiple separated CMS’s like:

http://www.ourdomain.com/companyA

http://www.ourdomain.com/Dcompany

For the extra features in 1.8.0 we are planning to upgrade both our clients and our server to 1.8.0.

Before we start this, we want a couple of things cleared up. Like:

  • How do we upgrade from our current 1.7.9 to 1.8.0 with Docker? Is there an easy way for it?
  • How do we accomplish the same way of organizing our different CMS’s as we do with 1.7.9?

Thanks for the tips and tricks in advantage.

Upgrading from 1.7.9 to 1.8.0 with Docker is covered in the manual, and there’s at least 2 threads about it from this week on here as well.

If you have specific questions once you’ve read that, I’ll try and help you as I can.

In terms of organising your CMS instances as you describe, you would make multiple directories - one for each of the instances, and then run the Docker conversion inside each.

You’ll need to have them all running on custom ports, so you’ll need to read the section in the manual to see how to configure that.

Once you have your CMS instances converted, you’ll have something like this:

http://127.0.0.1:8081 -> Company A
http://127.0.0.1:8082 -> Company B
http://127.0.0.1:8083 -> Company C

What you then do, is put Apache or NGINX infront of those listening on port 80/443 depending on whether or not you use SSL.

That instance will be setup to listen for “http://www.ourdomain.com”, and will have directories set to proxy connections back to the local Docker instances.

So when a request hits http://www.ourdomain.com/CompanyA, the frontend Apache/NGINX will proxy that request to http://127.0.0.1:8081 for example.

Regarding the database, which is the best option in terms of organization/security/performance?

  1. Perform a regular install of the first CMS, manually create new database for each other installation in MySQL of the first docker deployment and point the other CMS to their database

  2. Perform a regular install of each CMS, with separated MySQL containers, one for each deployment

  3. Make a manual install of MySQL and point each CMS installation to a database on the only MySQL service

Thank you

2 is your easiest option. 3 would be slightly better from a memory usage point of view, but defeats some of the separation protection Docker offers you. Definitely not option 1.