{% extends "base.html" %} {% from "macros.html" import field, select, check, csrf_field %} {% block title %}Einstellungen{% endblock %} {% block content %}

Einstellungen

{{ csrf_field(csrf) }}
Protokoll
{{ field('retention_days', 'Aufbewahrung (Tage)', cfg.retention_days, type='number', errors=errors, attrs='min="1" max="3650"') }}
Benachrichtigungen ?
{{ select('notify_mode', 'Benachrichtigen', [('off', 'nie'), ('every', 'bei jedem fehlgeschlagenen Lauf'), ('after_n', 'nach N Fehlschlägen in Folge')], cfg.notify_mode.value, errors=errors, hint='Gilt für Webhook und E-Mail. Ausfälle von Anbindungen werden immer sofort gemeldet (außer bei „nie“).') }}
{{ field('notify_after', 'N', cfg.notify_after, type='number', errors=errors, attrs='min="1"') }}
{{ check('notify_recovery', 'Entwarnung senden, wenn es wieder läuft', cfg.notify_recovery, wide=true) }}
Webhook
{{ field('webhook_url', 'Webhook-URL', mask_url(cfg.webhook_url), errors=errors, wide=true, placeholder='https://ntfy.sh/mein-topic', hint='Leer = kein Webhook. Wird nur gekürzt angezeigt; unverändert lassen = behalten.') }} {{ field('webhook_content_type', 'Content-Type', cfg.webhook_content_type, errors=errors) }}
Platzhalter: $event $title $message $rule $time $host – bei JSON automatisch maskiert.
E-Mail
{{ check('email_enabled', 'E-Mail-Benachrichtigung einschalten', cfg.email_enabled, wide=true) }} {{ field('smtp_host', 'SMTP-Server', cfg.smtp_host, errors=errors, placeholder='smtp.example.org') }} {{ field('smtp_port', 'Port', cfg.smtp_port, type='number', errors=errors, attrs='min="1" max="65535"', hint='587 (STARTTLS) oder 465 (SSL)') }} {{ select('smtp_security', 'Verschlüsselung', [('starttls', 'STARTTLS'), ('ssl', 'SSL/TLS'), ('none', 'keine (nur interne Relays)')], cfg.smtp_security, errors=errors) }} {{ field('smtp_user', 'Benutzer', cfg.smtp_user, errors=errors, attrs='autocomplete="off"', hint='leer = ohne Anmeldung') }}
{{ 'Leer lassen = unverändert.' if cfg.smtp_password_enc else '' }} Wird verschlüsselt gespeichert.
{{ field('smtp_from', 'Absender', cfg.smtp_from, errors=errors, placeholder='netmover@example.org') }} {{ field('smtp_to', 'Empfänger', cfg.smtp_to, errors=errors, wide=true, placeholder='ich@example.org, admin@example.org', hint='mehrere mit Komma getrennt') }}
Überwachung (Uptime Kuma) ?
{{ field('kuma_push_url', 'Push-URL (Kuma-Monitor vom Typ „Push“)', mask_url(cfg.kuma_push_url), errors=errors, wide=true, placeholder='https://kuma.lan/api/push/AbCdEf?status=up&msg=OK&ping=', hint='NetMover meldet jede Minute den Zustand. Leer = aus. Wird nur gekürzt angezeigt.') }}
Adressen für HTTP-Monitore (Kuma fragt NetMover ab) {% for label, url in monitor_urls %}{% endfor %}
{{ label }}{{ url }}

200 = in Ordnung, 503 = Problem. Ohne Anmeldung erreichbar.

Passwort ändern

{{ csrf_field(csrf) }}

Anmeldung ?

{{ csrf_field(csrf) }}
{{ select('auth_mode', 'Anmeldung erforderlich', [('always', 'immer (empfohlen)'), ('trusted', 'nicht aus vertrauten Netzen'), ('off', 'nie')], cfg.auth_mode) }}
Mit Komma getrennt. Deine Adresse gerade: {{ client_ip }}. Von allen anderen Adressen wird weiter nach dem Passwort gefragt.

NetMover läuft als root und kennt die Zugangsdaten deiner Freigaben. Ohne Anmeldung kann jeder, der die Oberfläche erreicht, Anbindungen und Regeln ändern. „Nie“ nur hinter einem Reverse Proxy mit eigener Anmeldung (z. B. Authelia) verwenden. Hinter einem Proxy außerdem NETMOVER_FORWARDED_ALLOW_IPS setzen, sonst sieht jede Anfrage aus, als käme sie vom Proxy.

{% if loopback_trusted %}

Die Liste enthält 127.0.0.1/::1. Läuft ein Reverse Proxy auf diesem Server, gilt dann jede Anfrage über den Proxy als vertrauenswürdig.

{% endif %}

Export / Import

Export enthält Anbindungen, Regeln und Einstellungen – ohne Zugangsdaten und Webhook-URL. Beim Import werden vorhandene Namen übersprungen; importierte Regeln sind zunächst deaktiviert.

Konfiguration exportieren
{{ csrf_field(csrf) }}
{% endblock %}