Files
Lottery-Tracker/DOCKER_QUICKSTART.md
2026-02-18 08:24:54 -05:00

2.0 KiB

Docker Quick Start

What's Included

Docker Files

  • Dockerfile.backend — Flask API with Playwright & Chromium
  • Dockerfile.frontend — Next.js standalone production build
  • docker-compose.yml — Development setup (backend + frontend)
  • docker-compose.prod.yml — Production setup (+ nginx reverse proxy)
  • nginx.conf — Reverse proxy with rate limiting & caching
  • .env.example — All available environment variables

Quick Start

1. Configure

cp .env.example .env

2. Start

# Windows
docker-start.bat

# Linux/macOS
./docker-start.sh

# Or directly
docker compose up -d

3. Open


What Gets Deployed

Backend Container

  • Python 3.13 + Flask + Gunicorn (2 workers)
  • Playwright with Chromium (for Canadian lottery scraping)
  • Unified scraper for Powerball, Mega Millions, Lotto Max, Lotto 6/49
  • Investment calculator with tax, annuity, group play, break-even
  • TTL-cached jackpot data (6 hours default)

Frontend Container

  • Node.js 20 + Next.js 15 standalone build
  • Material-UI dark theme
  • 6 interactive pages (Calculator, Compare, Break-Even, Annuity, Group Play, Odds)

Nginx (Production Only)

  • Reverse proxy for API and frontend
  • Rate limiting (10 req/s burst 20)
  • Static asset caching (30 days)
  • HTTPS ready (see ssl/README.md)

Common Commands

# View logs
docker compose logs -f

# Restart
docker compose restart

# Rebuild after code changes
docker compose up -d --build

# Stop
docker compose down

# Production
docker compose -f docker-compose.prod.yml up -d

Troubleshooting

  1. Check Docker Desktop is running
  2. Ensure ports 3000 and 5000 are available
  3. Check logs: docker compose logs
  4. Rebuild: docker compose up -d --build
  5. Reset: docker compose down && docker compose up -d

See DOCKER_README.md for detailed troubleshooting.