s谩bado, 18 de octubre de 2025

Adelgazar Synology DS214SE

 

馃З 1️⃣ Objetivo general

Eliminar todos los procesos que consumen CPU/RAM en un Synology DS214se con DSM 7.x:
indexaci贸n, telemetr铆a, thumbnails, iSCSI y servicios innecesarios.


⚙️ 2️⃣ Acciones ejecutadas (en orden)

A) Eliminar Synology Drive y SynoFinder

Estos dos paquetes (Drive + Finder) consumen la mayor parte de RAM y CPU.

synopkg stop SynologyDrive synopkg stop SynoFinder synopkg uninstall SynologyDrive synopkg uninstall SynoFinder

馃煝 Efecto: desinstalados y no volver谩n a indexar ni ejecutar ElasticSearch.
馃攣 Revertir: reinstalar desde el “Centro de paquetes” (busca Drive Server y Universal Search).


B) Desactivar iSCSI (ScsiTarget)

iSCSI generaba el proceso synoscsitmonitor con 25–30 % de CPU constante.

synopkg stop ScsiTarget mv /usr/syno/etc/packages/ScsiTarget /usr/syno/etc/packages/ScsiTarget.disabled

馃煝 Efecto: bloquea el servicio incluso tras reinicio.
馃攣 Revertir:

mv /usr/syno/etc/packages/ScsiTarget.disabled /usr/syno/etc/packages/ScsiTarget

C) Desactivar telemetr铆a y estad铆sticas

Elimina procesos data_collector_app, synoagentnotifyd, synostats.

killall data_collector_app killall synoagentnotifyd killall synostats mv /usr/syno/bin/cache.client/data_collector_app /usr/syno/bin/cache.client/data_collector_app.disabled 2>/dev/null mv /usr/syno/sbin/synoagentnotifyd /usr/syno/sbin/synoagentnotifyd.disabled 2>/dev/null mv /usr/syno/sbin/synostats /usr/syno/sbin/synostats.disabled 2>/dev/null

馃煝 Efecto: DSM deja de enviar telemetr铆a y recolectar estad铆sticas internas.
馃攣 Revertir:

mv /usr/syno/bin/cache.client/data_collector_app.disabled /usr/syno/bin/cache.client/data_collector_app mv /usr/syno/sbin/synoagentnotifyd.disabled /usr/syno/sbin/synoagentnotifyd mv /usr/syno/sbin/synostats.disabled /usr/syno/sbin/synostats

D) Desactivar thumbnails y tareas multimedia

Evita procesos synomkthumbd, convert-task, synomkflvd.

killall synomkthumbd killall convert-task killall synomkflvd mv /usr/syno/bin/synomkthumbd /usr/syno/bin/synomkthumbd.disabled 2>/dev/null mv /usr/syno/bin/convert-task /usr/syno/bin/convert-task.disabled 2>/dev/null mv /usr/syno/bin/synomkflvd /usr/syno/bin/synomkflvd.disabled 2>/dev/null

馃煝 Efecto: elimina carga constante de generaci贸n de miniaturas y conversiones.
馃攣 Revertir:

mv /usr/syno/bin/synomkthumbd.disabled /usr/syno/bin/synomkthumbd mv /usr/syno/bin/convert-task.disabled /usr/syno/bin/convert-task mv /usr/syno/bin/synomkflvd.disabled /usr/syno/bin/synomkflvd

E) (Opcional) Script de autolimpieza al iniciar

Crea /usr/local/etc/rc.d/cleanup.sh para matar procesos si vuelven tras reinicio:

#!/bin/sh sleep 60 for p in synoagentnotifyd synostats data_collector_app synomkthumbd convert-task synomkflvd synoelasticd synoindexd; do killall $p 2>/dev/null done exit 0

Y dale permisos:

chmod +x /usr/local/etc/rc.d/cleanup.sh

馃攣 Revertir:
Borrar el archivo:

rm /usr/local/etc/rc.d/cleanup.sh

馃搳 3️⃣ Verificaci贸n del estado

Despu茅s de aplicar todo (o tras reinicio):

ps | egrep 'data_collect|synoagent|finder|scsi|thumb|convert|flvd' top -b -n 1 | head -n 15

Esperado:

  • Sin coincidencias en ps.

  • CPU Idle > 70 %.

  • RAM libre > 80 MB.

  • Load average < 1.0.


馃挰 4️⃣ Resumen ejecutivo

Acci贸nImpactoRiesgoReversible
Quitar SynoFinder/Drive馃敽 Alta (libera ~100 MB RAM)Bajo
Desactivar iSCSI馃敽 Alta (reduce CPU)Bajo
Desactivar telemetr铆a馃敻 Media (menos CPU/RAM)Bajo
Desactivar thumbnails馃敻 MediaBajo
Script autolimpieza馃敼 PreventivoBajo

