For our n0r1skcom/echo DockerHub image we wanted to add a gif (see above) with console output to the corresponding GitHub project README.
But that wasn’t that easy as we thought because GitHub caches images with atmos/camo and that brings in some problems with bigger gif’s…
So we had to disable image caching via the http headers of our source image but these images are located in our WordPress media library and we didn’t want to disable image caching in general.
The solution for us was to configure the serving webserver (in our case Apache) to set some caching/expiry headers via LocationMatch directive and a fancy regex.
Our regex includes all pictures with the filename prefix “nocache_” – so every other image uploaded isn’t touched in any way.
Apache configuration sample
Header set Cache-Control "no-cache"
Header set Pragma "no-cache"
Header set Expires "Sun, 01 Jan 1984 00:00:00 GMT"
Most of the time when we try to look at some new software we catch some bugs, have compatibilty problems and so on.
Let me give an example:
We work with a Ubuntu Desktop on an virtual environment and wanted to upgrade it to the newest 17.04 release because our main working tool (terminator) crashed every once in a while letting you sit there without your already opened ssh sessions to many servers or with open vi’s with configuration files / script code / …
Upgrading wasn’t that problem – we used the software updater and everything was fine. Until our monitoring software (zabbix) wrote us an e-mail about a problem with our configuration management agent (puppet) – and BAM, there was the first problem…
So i wanted to install a new puppet agent via the puppet debian repositories -> actually no debian package for ubuntu 17.04…
Next problem -> the upgrade also removed the old puppet package which included facter -> so our monitoring reported a backup problem, because our backup script uses facter variables… the backup works but the monitoring part isn’t…
That’s only one single example but especially when it comes to docker, which is really a great enhancement for IT in general, there are bugs and error’s (not only docker itself) everywhere.
So, getting a system up and running with quality is really hard work with lot’s of testing, searching, reading & implementing.
For me, my part is to raise quality by trying to get any system to a certain standard which includes backup / monitoring / configuration management & scripts for automation. I think these are four of the many important things when developing new systems.
This is our “next generation” blog – hopefully it survives a little longer than the last ones. 😀
Mario & i (Bernhard) will try (once again) to let the world know a little about what is going on in our IT world. We’ll try to write something about Docker / LoadBalancing / OpenSource and so on…
It would be nice if you follow us – stay tuned!