2026-03-14 23:29:34 -05:00
2026-03-28 12:08:34 -05:00
2026-04-01 13:47:56 -05:00
2026-04-02 08:10:42 -05:00

Sprout Track

v1.2.4 😁 - A self-hosted Next.js application for tracking baby activities, milestones, and development.

Docker Stars Docker Image Size Docker Pulls

Sprout Track

Live Demo

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

Quick Start: Docker (SQLite)

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:latest

Quick Start: Docker (PostgreSQL)

Requires 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:latest

Open 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.

Quick Start: Local (SQLite)

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 start

Open 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.

First-Time Setup

On first access, the Setup Wizard walks you through:

  1. Family Setup -- family name, URL slug, optional data import
  2. Security Setup -- system-wide PIN or individual caretaker PINs
  3. 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.

Documentation

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

Tech Stack

  • Next.js with App Router
  • TypeScript
  • Prisma with SQLite or PostgreSQL
  • TailwindCSS
  • Docker
  • PWA with Push Notifications, Keep Awake, and Full Screen (on supported devices)
S
Description
A tracker to track baby diapers, feedings, naps, pumping, and other activities.
Readme 69 MiB
Languages
TypeScript 86.5%
JavaScript 6.9%
CSS 5.3%
Shell 1.2%