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.
Traefik
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!
New Services
Hello to JDownloader and NZBHydra2. Both have been a treat to work with.
Agnostic Configurations
I made configuring all the services agnostic to updates by utilising lineinfile
and 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.
Backups
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.