Skip to content

Spring Cleaning 2019

Hello everyone,

A lot has happened since my last post but that can be considered a good thing as many improvements have been implemented as a result of my focus on the user experience.

For starters we reinstalled the operating systems on all three servers and went from Ubuntu 16.04 to Ubuntu 18.04 and we have also moved all the applications except the dashboard which is just served through plain old Apache rather than from a Docker container.

All other services are running in their own containers in Docker instances on all three servers. This enables us to efficiently deploy and manage individual services without having to worry about conflicts from requirements and dependencies between the various types of code.

Using a project called Ouroboros (a python based successor to watchtower as described in the project’s Github description) which monitors containers for updates to their images and autonomously redeploys the container(s) in question with the newest image available on the remote registry while maintaining parameters such as environment variables, network configurations and mounted volumes meaning you don’t lose any precious data or settings in the process.

Previously I had to regularly check for individual application updates and apply them with the hopes that nothing goes wrong, which does naturally go wrong from time to time causing unnecessary downtime and extra work for me.

If you’re curious, we went with Portainer for our management interface and so far I’m quite happy with the results. I was able to get a decent understanding of the basics in about two days and I am continuing to learn everyday as I familiarize myself with the software more.

Now, on another note, we have discontinued the use of our python based load distribution for the media server. This is largely due to the lack of support for the project and also due to the changes made to Plex Media Server by the developers which essentially limited us to versions 1.14.* and below (the changes in question occurred at version 1.15.*). Without the support of the load distribution code developer(s)/contributors I am unable to modify the existing code to continue to work due to my regrettably poor Python knowledge.

While there is an alternative project that supports versions 1.15.* and is actively being developed still, I haven’t had much success implementing the code having attempted four or five different times with different approaches. The project looks very promising and others have implemented it successfully however at this point I’d like to see the documentation mature a bit more before I do a deep dive and commit to getting it all setup and stable.

This means that we are running Plex on a single server which hasn’t appeared to cause issues but I have noticed a longer initial load time until the media playback begins when we get busy. Hopefully the performance for remote users hasn’t degraded to a point where the experience isn’t usable but statistics indicate this isn’t the case (yet).

Overall, we’ve got a fresh start on the servers with a clean method of serving up the various services users make use of. As usual, please make us aware of any issues you may encounter via the contact us page.

That’s all for now!

-LightSpeedTaco