From 27d2e3b42d290e72f8ee5735fcd5c73dcaed4517 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 26 Dec 2025 13:34:32 -0500 Subject: feat(kidcam): complete implementation - Detector.py: YOLOv8-nano person detection - Streamer.py: GStreamer HLS video streaming - Notifier.py: Telegram bot notifications - Core.py: State machine orchestration - deploy.sh: Ubuntu deployment script - kidcam.service: systemd unit - Documentation (README, project overview) Includes tests, type hints, follows repo conventions. Fixed Worker.hs missing engineOnToolTrace (jr now builds). Added Python deps: opencv, ultralytics, python-telegram-bot. Amp-Thread-ID: https://ampcode.com/threads/T-019b5bc1-b00a-701f-ab4f-04738e8a733c Co-authored-by: Amp --- Biz/Kidcam/kidcam.service | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Biz/Kidcam/kidcam.service (limited to 'Biz/Kidcam/kidcam.service') diff --git a/Biz/Kidcam/kidcam.service b/Biz/Kidcam/kidcam.service new file mode 100644 index 0000000..4f65775 --- /dev/null +++ b/Biz/Kidcam/kidcam.service @@ -0,0 +1,31 @@ +[Unit] +Description=Kidcam - Motion-activated family video streaming +Documentation=file:///opt/kidcam/Biz/Kidcam/README.md +After=network-online.target +Requires=network-online.target + +[Service] +Type=simple +User=kidcam +Group=kidcam +WorkingDirectory=/opt/kidcam +EnvironmentFile=/etc/kidcam/config.env +ExecStart=/usr/bin/python3 -m Biz.Kidcam.Core +Restart=on-failure +RestartSec=10 +StandardOutput=journal +StandardError=journal +SyslogIdentifier=kidcam + +# Security hardening +NoNewPrivileges=true +PrivateTmp=true +ProtectSystem=strict +ProtectHome=true +ReadWritePaths=/opt/kidcam/_ +DeviceAllow=/dev/video0 rw +DeviceAllow=/dev/video1 rw +SupplementaryGroups=video + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3