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 22469a4552
Update fix grafana and gitea builds
11 months ago
build Update fix grafana and gitea builds 11 months ago
roles Remove Drone CI 11 months ago
.gitignore Ignore src folders 1 year ago
Makefile Retab all the things 1 year ago Update state of service configurations 3 years ago
Vagrantfile Install Python2 which ansible requires 3 years ago
ansible.cfg Fix some deprecation warnings of ansible 3 years ago Remove incompatible restic plugin 11 months ago Sign certificates with custom root CA 3 years ago
hosts Fix SSH unreachable error 2 years ago
playbook.yml Remove Drone CI 11 months ago Merge backup and restore scripts 3 years ago
vagrant_playbook.yml Add missing dash 3 years ago
vault_vars.yml 🤐 2 years 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