[Unit]
Description=Keep the AGIBOT X2 dashboard and agent running

[Timer]
# A watchdog: run the idempotent launcher shortly after boot, then on every
# wall-clock minute. This is the crash-and-restart safety net, and it means
# neither the dashboard nor the ROS bridge depends on any external machine.
#
# OnCalendar (not OnUnitActiveSec) on purpose: the launcher is Type=oneshot and
# its background processes keep the unit reading "active", so an activity-relative
# timer never re-arms (NextElapse=infinity). A wall-clock schedule fires
# regardless of the service's state.
OnBootSec=30s
OnCalendar=*:*:00
Persistent=true
AccuracySec=5s

[Install]
WantedBy=timers.target
