--- - hosts: all vars: base_port: 41080 notes_port: "{{ base_port + 1 }}" dayoff_port: "{{ base_port + 2 }}" homepage_port: "{{ base_port + 3 }}" netdata_port: "{{ base_port + 4 }}" wiki_port: "{{ base_port + 5 }}" vars_files: - vars/vars.yml tasks: - name: 'Install additional packages.' apt: name: '{{ packages }}' update_cache: yes vars: packages: - git - python3-pip - acl - import_role: name: yatesr.timezone vars: timezone: UTC - import_role: name: geerlingguy.security vars: security_ssh_permit_root_login: "yes" security_autoupdate_enabled: "no" security_fail2ban_enabled: "yes" - name: 'Install python docker lib.' pip: name: docker tags: - docker - import_role: name: geerlingguy.docker tags: - docker - name: 'Ensure networkd service is started (required by Caddy).' systemd: name: systemd-networkd state: started enabled: true tags: - webserver - import_role: name: caddy_ansible.caddy_ansible vars: caddy_github_token: '{{ caddy_vars.github_token }}' 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.38.1' netdata_exposed_port: '{{ netdata_port }}' tags: - monitoring # Applications - import_role: name: docker-app vars: username: homepage extra_groups: - docker ssh_keys: - '{{ lookup("file", "files/av_id_rsa.pub") }}' env: DOCKER_PREFIX: homepage PROJECT_NAME: homepage IMAGE_PREFIX: homepage CONTAINER_PREFIX: homepage WEB_SERVER_PORT: '127.0.0.1:{{ homepage_port }}' 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 - import_role: name: docker-app vars: username: wiki extra_groups: - docker ssh_keys: - '{{ lookup("file", "files/av_id_rsa.pub") }}' env: PROJECT_NAME: wiki DOCKER_PREFIX: wiki IMAGE_PREFIX: wiki CONTAINER_PREFIX: wiki WEB_SERVER_PORT: '127.0.0.1:{{ wiki_port }}' tags: - apps