v1.3.1 😁 - A self-hosted Next.js application for tracking baby activities, milestones, and development.
Try out Sprout Track at our live demo: https://www.sprout-track.com/demo
The demo environment is refreshed every 1 hour.
- ID:
01 - PIN:
111111
Track sleep, feeding, diapers, bath, measurements, medicine, activities, milestones, and more. The daily dashboard gives you an at-a-glance summary with real-time stats and active session tracking.
Browse activity history on a monthly calendar with color-coded indicators by activity type. Tap any day to see a detailed breakdown.
Monthly reports with growth metrics, percentile curves, feeding stats, sleep analysis, and activity breakdowns. Export a monthly report card as a PDF.
Searchable, filterable activity log with pagination and data export to csv or xlsx.
A fullscreen, tap-friendly interface with large buttons — perfect for daycare providers and nighttime use. Configurable background colors and brightness.
Full dark theme support across the entire application.
Available in English, Spanish, French, German, and Italian. Language preferences are saved per-user.
Real-time push notifications keep all caretakers informed when activities are logged.
API key management and webhook support for external integrations like Home Assistant, Grafana, and NFC tags.
- PWA — Install on any device with notifications, keep-awake mode, and fullscreen
- Multi-Family - Setup separate family dashboards to allow friends and family to privately track their child
- Multi-Caretaker — Each family uses individual PINs for parents, grandparents, babysitters, and daycare
- Family Accounts — Track multiple babies in a shared family workspace
- SQLite or PostgreSQL — Choose the database that fits your setup
- Self-Hosted — Full control over your data with Docker deployment
- Backup & Restore — Database backup and recovery built in
- Track Contacts - Track shared contacts, and tie them to medications, calendar events, or have them readily accessible in app
docker run -d \
--name sprout-track \
--restart unless-stopped \
-p 3000:3000 \
-v sprout-track-db:/db \
-v sprout-track-env:/app/env \
-v sprout-track-files:/app/Files \
sprouttrack/sprout-track:latestRequires an existing PostgreSQL 14+ server. Create the sprout_track and sprout_track_logs databases, then run:
docker run -d \
--name sprout-track \
--restart unless-stopped \
-p 3000:3000 \
-e DATABASE_PROVIDER=postgresql \
-e DATABASE_URL="postgresql://user:password@your-host:5432/sprout_track" \
-e LOG_DATABASE_URL="postgresql://user:password@your-host:5432/sprout_track_logs" \
-v sprout-track-env:/app/env \
-v sprout-track-files:/app/Files \
sprouttrack/sprout-track:latestOpen http://localhost:3000 in your browser.
- Default PIN:
111222 - Default /family-manager admin password:
admin
The Setup Wizard will guide you through initial configuration on first access.
See Docker Deployment for docker-compose setup, volumes, custom ports, and container details.
Requires Node.js 22+, npm 10+, Git, and Bash.
git clone https://github.com/Oak-and-Sprout/sprout-track.git
cd sprout-track
chmod +x scripts/*.sh
./scripts/setup.sh
npm run startOpen http://localhost:3000 in your browser.
PostgreSQL is also supported for local deployments. See Local Deployment for PostgreSQL setup, manual setup, available scripts, and service management.
On first access, the Setup Wizard walks you through:
- Family Setup -- family name, URL slug, optional data import
- Security Setup -- system-wide PIN or individual caretaker PINs
- Baby Setup -- name, birth date, feed/diaper warning thresholds
The Family Manager at /family-manager (default password: admin) provides admin controls for domain settings, HTTPS, email, database backups, and push notifications.
See Initial Setup for details.
| Guide | Description |
|---|---|
| Docker Deployment | Volumes, ports, container startup, building locally |
| Local Deployment | Manual setup, scripts reference, systemd service |
| Initial Setup | Setup Wizard, default credentials, Family Manager |
| Environment Variables | Full variable reference, auto-generation, security notes |
| Upgrades and Backups | Upgrade procedures, backup/restore for Docker and local |
| Push Notifications | VAPID keys, cron setup, per-user configuration |
| Webhook API | External integrations (Home Assistant, Grafana, NFC, etc.) |
| API Logging | Optional request/response logging |
| Admin Password Reset | Automatic reset when upgrading from older versions |
- Next.js with App Router
- Prisma with SQLite or PostgreSQL
- Tailwind
- Docker














