{% extends "base.html" %} {% import "_macros.html" as m %} {% block title %}Groups — rosbackup-ng{% endblock %} {% block page_title %}Groups{% endblock %} {% block head_actions %}+ Add group{% endblock %} {% block content %}

Groups bundle devices by explicit membership and/or matching tags. They scope backup runs and schedules, and can restrict web capabilities (download / restore) for their members.

{% if groups %}
{% for g in groups %} {% set raw = raw_groups.get(g.name, {}) %} {% endfor %}
GroupMembersMatchesMatchDownloadRestore
{{ g.name }} {{ m.count_pill(g.count, '/targets?group=' ~ (g.name|urlencode), g.count ~ ' device(s)') }}{% if raw.get('members') %} ({{ raw.members|length }} explicit){% endif %} {% if raw.get('match_tags') %}{{ m.chips(raw.match_tags, 6) }}{% else %}{% endif %} {% if raw.get('match_tags') %}{{ 'all' if raw.get('match') == 'all' else 'any' }}{% else %}{% endif %} {{ m.cap_chip(raw.get('allow_download')) }} {{ m.cap_chip(raw.get('allow_restore')) }} {{ m.icon_edit('/groups/' ~ (g.name|urlencode) ~ '/edit') }} {{ m.icon_delete('/ui/groups/' ~ (g.name|urlencode) ~ '/delete', 'Delete group “' ~ g.name ~ '”? Devices and backups are untouched.', 'Delete group') }}
{% else %}

No groups defined. Add one →

{% endif %}
{% endblock %}