{% extends "base.html" %} {% import "_macros.html" as m %} {% set editing = original_name is not none %} {% block title %}{{ "Edit" if editing else "New" }} group β€” rosbackup-ng{% endblock %} {% block page_title %}{{ "Edit group" if editing else "New group" }}{% endblock %} {% block head_actions %}← Groups{% endblock %} {% block content %}
{% if error %}{% endif %}

A device belongs to this group if it is an explicit member or its tags match. Capability overrides can only restrict a member (deny-wins) β€” they never re-grant what the global settings forbid.

πŸ‘₯ Membership
{{ m.tag_input('members', members_text, all_targets, 'add a device…') }} {{ m.tag_input('match_tags', match_tags_text, all_tags, 'add a tag…') }}
πŸ” Web capabilities
{% for cap, label in [('allow_download', 'Download backups'), ('allow_restore', 'Push-restore')] %} {% set cur = group.get(cap) if group else none %} {% endfor %}
πŸ—‚οΈ Storage override
{% set sel = (group.get('storage') or []) if group else [] %}

Remote destinations for this group's devices. Leave unchecked to inherit the global default. A device's own storage override takes precedence over the group.

{% if storage_destinations %} {% for d in storage_destinations %} {% endfor %} {% else %}

No remote destinations defined yet. Add one β†’

{% endif %}
{% if editing %}

Danger zone

Removing a group only edits global.yaml β€” devices and their backups are untouched.

{% endif %} {% endblock %}