[{"data":1,"prerenderedAt":148},["ShallowReactive",2],{"seo-verification":3,"blog-frigate-nvr-vigilancia-self-hosted-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-frigate-nvr-vigilancia-self-hosted-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":92,"ctaBody":93,"ctaButton":94,"ctaUrl":95,"relatedPosts":96},406,"frigate-nvr-vigilancia-self-hosted-vps",{"fr":12,"en":13,"ar":14,"es":10},"frigate-nvr-surveillance-self-hosted-vps","frigate-nvr-self-hosted-vps","frigate-nvr-مراقبة-self-hosted-vps","Frigate NVR v0.18: videovigilancia IP autoalojada en un VPS","Despliega Frigate NVR v0.18 en un VPS Linux: detección de objetos IA para cámaras IP 100% local, sin nube ni suscripción. Guía Docker con GUI y resolución de errores.",11,0,false,"2026-10-02T00:00:00+00:00","2026-10-02T14:03:20+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Ffrigate-nvr-surveillance-self-hosted-vps-poster.svg","Frigate NVR es un grabador de vídeo en red de código abierto que combina la gestión de flujos de cámaras IP con detección de objetos por inteligencia artificial ejecutada íntegramente en tu propia infraestructura. La versión 0.18 sustituye la configuración YAML obligatoria por una interfaz gráfica completa, lo que abre el despliegue en VPS a un público mucho más amplio. Tus grabaciones y alertas permanecen en tu servidor, sin ninguna suscripción recurrente.",[35,39,51,54,79,82,86,89],{"type":36,"title":37,"body":38},"h2","Vigilancia local o nube propietaria: por qué alojar tu propio NVR","Las soluciones de videovigilancia SaaS — Reolink Cloud, Synology Surveillance Station conectada a relés propietarios, Amazon Ring — graban tus flujos en servidores de terceros. A cambio de una suscripción mensual, obtienes una app móvil, almacenamiento remoto y detección de eventos. Lo que cedes es el control sobre lo que ocurre frente a tus cámaras.\n\nAutoalojar tu NVR en un VPS invierte la lógica: tus flujos nunca abandonan tu infraestructura, la detección de objetos (personas, vehículos, animales) se ejecuta localmente sin enviar ninguna imagen a terceros, y las grabaciones se almacenan en tus propios volúmenes.\n\nFrigate NVR es la referencia de código abierto en esta categoría. Recibe flujos RTSP de tus cámaras IP, recorta clips en eventos detectados, conserva instantáneas y expone una API REST compatible con Home Assistant. La versión 0.18, publicada en septiembre de 2026, sustituye el archivo `config.yml` obligatorio por una interfaz gráfica completa: configura cámaras, zonas de detección y umbrales desde un navegador, sin tocar YAML si no lo deseas.",{"type":40,"title":41,"items":42},"ul","Beneficios concretos de Frigate autoalojado en un VPS",[43,44,45,46,47,48,49,50],"Flujos de vídeo y grabaciones 100% locales: ningún tercero accede a tus imágenes.","Detección de objetos IA (personas, vehículos, animales) en tu propio CPU, sin cuotas ni límites de API.","Sin suscripción recurrente: pagas tu VPS, no una licencia de detección.","Integración nativa con Home Assistant vía MQTT y la API REST de Frigate.","Clips de eventos, instantáneas y línea de tiempo consultables desde la interfaz web.","Compatible con prácticamente todas las cámaras IP del mercado vía el protocolo RTSP estándar.","Zonas de detección configurables por cámara para filtrar falsas alertas (calle, vecino, árbol).","Configuración completa en GUI desde la v0.18 — YAML sigue siendo posible pero ya no es obligatorio.",{"type":36,"title":52,"body":53},"Requisitos en cifras: dimensionar tu VPS para Frigate","Frigate es una aplicación intensiva en CPU en modo software puro. La detección de objetos se apoya en un modelo TensorFlow Lite que se ejecuta en cada fotograma analizado.\n\n**Para 1 o 2 cámaras a 1080p**: 2 vCPU y 2 GB de RAM es el mínimo funcional. Tasa de análisis recomendada: máximo 5 fotogramas por segundo.\n\n**Para 3 a 5 cámaras a 1080p**: 4 vCPU y 4 GB de RAM proporcionan margen suficiente. El plan VPS Power (4 vCPU \u002F 8 GB GB RAM) es un punto de partida realista para este caso de uso.\n\n**Para más de 5 cámaras**: 6 a 8 vCPU y 8 GB de RAM o más. La aceleración hardware vía Coral TPU o GPU reduce drásticamente la carga en CPU pero no está disponible en VPS alojado estándar.\n\n**Almacenamiento**: cada cámara 1080p genera entre 1 y 3 GB por hora en modo grabación continua. En modo eventos, presupuesta 5 a 15 GB por cámara al día según la frecuencia de movimiento.\n\n**Red**: cada flujo RTSP entrante consume entre 1 y 4 Mbit\u002Fs según resolución y códec. Una cámara H.264 a 1080p consume típicamente entre 1,5 y 2,5 Mbit\u002Fs.\n\n**Software requerido**: Docker Engine 24+ y Docker Compose v2, acceso root al VPS, un subdominio DNS apuntando a la IP del servidor, y un proxy inverso (Nginx, Caddy o Traefik) para la terminación TLS.",{"type":55,"title":56,"steps":57},"steps","Desplegar Frigate NVR con Docker Compose",[58,61,64,67,70,73,76],{"title":59,"body":60},"Crear la estructura de directorios","Conéctate al VPS por SSH y crea la estructura que Frigate usará para su configuración, grabaciones e instantáneas:\n\n```bash\nmkdir -p \u002Fopt\u002Ffrigate\u002F{config,storage\u002Frecordings,storage\u002Fclips,storage\u002Fexports}\ncd \u002Fopt\u002Ffrigate\n```\n\nFrigate espera su archivo de configuración en `\u002Fopt\u002Ffrigate\u002Fconfig\u002Fconfig.yml`. Con la v0.18, este archivo puede quedar mínimo al inicio — la GUI completa la configuración después.",{"title":62,"body":63},"Crear una configuración de inicio mínima","Crea `\u002Fopt\u002Ffrigate\u002Fconfig\u002Fconfig.yml` con el siguiente contenido:\n\n```yaml\nmqtt:\n  enabled: false\n\nrecord:\n  enabled: true\n  retain:\n    days: 7\n    mode: motion\n\nsnapshots:\n  enabled: true\n  retain:\n    default: 10\n\ndetectors:\n  cpu1:\n    type: cpu\n    num_threads: 3\n```\n\nLa clave `detectors` declara un detector por software en CPU. `num_threads: 3` es un buen equilibrio para 2 a 4 cámaras.",{"title":65,"body":66},"Redactar el archivo Docker Compose","Crea `\u002Fopt\u002Ffrigate\u002Fdocker-compose.yml` con la siguiente configuración:\n\n```yaml\nservices:\n  frigate:\n    container_name: frigate\n    image: ghcr.io\u002Fblakeblackshear\u002Ffrigate:stable\n    restart: unless-stopped\n    shm_size: \"256mb\"\n    volumes:\n      - \u002Fopt\u002Ffrigate\u002Fconfig:\u002Fconfig\n      - \u002Fopt\u002Ffrigate\u002Fstorage:\u002Fmedia\u002Ffrigate\n      - \u002Fetc\u002Flocaltime:\u002Fetc\u002Flocaltime:ro\n    ports:\n      - \"5000:5000\"\n      - \"8554:8554\"\n      - \"8555:8555\u002Ftcp\"\n      - \"8555:8555\u002Fudp\"\n    environment:\n      FRIGATE_RTSP_PASSWORD: \"changeme\"\n    devices:\n      - \u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n```\n\nPuertos expuestos: **5000** para la interfaz web y la API REST, **8554** para el servidor RTSP interno, **8555** TCP y UDP para WebRTC.",{"title":68,"body":69},"Iniciar Frigate y revisar los registros","Desde el directorio `\u002Fopt\u002Ffrigate`, lanza el contenedor y monitoriza los registros de inicio:\n\n```bash\ndocker compose up -d\ndocker compose logs -f frigate\n```\n\nEn el primer inicio, Frigate descarga el modelo TensorFlow Lite (~6 MB) e inicializa su base de datos SQLite. La operación tarda entre 30 y 90 segundos. El log debe mostrar `Frigate is running`.\n\nAccede a la interfaz en `http:\u002F\u002F\u003Cip-de-tu-vps>:5000` para la verificación inicial.",{"title":71,"body":72},"Configurar un proxy inverso para acceso HTTPS","Frigate no gestiona TLS de forma nativa. Configura Nginx como proxy inverso. Crea `\u002Fetc\u002Fnginx\u002Fsites-available\u002Ffrigate`:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name frigate.yourdomain.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Ffrigate.yourdomain.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Ffrigate.yourdomain.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:5000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_read_timeout 86400;\n    }\n}\n```\n\nObtén un certificado Let's Encrypt con `certbot --nginx -d frigate.yourdomain.com`.",{"title":74,"body":75},"Añadir cámaras desde la GUI de Frigate v0.18","Abre la interfaz de Frigate en el navegador. La v0.18 ofrece un asistente de adición de cámaras en **Configuration → Cameras → Add Camera**. Rellena:\n\n- **Nombre** de la cámara (sin espacios ni caracteres especiales).\n- **URL RTSP** del flujo principal, por ejemplo `rtsp:\u002F\u002Fadmin:contraseña@192.168.1.100:554\u002Fstream1`.\n- **Resolución** detectada automáticamente o especificada manualmente.\n- **Perfil de detección**: *Standard* para equilibrio entre precisión y carga CPU, *Lightweight* para VPS más modestos.\n\nLa GUI genera y valida el bloque YAML correspondiente antes de aplicarlo — puedes cambiar al modo YAML bruto desde la pestaña **Advanced** cuando quieras.",{"title":77,"body":78},"Verificar que las grabaciones y la detección funcionan","Desde el panel de Frigate, navega a **Events** para confirmar que se generan eventos de detección. Comprueba la pestaña **Recordings** para validar que los archivos mp4 se escriben en `\u002Fopt\u002Ffrigate\u002Fstorage\u002Frecordings\u002F`.\n\nEn el VPS, monitoriza la carga CPU en tiempo real:\n\n```bash\ndocker stats frigate\n```\n\nEn modo solo CPU con 2 cámaras a 1080p y análisis a 5 fps, espera entre el 60 y el 90% de un vCPU. Ajusta el parámetro `fps` en la configuración de cada cámara si la carga es demasiado alta.",{"type":36,"title":80,"body":81},"Configurar cámaras y zonas de detección desde la GUI","La novedad central de Frigate v0.18 es su editor visual de zonas de detección. Hasta la v0.14, definir una zona requería calcular manualmente las coordenadas de polígono en el archivo YAML.\n\nDesde la v0.18, la pestaña **Zones** de cada cámara muestra la imagen en directo y permite dibujar polígonos directamente con el ratón. Cada zona recibe un nombre (ej.: `entrada`, `jardín`, `calle`) y filtros de objetos — puedes indicar que la zona `calle` ignore personas pero alerte sobre vehículos, o que la zona `entrada` dispare una notificación cuando una persona entre en el perímetro.\n\n**Máscaras de movimiento**: la misma interfaz permite dibujar máscaras sobre zonas que generan demasiadas falsas alertas — un árbol moviéndose con el viento, una luz parpadeante. La máscara impide que Frigate analice esos píxeles para la detección, sin afectar a la grabación.\n\n**Umbrales de confianza**: cada objeto detectable (persona, coche, perro, gato, pájaro...) tiene un umbral ajustable entre 0 y 1. El valor por defecto de 0,5 es razonable; bajarlo a 0,35 aumenta la sensibilidad a costa de más falsas alertas.\n\n**Configuración de notificaciones**: Frigate se integra con Home Assistant vía MQTT o su API REST. Sin Home Assistant, puedes enviar alertas a cualquier webhook vía `notify.webhook` o usar directamente los clips de eventos desde la interfaz.",{"type":83,"title":84,"body":85},"tip","Reforzar el acceso a la interfaz web de Frigate","La interfaz de Frigate no incluye sistema de autenticación en su versión estable. Expuesta directamente a Internet, es accesible sin contraseña. Tres medidas complementarias antes de hacer público el subdominio:\n\n**Autenticación HTTP Basic vía Nginx**: añade `auth_basic` y `auth_basic_user_file` en el bloque `location` del virtual host. Genera el archivo de contraseñas con `htpasswd -c \u002Fetc\u002Fnginx\u002F.htpasswd tu_usuario`.\n\n**Restricción por IP**: si accedes a Frigate desde una IP fija (oficina, VPN), añade `allow 203.0.113.x; deny all;` en el bloque `location` de Nginx.\n\n**Acceso solo por VPN**: la solución más robusta. Despliega WireGuard en el mismo VPS y haz que el puerto 5000 solo sea accesible localmente o a través del túnel VPN. La interfaz nunca queda expuesta directamente a Internet.",{"type":36,"title":87,"body":88},"Resolución de errores: los más frecuentes","**`Failed to connect to camera: Connection refused` o timeout en el arranque**\nFrigate no puede alcanzar el flujo RTSP. Verifica primero que la URL RTSP es correcta con `ffprobe` desde el VPS: `ffprobe -v quiet -print_format json -show_streams rtsp:\u002F\u002F...`. Si la cámara está en una red privada separada del VPS, no es alcanzable directamente — necesitas un túnel o un relé RTSP.\n\n**`ffmpeg process crashed` en bucle en los logs**\nCódec no compatible (H.265\u002FHEVC) o resolución demasiado alta para el ancho de banda disponible. Solución: fuerza la transcodificación en entrada añadiendo `input_args: preset-rtsp-restream` en la configuración de la cámara, o reduce la resolución de la cámara a 1280×720.\n\n**`Insufficient shared memory` al arrancar el contenedor**\nSignifica que `shm_size` es demasiado pequeño. Regla general: 256 MB para 2 cámaras, 512 MB para 4, 1 GB para 8 o más. Ajusta `shm_size` en `docker-compose.yml`.\n\n**`Database is locked` o cuelgues aleatorios**\nFrigate usa SQLite, que gestiona mal los volúmenes de red (NFS, CIFS). Si montas `\u002Fopt\u002Ffrigate\u002Fstorage` desde almacenamiento en red, mueve solo la base SQLite a un volumen local: `db_path: \u002Ftmp\u002Ffrigate.db` en la configuración.\n\n**La detección no se dispara pese a movimiento visible**\nVerifica primero que la zona de detección cubre el área de interés en el editor visual. Luego consulta la pestaña **Debug** de la cámara en la GUI: superpone rectángulos de detección en tiempo real sobre el flujo. Si no aparecen rectángulos, el modelo está ejecutándose pero no encuentra nada — el umbral de confianza puede ser demasiado alto o los objetos demasiado pequeños en el campo de la cámara.",{"type":36,"title":90,"body":91},"Para ir más lejos","Frigate NVR convierte un VPS estándar en una estación de vigilancia soberana. La detección de objetos se ejecuta localmente, tus grabaciones permanecen en tus volúmenes, y la v0.18 hace la instalación accesible sin experiencia en YAML.\n\nSi amplías tu stack autoalojado, los artículos siguientes cubren servicios complementarios que se integran bien con Frigate desde un panel centralizado: \u003Ca href=\"\u002Fblog\u002Fheberger-jellyfin\">Jellyfin para tu biblioteca multimedia\u003C\u002Fa>, \u003Ca href=\"\u002Fblog\u002Fheberger-pi-hole\">Pi-hole para el filtrado DNS\u003C\u002Fa> y \u003Ca href=\"\u002Fblog\u002Fheberger-homepage\">Homepage como panel para todos tus servicios\u003C\u002Fa>. un VPS Power cubre la mayoría de configuraciones de 3 a 5 cámaras en modo solo CPU, con margen para otros contenedores de la stack.","Un VPS para tu Frigate NVR","Acceso root, IPv4 dedicada, elección de SO — tus flujos de cámara procesados localmente, sin suscripción cloud ni acceso del fabricante. Planes desde 99 DH\u002Fmes.","Desplegar Frigate en mi VPS","\u002Fvps-cloud",[97,117,132],{"id":98,"slug":99,"slugs":100,"title":104,"excerpt":105,"readTime":106,"views":107,"isPinned":19,"publishedAt":108,"updatedAt":109,"category":110,"categories":111,"featuredImage":30,"bgImage":31,"posterImage":113,"relatedSolution":114},84,"alojar-jellyfin-en-un-vps",{"fr":101,"en":102,"ar":103,"es":99},"heberger-jellyfin","host-jellyfin-on-your-own-vps","استضافة-jellyfin-على-خادمك-الافتراضي-الخاص-vps","Alojar Jellyfin en un VPS: guía completa 2026","Despliega Jellyfin self-hosted en VPS con Docker, nginx, HTTPS, plugins, almacenamiento y transcodificación. Guía completa actualizada para 2026.",10,5,"2026-03-28T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[112],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-jellyfin-poster.svg",{"categorySlug":115,"appSlug":116},"colaboracion-productividad","jellyfin",{"id":118,"slug":119,"slugs":120,"title":124,"excerpt":125,"readTime":106,"views":18,"isPinned":19,"publishedAt":126,"updatedAt":127,"category":128,"categories":129,"featuredImage":30,"bgImage":31,"posterImage":131,"relatedSolution":30},91,"alojar-pi-hole-en-un-vps",{"fr":121,"en":122,"ar":123,"es":119},"heberger-pi-hole","hosting-pi-hole-on-your-own-vps","استضافة-pi-hole-على-خادم-vps-الخاص-بك","Alojar Pi-hole en tu propio VPS","Guía completa para desplegar Pi-hole v6 en un VPS: instalación, conflicto del puerto 53, Unbound para recursión DNS, whitelisting, métricas y copias de seguridad.","2026-03-21T00:00:00+00:00","2026-09-24T12:27:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[130],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-pi-hole-poster.svg",{"id":133,"slug":134,"slugs":135,"title":139,"excerpt":140,"readTime":23,"views":141,"isPinned":19,"publishedAt":142,"updatedAt":143,"category":144,"categories":145,"featuredImage":30,"bgImage":31,"posterImage":147,"relatedSolution":30},92,"alojar-homepage-en-un-vps",{"fr":136,"en":137,"ar":138,"es":134},"heberger-homepage","hosting-homepage-on-your-own-vps","استضافة-homepage-على-خادم-vps-الخاص-بك","Alojar Homepage en su propio VPS","Despliegue Homepage, el dashboard open source, en su VPS con Docker. Guía: YAML, widgets, reverse proxy Caddy\u002FTraefik, SSL, seguridad y backups.",2,"2026-03-20T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[146],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-homepage-poster.svg",1790987833105]