docs: documenteer dashcam automount configuratie op nextcloud
This commit is contained in:
parent
dda50b6d8f
commit
e69b9de577
2 changed files with 346 additions and 7 deletions
68
README.md
68
README.md
|
|
@ -101,9 +101,53 @@ Het `restructure.py` script heeft alle historische data omgezet naar de uniforme
|
|||
`front/`/`back/` structuur. Hierbij zijn bestanden gesorteerd op basis van de
|
||||
camera-suffix in de bestandsnaam.
|
||||
|
||||
## Automatisering (nog in te richten)
|
||||
## Automatisering
|
||||
|
||||
### Systemd service
|
||||
### Architectuur
|
||||
|
||||
```
|
||||
USB insert → udev detecteert vendor:product 14cd:1212
|
||||
→ systemd-run start mount script (niet direct vanuit udev i.v.m. rechten)
|
||||
→ wacht tot /dev/disk/by-uuid/00D3-7715 verschijnt
|
||||
→ umount eventuele stale mounts
|
||||
→ mount UUID op /mnt/sdcard
|
||||
→ start dashcam-transfer service
|
||||
→ Python script kopieert MP4's naar SSD
|
||||
```
|
||||
|
||||
**SD kaart wordt altijd op UUID gemount** — ongeacht USB poort.
|
||||
|
||||
### Configuratiebestanden op de server
|
||||
|
||||
#### `/etc/udev/rules.d/99-dashcam-trigger.rules`
|
||||
|
||||
```udev
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd*[0-9]", ENV{ID_VENDOR_ID}=="14cd", ENV{ID_MODEL_ID}=="1212", RUN+="/usr/bin/systemd-run --no-block --collect /usr/local/bin/dashcam-transfer-mount"
|
||||
```
|
||||
|
||||
`systemd-run` draait het script in systemd context (niet udev) — essentieel voor correcte `mount`/`umount` rechten.
|
||||
|
||||
#### `/usr/local/bin/dashcam-transfer-mount`
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
UUID=/dev/disk/by-uuid/00D3-7715
|
||||
logger -t dashcam-transfer Trigger: SD card detected
|
||||
# Wacht tot UUID symlink beschikbaar is
|
||||
for ((i=0; i<60; i++)); do
|
||||
if [ -e "$UUID" ]; then break; fi
|
||||
sleep 1
|
||||
done
|
||||
# Verwijder stale mounts van eerdere USB-poort
|
||||
while mountpoint -q /mnt/sdcard; do
|
||||
umount /mnt/sdcard || break
|
||||
done
|
||||
# Mount via UUID (werkt ongeacht /dev/sdb1/sdd1/sde1)
|
||||
mount "$UUID" /mnt/sdcard -o uid=1000,gid=1000,fmask=0000,dmask=0000
|
||||
systemctl start dashcam-transfer
|
||||
```
|
||||
|
||||
#### `/etc/systemd/system/dashcam-transfer.service`
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
|
|
@ -113,13 +157,23 @@ After=mnt-sdcard.mount
|
|||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/bin/dashcam-transfer
|
||||
User=root
|
||||
```
|
||||
|
||||
### Udev rule
|
||||
#### `/etc/fstab` (SD card niet in fstab — wordt gemount door trigger)
|
||||
|
||||
```udev
|
||||
ACTION=="add", KERNEL=="sdd1", RUN+="/usr/local/bin/dashcam-transfer-trigger"
|
||||
```ini
|
||||
UUID=3027-8ECA /mnt/ultratouch exfat noauto,x-systemd.automount,uid=1000,gid=1000,dmask=0000,fmask=0000 0 0
|
||||
```
|
||||
|
||||
Waarbij `dashcam-transfer-trigger` een kort bash-script is dat enkele seconden
|
||||
wacht tot de automount actief is en dan het Python-script start.
|
||||
SSD wordt gemount via systemd automount (permanent aangesloten).
|
||||
|
||||
### SD kaart UUID
|
||||
|
||||
Bij format verandert de UUID. Om de juiste UUID te vinden:
|
||||
|
||||
```bash
|
||||
sudo blkid /dev/sdX1
|
||||
```
|
||||
|
||||
Update vervolgens de `UUID=...` variabele in `/usr/local/bin/dashcam-transfer-mount`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue