babyphone-cam

Il baby monitor che vive solo nella tua rete di casa.

Un vecchio telefono o tablet diventa la telecamera accanto al bambino, qualsiasi altro dispositivo diventa l'unità genitori. Tutto funziona nel browser tramite il tuo container Docker – senza app, senza account, senza cloud.

Installa Vedi su GitHub 🧸 Dona

  • Open source (AGPL-3.0)
  • LAN o VPN WireGuard
  • Nessuna registrazione
Vista genitori con tre bambini: Mia con bordo verde per un suono, Leo e Noah tranquilli. I bambini sono illustrazioni.

Funzioni

Tutto ciò che serve ogni giorno a un baby monitor – direttamente nel browser.

  • Dispositivo bambino e genitori

    Ogni dispositivo sceglie il proprio ruolo: bambino o genitori, ciascuno con il proprio PIN. Le impostazioni sono protette da un PIN admin separato.

  • Telecamera o telefono

    Modalità «Camera» (video e audio) o «Phone» (solo audio). Nome da un elenco o libero. Fotocamera frontale o posteriore, commutabile anche dal dispositivo dei genitori.

  • Schermo scuro

    Il dispositivo del bambino si oscura ma resta attivo (wake lock). Un doppio tocco mostra il menu.

  • Tutti i bambini a colpo d'occhio

    I genitori vedono tutti i bambini attivi insieme in una griglia dinamica senza scorrere. Ogni riquadro si può ingrandire.

  • Bordo verde in caso di attività

    Con un suono o un movimento il riquadro si illumina di verde. Soglie di suono e movimento per ogni bambino, regolabili dal dispositivo dei genitori.

  • Ascoltare e parlare

    Ascolta tutti i bambini contemporaneamente, volume per bambino, push-to-talk per bambino.

  • Messa a fuoco automatica

    Quando c'è un suono, gli ultimi fino a quattro bambini attivi passano in primo piano per circa cinque secondi.

  • Allarme se un dispositivo bambino si disconnette

    Se un dispositivo del bambino va offline, sui dispositivi dei genitori suona un allarme da confermare. In più webhook (GET, POST, PUT), ad esempio verso Gotify, Slack o Bark.

  • HTTPS direttamente nel container

    Certificato da una cartella (ad es. Nginx Proxy Manager / Let's Encrypt), tramite l'API di Cert Warden o autofirmato come ripiego. Nessun reverse proxy necessario.

Come funziona

Video e audio passano dal dispositivo del bambino al tuo container Docker e da lì ai dispositivi dei genitori. Il container inoltra i media (mediasoup SFU) – in diretta, senza registrazione.

Flusso: dispositivo bambino, server Docker nella LAN, dispositivi genitoriIl dispositivo del bambino invia video e audio tramite HTTPS e WebRTC al container babyphone-cam nella tua LAN. Il container li inoltra in diretta ai dispositivi dei genitori. Tutto resta nella LAN o nella VPN WireGuard, nessun cloud, nessuna registrazione. La tua LAN o VPN WireGuard nessun cloud Dispositivo bambino browser, camera + microfono Server Docker babyphone-cam HTTPS · login con PINmediasoup SFUsolo in diretta Dispositivi genitori quanti browser vuoi video + audio in diretta parlare, soglie, camera Flusso: dispositivo bambino, server Docker nella LAN, dispositivi genitoriIl dispositivo del bambino invia video e audio tramite HTTPS e WebRTC al container babyphone-cam nella tua LAN. Il container li inoltra in diretta ai dispositivi dei genitori. Tutto resta nella LAN o nella VPN WireGuard, nessun cloud, nessuna registrazione. La tua LAN o VPN WireGuard Dispositivo bambino browser, camera + microfono video + audio Server Docker babyphone-cam HTTPS · login con PINmediasoup SFUsolo in diretta in diretta Dispositivi genitori quanti browser vuoi nessun cloud

Immagini dell'app

Schermate reali dell'app con PIN di prova. I bambini nell'immagine della camera sono illustrazioni. L'interfaccia dell'app è disponibile in tedesco e inglese; le schermate mostrano la versione inglese.

Vista genitori con tre riquadri. Mia (camera) ha un bordo verde, Leo (camera) e Noah (solo audio) sono tranquilli. Sotto ogni riquadro: volume, soglia di suono e movimento, Talk e Switch camera.
Vista genitori: tre bambini, Mia con bordo verde
Vista ingrandita di Mia con un neonato illustrato che dorme nella culla, sotto i cursori e il pulsante Talk.
Vista ingrandita di un bambino
Procedura guidata passo 1 di 8: lingua con le opzioni Automatica, Deutsch, English, Italiano e Français.
Procedura guidata al primo avvio
Pagina impostazioni: PIN admin, PIN genitori e PIN bambino, ciascuno con l'origine del valore.
Impostazioni protette dal PIN admin
Vista genitori su un telefono: tre bambini uno sotto l'altro senza scorrere, Mia con bordo verde.
Vista genitori sul telefono
Pagina iniziale su un telefono con il logo, i pulsanti Child e Parents e Settings.
Pagina iniziale: scegliere il ruolo
Dispositivo bambino su un telefono: nome Mia selezionato, modalità Camera, fotocamera frontale, pulsante Start.
Dispositivo bambino: nome, modalità, camera
Dispositivo bambino in funzione: schermo nero, in basso il menu con Connected, Switch camera e Stop.
Dispositivo bambino attivo: schermo scuro

Privacy e sicurezza

  • Nessun cloud, nessun account

    Nessun server del produttore, nessuna registrazione, nessuna app. Il container gira a casa tua.

  • Solo LAN o VPN

    Pensato per la rete di casa o una VPN WireGuard. Di default sono ammessi solo dispositivi da reti private (IP allowlist).

  • Non viene registrato nulla

    Video e audio terminano nel container e vengono solo inoltrati in diretta. Non esistono registrazioni.

  • PIN protetti

    PIN separati per bambino, genitori e admin. Il login con PIN è limitato contro i tentativi ripetuti (rate limit).

  • Open source

    Codice sorgente con licenza AGPL-3.0 su GitHub. L'immagine viene ricostruita automaticamente ogni settimana per includere gli aggiornamenti di sicurezza.

Installazione

  1. Prendi compose.yaml e .env.example dal repository; imposta almeno l'IP del container (BABYPHONE_IP) e la cartella dei certificati (CERTS_DIR).
  2. Avvia il container, ad es. con docker compose up -d o come nuovo stack nel Compose Manager di Unraid.
  3. Apri https://<IP o nome>/ nel browser. La procedura guidata chiede lingua, PIN, nomi dei bambini, HTTPS, allarmi e webhook.
  4. Sul dispositivo del bambino scegli il ruolo bambino, su quello dei genitori il ruolo genitori – ognuno con il proprio PIN.

Requisiti

  • Un host Docker nella rete di casa, ad esempio Unraid.
  • Un certificato HTTPS per un nome che nella LAN punta al container. I browser consentono camera e microfono solo tramite HTTPS. Senza certificato il container ne usa uno autofirmato (avviso del browser).
  • LAN o VPN WireGuard (la sottorete VPN deve essere instradata verso la LAN).
  • Porte 443/tcp (web, WebSocket), 80/tcp (reindirizzamento a HTTPS) e 40000/udp + tcp (media).
  • Pensato per browser attuali (Chrome, Firefox, Safari, Edge) con accesso a camera o microfono.

Esempio abbreviato dal file compose/compose.yaml (Unraid, rete br0 con un proprio IP). Il file completo e protetto e .env.example si trovano nel repository.

# compose.yaml
services:
  babyphone:
    image: ghcr.io/helmi1987/babyphone-cam:latest
    container_name: babyphone
    restart: unless-stopped
    environment:
      - TZ=Europe/Zurich
      - CERTS_DIR=/certs
      - ANNOUNCED_IP=192.168.1.30
    volumes:
      - /mnt/user/appdata/babyphone:/data
      - /mnt/user/appdata/Nginx-Proxy-Manager-Official/letsencrypt:/certs:ro
    networks:
      br0:
        ipv4_address: 192.168.1.30

networks:
  br0:
    external: true

compose.yaml completo su GitHub

Domande frequenti

Serve un'app?

No. I dispositivi del bambino e dei genitori usano solo il browser.

Funziona anche fuori casa?

Solo tramite una VPN come WireGuard instradata nella rete di casa. Non esiste volutamente un accesso cloud.

Viene salvato o registrato qualcosa?

No. Video e audio vengono solo inoltrati in diretta. Vengono salvate le impostazioni, i PIN solo come hash.

A cosa fare attenzione sul dispositivo del bambino?

Tenere la pagina in primo piano, lo schermo sbloccato e il dispositivo collegato alla corrente. Bloccare lo schermo o cambiare app ferma camera e microfono (iOS, Android). Gli schermi LCD restano retroilluminati, solo gli OLED diventano davvero neri.

Su quali dispositivi è stato testato?

L'app è pensata per browser attuali (Chrome, Firefox, Safari, Edge). Testata su un vero iPhone (Safari). Android: nessun problema noto.

In quali lingue è disponibile l'app?

Tedesco, inglese, italiano e francese. Si imposta nella procedura guidata o nelle impostazioni; «Automatica» usa la lingua del browser, altrimenti l'inglese.

Quanto costa?

Niente. babyphone-cam è open source con licenza AGPL-3.0.