babyphone-cam
Le babyphone qui reste dans votre réseau domestique.
Un ancien téléphone ou une tablette devient la caméra près de l'enfant, n'importe quel autre appareil devient l'unité parents. Tout fonctionne dans le navigateur via votre propre conteneur Docker – sans app, sans compte, sans cloud.
Installer Voir sur GitHub 🧸 Faire un don
- Open source (AGPL-3.0)
- LAN ou VPN WireGuard
- Aucun enregistrement
Fonctions
Tout ce dont un babyphone a besoin au quotidien – directement dans le navigateur.
Appareil enfant et appareil parents
Chaque appareil choisit son rôle : enfant ou parents, chacun avec son propre PIN. Les réglages sont protégés par un PIN admin séparé.
Caméra ou téléphone
Mode « Camera » (vidéo et son) ou « Phone » (son uniquement). Nom choisi dans une liste ou libre. Caméra avant ou arrière, commutable aussi depuis l'appareil parents.
Écran sombre
L'appareil enfant s'assombrit tout en restant actif (wake lock). Un double appui affiche le menu.
Tous les enfants d'un coup d'œil
Les parents voient tous les enfants actifs à la fois dans une grille dynamique, sans défilement. Chaque vignette peut être agrandie.
Cadre vert en cas d'activité
En cas de bruit ou de mouvement, la vignette s'allume en vert. Seuils de son et de mouvement par enfant, réglables depuis l'appareil parents.
Écouter et parler
Écouter tous les enfants en même temps, volume par enfant, push-to-talk par enfant.
Mise au point automatique
En cas de bruit, les derniers enfants actifs, jusqu'à quatre, passent au premier plan pendant environ cinq secondes.
Alarme si un appareil enfant décroche
Si un appareil enfant se déconnecte, une alarme retentit sur les appareils parents et doit être confirmée. En plus, des webhooks (GET, POST, PUT), par exemple vers Gotify, Slack ou Bark.
HTTPS directement dans le conteneur
Certificat depuis un dossier (p. ex. Nginx Proxy Manager / Let's Encrypt), via l'API Cert Warden ou auto-signé en secours. Aucun reverse proxy nécessaire.
Fonctionnement
La vidéo et le son passent de l'appareil enfant à votre propre conteneur Docker, puis aux appareils parents. Le conteneur relaie les médias (mediasoup SFU) – en direct, sans enregistrement.
Images de l'app
Captures d'écran réelles de l'app avec des PIN de test. Les enfants dans l'image caméra sont des illustrations. L'interface de l'app existe en allemand et en anglais ; les captures montrent la version anglaise.
Confidentialité et sécurité
Pas de cloud, pas de compte
Pas de serveur du fabricant, pas d'inscription, pas d'app. Le conteneur tourne chez vous.
LAN ou VPN uniquement
Conçu pour le réseau domestique ou un VPN WireGuard. Par défaut, seuls les appareils de réseaux privés sont admis (liste d'IP autorisées).
Rien n'est enregistré
La vidéo et le son s'arrêtent au conteneur et ne sont relayés qu'en direct. Il n'y a aucun enregistrement.
PIN protégés
PIN séparés pour enfant, parents et admin. La connexion par PIN est limitée contre les essais répétés (rate limit).
Open source
Code source sous licence AGPL-3.0 sur GitHub. L'image est reconstruite automatiquement chaque semaine pour intégrer les mises à jour de sécurité.
Installation
- Reprendre compose.yaml et .env.example du dépôt ; définir au moins l'IP du conteneur (BABYPHONE_IP) et le dossier des certificats (CERTS_DIR).
- Démarrer le conteneur, p. ex. avec
docker compose up -dou comme nouvelle stack dans le Compose Manager d'Unraid. - Ouvrir
https://<IP ou nom>/dans le navigateur. L'assistant demande la langue, les PIN, les prénoms des enfants, HTTPS, les alarmes et les webhooks. - Sur l'appareil enfant, choisir le rôle enfant ; sur l'appareil parents, le rôle parents – chacun avec son PIN.
Prérequis
- Un hôte Docker dans le réseau domestique, par exemple Unraid.
- Un certificat HTTPS pour un nom qui pointe vers le conteneur dans le LAN. Les navigateurs n'autorisent caméra et micro qu'en HTTPS. Sans certificat, le conteneur utilise un certificat auto-signé (avertissement du navigateur).
- LAN ou VPN WireGuard (le sous-réseau VPN doit être routé vers le LAN).
- Ports 443/tcp (web, WebSocket), 80/tcp (redirection vers HTTPS) et 40000/udp + tcp (médias).
- Conçu pour les navigateurs actuels (Chrome, Firefox, Safari, Edge) avec accès à la caméra ou au micro.
Exemple abrégé du fichier compose/compose.yaml (Unraid, réseau br0 avec sa propre IP). Le fichier complet et renforcé ainsi que .env.example se trouvent dans le dépôt.
# 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
Questions fréquentes
Faut-il une app ?
Non. Les appareils enfant et parents utilisent seulement le navigateur.
Est-ce que ça marche hors de la maison ?
Uniquement via un VPN comme WireGuard routé vers le réseau domestique. Il n'y a volontairement aucun accès cloud.
Quelque chose est-il stocké ou enregistré ?
Non. La vidéo et le son ne sont relayés qu'en direct. Seuls les réglages sont stockés, les PIN uniquement sous forme de hash.
À quoi faut-il faire attention sur l'appareil enfant ?
Garder la page au premier plan, l'écran déverrouillé et l'appareil branché. Verrouiller ou changer d'app arrête caméra et micro (iOS, Android). Les écrans LCD restent rétroéclairés, seuls les OLED deviennent vraiment noirs.
Sur quels appareils a-t-il été testé ?
L'app est conçue pour les navigateurs actuels (Chrome, Firefox, Safari, Edge). Testée sur un vrai iPhone (Safari). Android : aucun problème connu.
Dans quelles langues l'app est-elle disponible ?
Allemand, anglais, italien et français. Réglable dans l'assistant de configuration ou dans les paramètres ; « Automatique » utilise la langue du navigateur, sinon l'anglais.
Combien ça coûte ?
Rien. babyphone-cam est open source sous licence AGPL-3.0.
Liste de souhaits
babyphone-cam est gratuit et le reste. Si vous voulez quand même donner quelque chose : les dons servent à des jouets, des accessoires pour enfants et du café pour les parents.
Café pour le service de nuit
Pour les parents réveillés à 3 h du matin.
CHF 5Canard en caoutchouc
Couine plus sûrement que n’importe quelle alarme.
CHF 10Nouveau nounours
L’ancien a été lavé trop souvent.
CHF 20Surprise
Vous choisissez le montant.
Montant libre
Paiement via PayPal (paypal.me/helmi1987). Volontaire, sans contrepartie.






