{% extends "base.html" %} {% block title %}Vigilar — Settings{% endblock %} {% block head %} {% endblock %} {% block content %}
Settings
Saved
Arm / Disarm

Control the security system arm state. When armed, sensor and motion events trigger alerts.

Disarmed: No alerts triggered. Arm Home: Perimeter sensors active, interior motion ignored. Arm Away: All sensors and cameras trigger alerts.

Camera Configuration
{% for camera in cameras %}
{{ camera.display_name }}
Frames/sec when no motion
Frames/sec during motion
{% endfor %}
Motion Detection

Adjust motion detection sensitivity per camera. Higher sensitivity detects smaller movements but may trigger false positives.

{% for camera in cameras %}
{{ camera.display_name }}
{{ (camera.motion_sensitivity * 100)|int }}%
Less sensitive More sensitive
Minimum pixel area to count as motion
Seconds of video before motion trigger
Keep recording after motion stops
{% endfor %}
Sensor Configuration

Sensors are configured in config/vigilar.toml. Sensor management UI coming in a future update.

{% if config %}
{% for s in config.sensors %} {% else %} {% endfor %}
IDNameTypeProtocolLocation
{{ s.id }} {{ s.display_name }} {{ s.type }} {{ s.protocol }} {{ s.location or '—' }}
No sensors configured
{% endif %}
Push Notifications (PWA)

Enable push notifications on this device to receive motion alerts.

{% if config %}
Email Alerts
Webhook
Local Alerts
{% endif %}
Storage
{% if config %}
Hard cap — oldest recordings pruned when exceeded
Always keep this much free on the disk
AES-256 encryption at rest (.vge files)
Change via config file (requires restart)
{% endif %}
UPS Monitoring (NUT)
{% if config %}
Alert when battery drops below this
Begin shutdown when runtime falls below
Grace period before system poweroff
{% endif %}
Remote Access via WireGuard Tunnel

Access Vigilar from outside your home network via a WireGuard VPN tunnel to your Digital Ocean droplet. A lower-quality HLS stream is generated specifically for remote viewing to conserve your upload bandwidth.

{% if config %}
Your home internet upload speed
Per-camera bitrate for remote stream
0 = unlimited
Estimated bandwidth per viewer: {{ (config.remote.remote_hls_bitrate_kbps * cameras|length / 1000)|round(1) }} Mbps ({{ cameras|length }} cameras x {{ config.remote.remote_hls_bitrate_kbps }} kbps) • Max concurrent: ~{{ (config.remote.upload_bandwidth_mbps * 1000 * 0.8 / (config.remote.remote_hls_bitrate_kbps * [cameras|length, 1]|max))|round(0)|int }} viewers at 80% of {{ config.remote.upload_bandwidth_mbps }} Mbps upload
{% endif %}
Setup Instructions
  1. On both home server and DO droplet, run: remote/wireguard/setup_wireguard.sh
  2. Exchange public keys between home server and droplet
  3. On the droplet, install nginx and copy remote/nginx/vigilar.conf to /etc/nginx/sites-available/
  4. Run certbot --nginx -d vigilar.yourdomain.com for TLS
  5. Verify: ping 10.99.0.2 from droplet should reach home server
  6. Access your system at https://vigilar.yourdomain.com
Web Server
{% if config %}
Port and bind address changes require a restart to take effect.
{% endif %}
MQTT Broker
{% if config %}
MQTT changes require a full system restart.
{% endif %}
System
{% if config %}
{% endif %}
System Info
{% if config %} {% endif %}
Version0.1.0
Cameras{{ cameras|length }}
Sensors{{ config.sensors|length }}
Rules{{ config.rules|length }}
Data Dir{{ config.system.data_dir }}
Recordings Dir{{ config.system.recordings_dir }}
HLS Dir{{ config.system.hls_dir }}
Encryption{{ 'Enabled' if config.storage.encrypt_recordings else 'Disabled' }}
UPS{{ 'Enabled' if config.ups.enabled else 'Disabled' }}
{% endblock %} {% block scripts %} {% endblock %}