Wanted: Docker Xibo, XMR, MySQL and Nginx on Ubuntu 16.04 or newer

Is there anybody out there that has a docker compose using Nginx instead of Apache with SSL included on Ubuntu 16.04 or later?? I am looking for any help or point me on the right direction.

Thanks in Advance for any help on the matter !!

The official containers use Apache. Do you mean you want a container that’s based on nginx? Or do you mean you want an nginx proxy sat infront of the official containers?

If you wanted a container based on nginx, then you’d need to author one, and then build the container. A docker-compose file on it’s own won’t help you to do that. You’d need to write a Dockerfile to build your container from, and then a docker-compose file to launch that.

If you mean you want to run nginx in front of the official containers, then there’s no reason you can’t do so.

Looks like I will be heading down the path of creating a dockerfile. I personally prefer nginx over apache. Do you have any gotchas about nginx over apache …

Thanks Alex for your valuable input.

1 Like

The gotchas you’ll face are Ubuntu 16.04 uses PHP7, which isn’t supported by Xibo currently, so you’ll need to downgrade to PHP 5.6, and get a working zmq module from somewhere for that.

Secondly, Apache uses the .htaccess file to define the URL rewriting rules that make the CMS work. If you use nginx, you’ll need to roll those in to your nginx configuration as nginx won’t pick them up from the .htaccess file.

http://xibo.org.uk/manual-tempel/en/install_environment.html#url_rewriting

You’ll only need to create the web container. The db and xmr containers don’t use Apache so there’s no need to create new variants of that.

If you do go this route, and later need support, please can you be clear that it’s your own docker container as otherwise we’ll assume they’re the official project ones - and since the environment in yours will be very different, we won’t know.

What I would say is that yes, I tend to prefer nginx too, but since almost every call to the CMS requires a PHP process to handle it, there’s far less of an overhead in running Apache with PHP built in to the web engine than there would be for a normal site where alot of the content is static/non-generated files, and only a small amount is PHP based. You may therefore find that the effort involved in building and maintaining your own distribution is of limited performance value.

1 Like

How many displays can the project based containers scale up to?

That’s a very hard question to answer, because the load put on the CMS depends very much on the way you use it.

Clearly if you set 1 minute collections, with content that changes every 2 minutes, stats on, scheduled screenshots on, that will put a very different load to Players configured to collect every 6 hours, with static content.

In “average” trim, I’d expect them to support 50 or so Players without too much trouble. It’s easy enough to make minor tweaks to their setup though by volume mounting in your own apache or MySQL configuration, and increasing the memory limits on the containers if you need more performance than they can currently offer.

Thanks Alex for your words and information on this.

1 Like