---
- hosts: all
  vars:
    notes_port: 41080
    dayoff_port: 41081
  vars_files:
    - vars/vars.yml

  tasks:

    - name: 'Install additional packages.'
      apt:
        name: '{{ packages }}'
        update_cache: yes
      vars:
        packages:
          - git
          - python3-pip

    - import_role:
        name: yatesr.timezone
      vars:
        timezone: UTC

    - import_role:
        name: geerlingguy.security
      vars:
        security_ssh_permit_root_login: "yes"
        security_autoupdate_enabled: false
        security_fail2ban_enabled: false

    - name: 'Install python docker lib.'
      pip:
        name: docker

    - import_role:
        name: geerlingguy.docker

    - import_role:
        name: caddy_ansible.caddy_ansible
      vars:
        caddy_config: '{{ lookup("template", "templates/Caddyfile.j2") }}'
        caddy_update: False
        caddy_setcap: True
        caddy_systemd_capabilities_enabled: True
        caddy_systemd_capabilities: "CAP_NET_BIND_SERVICE"
      tags:
        - webserver

    - import_role:
        name: netdata
      vars:
        netdata_version: 'v1.31.0'
      tags:
        - monitoring

    # Applications

    - import_role:
        name: docker-app
      vars:
        username: homepage
        extra_groups:
          - www-data
          - docker
        ssh_keys:
          - '{{ lookup("file", "files/av_id_rsa.pub") }}'
        env:
          DOCKER_PREFIX: homepage
      tags:
        - apps

    - import_role:
        name: docker-app
      vars:
        username: dayoff
        extra_groups:
          - docker
        ssh_keys:
          - '{{ lookup("file", "files/av_id_rsa.pub") }}'
          - '{{ lookup("file", "files/dayoff_id_rsa.pub") }}'
        env:
          DOCKER_PREFIX: dayoff
          PROJECT_NAME: dayoff
          IMAGE_PREFIX: dayoff
          CONTAINER_PREFIX: dayoff
          WEB_SERVER_PORT: '127.0.0.1:{{ dayoff_port }}'
      tags:
        - apps