Up to date practices, new services, monitoring, logging, backups and heap of other improvements.
Read about the playbook in my previous post
Find the update over at GitHub
Back in May, I developed an Ansible Playbook that deployed my Usenet environment in Docker containers. It deployed all the popular services like NZBHydra, Sonarr and CouchPotato in a repeatable, configurable and predictable manner thanks to Ansible and Docker.
Goodbye to NGINX and docker-gen restarting it. Traefik is a reverse proxy and load balancer that is built for microservices. It configures itself automatically and dynamically. The only thing required is to put a URL label on your Docker containers and Traefik will do the rest. It also automatically generates Let's Encrypt SSL certificates!
Hello to JDownloader and NZBHydra2. Both have been a treat to work with.
I made configuring all the services agnostic to updates by utilising
blockinfile. This way, if a new feature is released and the playbook runs again, only specific lines are replaced instead of the entire configuration which was previously done using Jinja.
For cases where agnostic configurations can't be utilised (e.g. Sonarr's database), the
docker-backup container will backup all data daily to any location specified. It's defaulted to keep only only the last 4 daily backups.
Logging and Monitoring
Logz.io and Datadog both provide free monitoring and logging services which are more than adequate to track the services deployed. Both of their containers are included and are easily configurable.