Fix Let's Encrypt certificate renewal

Last month I received an email from Let's Encrypt stating that my certificate would have expired in 20 days. I immediately thought it was weird because I set automatic renewal in a crontab job running every night with the following command (suggested by the official guide): certbot-auto renew --quiet --no-self-upgrade --pre-hook "service nginx stop" --post-hook "service nginx start" As a consequence, 30 days before the expiration, certificate is renewed and [Read More]

Automatically update self-hosted Ghost

Ghost is wonderful, but every time they publish a new version there are too many steps to perform in order to complete the upgrade. Since doing it manually is boring and prone to errors, I created an easy script that does the dirty job for you. It only needs the version number you want to upgrade to and you're done: ./ 0.11.4 Of course it doesn't [Read More]

Upstart scripts for Gunicorn and tmux

A short time ago, I worked on a web application that need both Gunicorn (behind a proxy server, like nginx) and some external scripts executed in a tmux session. The web application is deployed on a university lab's server, which was often down, mostly due to the overloading created by the A/C operating full-time in this season. As a consequence there was the need to login and start the [Read More]