馃 5️⃣ S铆ntesis final

Has convertido un DSM sobrecargado en un NAS minimalista: sin indexaci贸n, sin telemetr铆a ni multimedia.
Resultado: rendimiento x3–x5 y carga estable en hardware de 256 MB.

viernes, 10 de octubre de 2025

 

Gu铆a Completa: Google Coral USB en LXC Proxmox para Frigate

Requisitos Previos

  • Proxmox VE instalado
  • Google Coral USB conectada al servidor
  • LXC privilegiado con Debian 11/12
  • Acceso root al host Proxmox

PARTE 1: Configuraci贸n en Proxmox (Host)

1.1 Identificar el dispositivo USB Coral

Desde el shell de Proxmox, ejecuta:

lsusb

Busca una l铆nea similar a:

Bus 002 Device 002: ID 1a6e:089a Global Unichip Corp.

o

Bus 002 Device 002: ID 18d1:9302 Google Inc.

Anota el n煤mero del Bus (en este ejemplo: 002)

Tambi茅n verifica que existe el dispositivo:

ls -la /dev/bus/usb/002/

1.2 Crear reglas udev (Opcional pero recomendado)

Crea el archivo de reglas:

nano /etc/udev/rules.d/71-edgetpu.rules

A帽ade estas l铆neas:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a6e", ATTRS{idProduct}=="089a", MODE="0660", GROUP="plugdev"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9302", MODE="0660", GROUP="plugdev"

Aplica las reglas:

udevadm control --reload-rules && udevadm trigger

PARTE 2: Configuraci贸n del LXC

2.1 Detener el contenedor

pct stop <ID_DEL_LXC>

Ejemplo:

pct stop 105

2.2 Editar configuraci贸n del LXC

nano /etc/pve/lxc/<ID_DEL_LXC>.conf

A帽ade estas l铆neas al final del archivo:

lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,create=dir

Nota: Si ya existe lxc.cgroup2.devices.allow: c 189:* rwm, no la dupliques.

2.3 Iniciar el contenedor

pct start <ID_DEL_LXC>

PARTE 3: Verificaci贸n dentro del LXC

3.1 Entrar al contenedor

pct enter <ID_DEL_LXC>

3.2 Instalar utilidades USB

apt update
apt install usbutils -y

3.3 Verificar que la Coral es visible

lsusb

Deber铆as ver:

Bus 002 Device 002: ID 1a6e:089a Global Unichip Corp.

Verifica el directorio:

ls -la /dev/bus/usb/
ls -la /dev/bus/usb/002/

PARTE 4: Configuraci贸n de Frigate con Docker

4.1 Estructura de directorios recomendada

mkdir -p /opt/frigate/config
mkdir -p /opt/frigate/media
cd /opt/frigate

4.2 Crear docker-compose.yml

nano docker-compose.yml

Contenido:

version: "3.9"

services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable
    restart: unless-stopped
    privileged: true
    shm_size: "256mb"
    devices:
      # Google Coral USB
      - /dev/bus/usb:/dev/bus/usb
      # iGPU Intel para aceleraci贸n hardware (si tienes Intel N100/N200/etc)
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./media:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000  # 1GB para cache
    ports:
      - "5000:5000"      # Web UI
      - "8554:8554"      # RTSP feeds
      - "8555:8555/tcp"  # WebRTC
      - "8555:8555/udp"  # WebRTC
    environment:
      FRIGATE_RTSP_PASSWORD: "cambiar_password"

4.3 Crear configuraci贸n b谩sica de Frigate

nano config/config.yml

Contenido m铆nimo:

mqtt:
  enabled: false  # Cambiar a true si usas MQTT

detectors:
  coral:
    type: edgetpu
    device: usb

# Aceleraci贸n hardware con iGPU Intel
ffmpeg:
  hwaccel_args: preset-vaapi

# Configuraci贸n de c谩maras de ejemplo
cameras:
  camara_frontal:
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://usuario:password@192.168.1.100:554/stream
          roles:
            - detect
            - record
    detect:
      enabled: true
      width: 1280
      height: 720
      fps: 5
    record:
      enabled: true
      retain:
        days: 7
        mode: motion
    snapshots:
      enabled: true
      retain:
        default: 14

# Configuraci贸n de grabaci贸n
record:
  enabled: true
  retain:
    days: 7
    mode: motion
  events:
    retain:
      default: 30
      mode: motion

# Detecci贸n de objetos
objects:
  track:
    - person
    - car
    - dog
    - cat

4.4 Iniciar Frigate

docker-compose up -d

