secubox-deb/packages/secubox-eye-remote
CyberMind-FR 24000d67ea fix(services): add RuntimeDirectoryPreserve=yes to 96 secubox-* units
Hub + portal stayed `inactive (dead)` on real-hardware boot. The
journal error was `Failed to set up mount namespacing: /run/systemd/
unit-root/run/secubox: No such file or directory` at the NAMESPACE
step. Root cause: 96 services declare `RuntimeDirectory=secubox`
without the matching `RuntimeDirectoryPreserve=yes`. When any of them
stops (including any of the LXC-backed services that fail their
health probe and Restart=on-failure for a few cycles), systemd
removes /run/secubox on the way out. The next service with the same
RuntimeDirectory= that tries to namespace its inputs hits the gap
and falls into 226/NAMESPACE failure — Restart hammers a few times,
then the unit goes failed-permanent.

Earlier fmrelay + sentinelle units got the fix individually
(v2.12.0/v2.12.3 era). Now applied to all 96 remaining units in a
single sweep via:

  sed -i '/^RuntimeDirectory=secubox/a RuntimeDirectoryPreserve=yes' "$f"

No version bumps in changelog — `dpkg -i --force-depends` in the
live-USB slipstream picks up the new .deb regardless of version
number.
2026-05-26 09:50:22 +02:00
..
api feat(eye-remote): /api/v1/health alias for round dashboard probe (#198) 2026-05-18 15:52:41 +02:00
core fix(eye-remote): Use Pydantic v1 dict() instead of model_dump() for serialization 2026-04-23 11:51:38 +02:00
debian fix(services): add RuntimeDirectoryPreserve=yes to 96 secubox-* units 2026-05-26 09:50:22 +02:00
dnsmasq.d fix(eye-remote): live-deploy regressions on 192.168.1.200 (#164) 2026-05-17 06:17:41 +02:00
etc/secubox/eye-remote feat(eye-remote): multi-gadget DHCP on eye-br0 — Phase 1 (#161) 2026-05-17 06:04:54 +02:00
menu.d feat(navbar): consolidate to 6 charter categories + fix dropped menu entries (closes #306) (#307) 2026-05-21 10:03:05 +02:00
models feat(eye-remote): add boot media Pydantic models 2026-04-23 10:35:43 +02:00
networkd fix(eye-remote): own the OTG bridge for multi-gadget MOCHAbin USB (#157) 2026-05-17 06:02:25 +02:00
nftables feat(eye-remote): multi-gadget DHCP on eye-br0 — Phase 1 (#161) 2026-05-17 06:04:54 +02:00
nginx fix(eye-remote): Restore Eye Remote with proper www structure 2026-05-05 10:41:34 +02:00
scripts fix(eye-remote): Resolve rp_filter and dual-interface routing issues 2026-05-05 11:22:31 +02:00
sysctl.d fix(eye-remote): Resolve rp_filter and dual-interface routing issues 2026-05-05 11:22:31 +02:00
systemd fix(eye-remote): live-deploy regressions on 192.168.1.200 (#164) 2026-05-17 06:17:41 +02:00
tests feat(eye-remote): /api/v1/health alias for round dashboard probe (#198) 2026-05-18 15:52:41 +02:00
udev fix(eye-remote): own the OTG bridge for multi-gadget MOCHAbin USB (#157) 2026-05-17 06:02:25 +02:00
www/eye-remote feat(ui): Sidebar v2.30.0 with hardware LED health bumper integration 2026-05-08 17:56:18 +02:00
README.md docs: Add Eye Remote Multigadget skill and wiki 2026-05-10 09:12:42 +02:00

👁️ Eye Remote

Remote management interface

Category: System

Screenshot

Eye Remote

Features

  • USB gadget
  • Serial console
  • Boot media
  • Recovery

Installation

# Add SecuBox repository
curl -fsSL https://apt.secubox.in/install.sh | sudo bash

# Install package
sudo apt install secubox-eye-remote

Configuration

Configuration file: /etc/secubox/eye-remote.toml

API Endpoints

  • GET /api/v1/eye-remote/status - Module status
  • GET /api/v1/eye-remote/health - Health check

License

MIT License - CyberMind © 2024-2026