Updates to Ansible Playbook for Usenet Docker containers

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.