Files
2026-06-09 18:40:21 +02:00

128 lines
6.3 KiB
Markdown

---
title: Sprout Track
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, tracking, bebe, parenting, pwa, nextjs, postgresql]
confidence: high
contested: false
sources: [https://selfh.st/apps/sprout-track, https://github.com/Oak-and-Sprout/sprout-track]
---
# Sprout Track
> Un tracker de bébé moderne et mobile-first, conçu par un parent pour les parents, qui enregistre tétées, changes, siestes, médicaments et jalons de développement.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://www.sprout-track.com/ |
| **GitHub** | https://github.com/Oak-and-Sprout/sprout-track |
| **License** | MIT |
| **Langage principal** | TypeScript (Next.js) |
| **Étoiles GitHub** | ⭐307 |
| **Dernière MAJ** | 2026-05-19 (v1.3.4) |
| **Catégorie** | [[cat-tracking]] |
## Description
Sprout Track est né d'un besoin très concret : un jeune papa a développé l'application pour sa propre femme afin de **suivre les activités du nouveau-né** au quotidien. Cette origine « parent-first » se ressent dans l'ergonomie : l'interface est **mobile-first**, optimisée pour être utilisée d'une seule main en pleine nuit, et propose un **mode Nursery** plein écran avec de gros boutons et un fond configurable, idéal pour les crèches ou les changes nocturnes.
Les **types d'activités suivis** couvrent l'essentiel : sommeil (siestes et nuit avec qualité), tétées (au sein avec durée par côté, au biberon avec volume), changes (couleur, consistance), bain, mesures (poids, taille, périmètre crânien), médicaments, activités d'éveil, et **jalons de développement** avec suivi des courbes de percentiles. Le **calendrier mensuel** permet de visualiser d'un coup d'œil l'historique avec code couleur par type d'activité. Les **rapports mensuels PDF** sont générés automatiquement et exportables, parfaits pour les rendez-vous pédiatriques.
L'aspect **multi-utilisateurs et multi-familles** est particulièrement bien pensé : on peut gérer plusieurs bébés dans un même espace famille, inviter grands-parents, nounous ou assistantes maternelles avec des **PIN individuels**, et recevoir des **notifications push en temps réel** dès qu'une activité est enregistrée. La fonction **multi-familles** permet aussi d'héberger sur la même instance les enfants de plusieurs familles proches (chacun avec son tableau de bord isolé). Les données restent sous votre contrôle total puisque c'est vous qui hébergez. Sprout Track est aussi une **PWA installable** sur mobile avec notifications et mode « keep awake ».
## Installation
### Via Docker (recommandé, SQLite)
```yaml
services:
sprout-track:
container_name: sprout-track
image: sprouttrack/sprout-track:latest
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- sprout-track-db:/db
- sprout-track-env:/app/env
- sprout-track-files:/app/Files
```
PIN par défaut : `111222` — à changer immédiatement après la première connexion.
### Via Docker (PostgreSQL)
```yaml
services:
sprout-track:
container_name: sprout-track
image: sprouttrack/sprout-track:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DATABASE_PROVIDER=postgresql
- DATABASE_URL=postgresql://sprout:***@db:5432/sprout_track
- LOG_DATABASE_URL=postgresql://sprout:***@db:5432/sprout_track_logs
volumes:
- sprout-track-env:/app/env
- sprout-track-files:/app/Files
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_DB=sprout_track
- POSTGRES_USER=sprout
- POSTGRES_PASSWORD=*** volumes:
- sprout-pg:/var/lib/postgresql/data
volumes:
sprout-pg:
```
Pré-créer les bases `sprout_track` et `sprout_track_logs` avant le premier démarrage.
### Installation manuelle
1. Node.js 22+, npm 10+, Git, Bash requis
2. `git clone https://github.com/Oak-and-Sprout/sprout-track.git`
3. `chmod +x scripts/*.sh && ./scripts/setup.sh`
4. `npm run start`
## Configuration
- L'**assistant de première configuration** (`Setup Wizard`) guide la création de la famille, du PIN global ou individuel, et du profil bébé (nom, date de naissance, seuils d'alerte tétée/change).
- L'**interface d'administration** (`/family-manager`, mot de passe par défaut `admin`) permet de gérer domaine, HTTPS, email, sauvegardes et notifications push.
- Configurer le **fuseau horaire** dès le départ pour des statistiques correctes.
- Activer les **notifications push** (VAPID keys) si vous voulez recevoir les alertes multi-aidants.
- Configurer les **sauvegardes automatiques** depuis l'admin (cron interne).
## Alternatives
### Open source
- [[app-baby-buddy]] — la référence Django, plus ancienne et plus complète côté API/reporting
- **Finnberry** — alternative Flutter plus jeune, axée sur le suivi sommeil/alimentation
- **Sara Baby Tracker** — application Flutter open source
- **Grocy** — n'est pas spécifique bébé, mais permet de gérer des routines
### Propriétaires
- **Huckleberry** — IA de prédiction des siestes, freemium
- **Baby Tracker (Nighp)** — app mobile populaire mais cloud-only
- **Tinybeans** — journal photo du bébé, orienté réseau social familial
## Sécurité
- **Authentification par PIN** : changer le PIN par défaut `111222` et celui de l'admin (`admin` → autre chose).
- **HTTPS obligatoire** : configurer un reverse proxy (Caddy, Traefik) avec Let's Encrypt, surtout pour activer les notifications push.
- **Sauvegarder** les volumes `sprout-track-db`, `sprout-track-env` et `sprout-track-files` régulièrement.
- En multi-familles, **isoler correctement** les espaces (tester la séparation des données avant d'inviter).
- Le **mode Nursery plein écran** peut être épinglé pour limiter l'accès des jeunes enfants à d'autres fonctions.
- Si vous activez l'accès distant, **VPN recommandé** (Tailscale, WireGuard) plutôt qu'une exposition directe.
## Ressources
- Site officiel : https://www.sprout-track.com/
- Démo en ligne : https://www.sprout-track.com/demo (PIN `111111`)
- Dépôt GitHub : https://github.com/Oak-and-Sprout/sprout-track
- Image Docker Hub : `sprouttrack/sprout-track`
- Discussion Reddit : https://www.reddit.com/r/selfhosted/comments/1jy6y1f/
## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]