4.5 Ver logs y verificar

docker logs frigate -f

Busca estas l铆neas que confirman que la Coral funciona:

frigate.edgetpu INFO : Attempting to load TPU as usb
frigate.edgetpu INFO : TPU found

PARTE 5: Verificaci贸n y Troubleshooting

5.1 Acceder a la interfaz web

Abre en tu navegador:

http://IP_DEL_LXC:5000

Ve a System para ver el estado de:

  • Detector Coral
  • Hardware acceleration
  • C谩maras

5.2 Problemas comunes

La Coral no aparece en lsusb

Soluci贸n:

# Desde Proxmox, verifica que existe
lsusb
ls -la /dev/bus/usb/

# Revisa la configuraci贸n del LXC
cat /etc/pve/lxc/<ID>.conf

# Reinicia el contenedor
pct stop <ID>
pct start <ID>

Error "unable to initialize libusb: -99"

Causas:

  • El directorio /dev/bus/usb no est谩 montado correctamente
  • Permisos incorrectos

Soluci贸n:

# Verifica en el LXC
ls -la /dev/bus/usb/

# Si no existe, revisa la configuraci贸n en Proxmox
nano /etc/pve/lxc/<ID>.conf
# Debe tener: lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,create=dir

Frigate no detecta la Coral

Soluci贸n:

# Verifica que Docker pueda ver el dispositivo
docker exec -it frigate ls -la /dev/bus/usb/

# Revisa los logs
docker logs frigate | grep -i tpu
docker logs frigate | grep -i coral

# Reinicia el contenedor
docker-compose restart

Bus USB cambia de n煤mero

Si el n煤mero del bus cambia (por ejemplo, de 002 a 003), hay dos opciones:

Opci贸n 1: Pasar todo el bus USB

lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,create=dir

Opci贸n 2: Usar reglas udev m谩s avanzadas (fuera del alcance de esta gu铆a)


PARTE 6: Optimizaciones Adicionales

6.1 Pasar iGPU Intel para hardware acceleration

Si tienes un procesador Intel (N100, N200, i3, i5, etc.) con gr谩ficos integrados:

En Proxmox:

ls -la /dev/dri/

A帽ade al LXC config:

nano /etc/pve/lxc/<ID>.conf
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

En docker-compose.yml ya est谩 incluido:

devices:
  - /dev/dri/renderD128:/dev/dri/renderD128

6.2 Ajustar memoria del LXC

Para Frigate con varias c谩maras, recomendado:

pct set <ID> -memory 4096

6.3 Habilitar autostart

pct set <ID> -onboot 1

PARTE 7: Configuraci贸n Avanzada de Frigate

7.1 Ejemplo con m煤ltiples c谩maras y zonas

cameras:
  entrada_principal:
    ffmpeg:
      inputs:
        - path: rtsp://user:pass@192.168.1.100:554/stream1
          roles:
            - detect
        - path: rtsp://user:pass@192.168.1.100:554/stream2
          roles:
            - record
    detect:
      width: 1280
      height: 720
      fps: 5
    zones:
      entrada:
        coordinates: 0,461,3,0,1919,0,1919,843,1699,492,1344,458,1346,336,973,317,869,375,866,432
        objects:
          - person
          - car
      calle:
        coordinates: 0,0,1280,0,1280,300,0,300
        objects:
          - person
          - car
    objects:
      track:
        - person
        - car
        - dog
      filters:
        person:
          min_area: 5000
          max_area: 100000
          threshold: 0.7

7.2 Notificaciones (requiere MQTT)

mqtt:
  enabled: true
  host: 192.168.1.50
  port: 1883
  user: mqtt_user
  password: mqtt_pass

Resumen de Comandos R谩pidos

# En Proxmox
lsusb                                    # Ver dispositivos USB
pct stop 105                             # Detener LXC
nano /etc/pve/lxc/105.conf              # Editar config
pct start 105                            # Iniciar LXC
pct enter 105                            # Entrar al LXC

# Dentro del LXC
apt install usbutils -y                  # Instalar utilidades
lsusb                                    # Verificar Coral
cd /opt/frigate                          # Ir al directorio
docker-compose up -d                     # Iniciar Frigate
docker logs frigate -f                   # Ver logs
docker-compose restart                   # Reiniciar
docker-compose down                      # Detener

Referencias

  • Documentaci贸n oficial de Frigate: https://docs.frigate.video
  • Google Coral: https://coral.ai/docs/accelerator/get-started/
  • Proxmox LXC: https://pve.proxmox.com/wiki/Linux_Container

脷ltima actualizaci贸n: Octubre 2025
Hardware probado: Intel N100, Coral USB
SO LXC: Debian 12 (Bookworm)