--- - name: Server setup block: - name: Ensure server common packages are installed ansible.builtin.package: name: - openssh-server state: present become: true - name: Include JuiceFS tasks ansible.builtin.include_tasks: juicefs.yml tags: - juicefs - name: Include service tasks ansible.builtin.include_tasks: "services/{{ item.name }}/{{ item.name }}.yml" loop: "{{ services | selectattr('enabled', 'equalto', true) | selectattr('hosts', 'contains', inventory_hostname) | list if specific_service is not defined else services | selectattr('name', 'equalto', specific_service) | selectattr('enabled', 'equalto', true) | selectattr('hosts', 'contains', inventory_hostname) | list }}" loop_control: label: "{{ item.name }}" tags: - services vars: services: - name: caddy enabled: true hosts: - mennos-cloud-server - mennos-server - name: karakeep enabled: true hosts: - mennos-cloud-server - name: golink enabled: true hosts: - mennos-cloud-server - name: immich enabled: true hosts: - mennos-cloud-server - name: gitea enabled: true hosts: - mennos-cloud-server - name: jellyfin enabled: true hosts: - mennos-cloud-server - mennos-server - name: seafile enabled: true hosts: - mennos-cloud-server - name: uptime-kuma enabled: true hosts: - mennos-cloud-server - name: factorio enabled: true hosts: - mennos-cloud-server - name: dozzle enabled: true hosts: - mennos-cloud-server - name: beszel enabled: true hosts: - mennos-cloud-server - name: downloaders enabled: true hosts: - mennos-server - name: wireguard enabled: true hosts: - mennos-cloud-server - name: echoip enabled: true hosts: - mennos-cloud-server - mennos-server - name: arr-stack enabled: false hosts: - mennos-cloud-server - name: home-assistant enabled: true hosts: - mennos-server - name: privatebin enabled: true hosts: - mennos-server - name: unifi-network-application enabled: true hosts: - mennos-cloud-server