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