I don’t know if you can really use that word to say, that every development platform you are using is running within docker container but I will.
2 major changes
I’m pleased to announce you that, from now, and for this 101 published blog post ive taken major measure.
- The first one and you already saw it. This blog will be in english.
- And the second one, I’ve migrated all my environments within docker.
But where is brian ?
In the kitchen with his umbrella. Don’t panic, this blog hasn’t been hacked by an english black hat (not for the moment) bu I’ve decided to switch the language I use on it.
Why ? To practice my english writing skills. I listen a lot of english podcast so I’m used to listen english voices, I read every book in english too, but I have only scarce opportunities to speak or to write. Speaking in english at my office will surprise my colleagues (all french) but I have the possibility to write here so why not.
This will accompany the change already made in the subjects I’m talking about here. If you don’t see what I’m talking about, this blog has become a dev diary and will stay like this (til I change my mind again :)).
Part of last week was kind of stressful but now everything works well with a pretty noise of purring cat.
A few month ago, at my day job, we migrated from the classic lamp environment (Linux Apache Mysql Php) to a brand new docker environment. Since then every service I run on my computer are using some custom docker environment.
- One for nginx-proxy
- One for mysql
- Many for php-apache services
- One for gitlab
- One for elastic search + kibana
- Many for elastic nodes (beats, logstash)
And I felt in love for this kind of environment. The thing I love the most is that once ok for a container, you can deploy it everywhere and be sure that it will run successfully. Deliverability is great, scripting/playing with deployable environment is great, I love using docker.
Next step was to do the same on my linux laptop, my dev environment for Podmytube. Podmytube is composed of multiple small projects.
- The back office
- The website
- The dashboard
- The database
- The test platform
- Some small services for thumbs, episodes, podcasts and playlists
For all those environments I created docker containers to run my night job. It takes some time and that’s the reason why features were slowly delivered within Podmytube (but this will change soon 🙂 ).
Last step, finally, was too migrate the prod environment, the one my customers are using everyday, the one which is hosting this blog you are reading. And again I had to create migrating shell scripts, docker-compose.yml and Dockerfiles.
- One for some blogs I’m hosting (this one is part of it)
- Handle SSL certificates
- Migrating databases for every hosted service
- Changing backup programs
- And some other fun stuff like playing with dns.
Everything went well but SSL certificates. I don’t know why but using nginx-proxy with its let’s encrypt companion was buggy under ngninx-proxy:latest. I spent a lot of time trying to understand what I did wrong, fighting with cloudflare dns and cache. All this to realize that using nginx-proxy:alpine was solving this certificates problem.
Now, everything is running fine, podcasts are generated, services are backuped, and can I breath again.
On the next week :
- Stripe online payments will be properly handled
- Email will be sent to inform my customer that he has to upgrade if he want to add his/her newly episode to his/her podcast.
- and after …
I have some features in mind to improve Podmytube but I will ask my customers which one to develop first.
Have a nice week !