You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Linz 4457eef44a
Update prometheus to 2.11.1
6 days ago
build Update prometheus to 2.11.1 6 days ago
roles Update almost all services 8 months ago
.gitignore Ignore src folders 3 months ago
Makefile Retab all the things 6 months ago Update state of service configurations 2 years ago
Vagrantfile Install Python2 which ansible requires 1 year ago
ansible.cfg Fix some deprecation warnings of ansible 1 year ago Add important option 1 year ago Sign certificates with custom root CA 1 year ago
hosts Fix SSH unreachable error 1 year ago
playbook.yml Remove goaccess log analyzer 1 year ago Merge backup and restore scripts 1 year ago
vagrant_playbook.yml Add missing dash 1 year ago
vault_vars.yml 🤐 1 year ago


A series of articles about configuration managment at the example of Ansible.

By using a configuration management tool, the procedure necessary for bringing up a new server or updating an existing one will be all documented in the provisioning scripts.


  • Inventory stores information about your servers as INI file
  • Playbook is the entry point for Ansible provisionings (imagine it as a set of tasks)
  • Task defines a single procedure to be executed, e.g. updating the package cache
  • Module typically is a abstraction of a system task (more generalized task?)
  • Role is used to organize playbooks and other files for reuse
  • Play names a complete provision process, from start to finish
  • Facts are variables containing information about the system, e.g. OS, hostname etc.
  • Handlers trigger service status changes


The following list of services should be configured and deployed automatically:

  • caddy
  • gitea
  • prometheus
  • grafana
  • jupyter
  • postgres
  • pgweb
  • netdata, node_exporter