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
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.
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.
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
- Prendi compose.yaml e .env.example dal repository; imposta almeno l'IP del container (BABYPHONE_IP) e la cartella dei certificati (CERTS_DIR).
- Avvia il container, ad es. con
docker compose up -do come nuovo stack nel Compose Manager di Unraid. - Apri
https://<IP o nome>/nel browser. La procedura guidata chiede lingua, PIN, nomi dei bambini, HTTPS, allarmi e webhook. - 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
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.
Lista dei desideri
babyphone-cam è gratuito e lo resta. Se vuoi comunque dare qualcosa: le donazioni vanno in giocattoli, accessori per bambini e caffè per i genitori.
Caffè per il turno di notte
Per i genitori svegli alle 3 di notte.
CHF 5Paperella di gomma
Squittisce in modo più affidabile di qualsiasi allarme.
CHF 10Nuovo orsacchiotto
Quello vecchio è stato lavato troppe volte.
CHF 20Sorpresa
Scegli tu l’importo.
Importo libero
Pagamento tramite PayPal (paypal.me/helmi1987). Volontario, senza contropartita.






