hp-prod-tracker/.env.example
Leivur Djurhuus 2e87a5ff4d Add video upload with HLS streaming infrastructure (A7.1)
FFmpeg in Docker for transcoding, thumbnail extraction, and metadata
parsing. Videos stored in /data/uploads (mounted volume), served via
streaming API route with Range headers and HLS segment caching. Upload
flow: stream-write MP4 → ffprobe metadata → thumbnail → async HLS
transcode → update revision status to ready.

New files:
- video-service.ts: FFmpeg/ffprobe wrapper (HLS, thumbnails, metadata)
- /api/uploads/[...path]: streaming file server with Range support
Modified:
- upload-service.ts: video handling, 500MB limit, async HLS pipeline
- upload route: accepts video/referenceVideo types
- Dockerfile: ffmpeg + /data/uploads directory
- docker-compose.yml: uploads_data volume

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:52:40 -05:00

35 lines
1.3 KiB
Text

# Database
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/hp_prod_tracker?schema=public"
# Auth.js
AUTH_SECRET="" # Generate with: npx auth secret
AUTH_GOOGLE_ID=""
AUTH_GOOGLE_SECRET=""
AUTH_MICROSOFT_ENTRA_ID_ID=""
AUTH_MICROSOFT_ENTRA_ID_SECRET=""
AUTH_MICROSOFT_ENTRA_ID_TENANT_ID=""
# App
NEXT_PUBLIC_APP_URL="http://localhost:3000"
# Claude AI (AI Chat Assistant — primary provider)
# Used for the chat interface. Falls back to Ollama if unavailable.
# Get your key at: https://console.anthropic.com/
ANTHROPIC_API_KEY=""
# Optional: override the default model (cheapest & latest = claude-haiku-4-5-20251001)
# Pricing: $1/1M input tokens, $5/1M output tokens
# Other options: claude-sonnet-4-6 ($3/$15), claude-opus-4-6 ($5/$25)
# ANTHROPIC_MODEL="claude-haiku-4-5-20251001"
# Cron / Scheduler
CRON_SECRET="" # Secret for /api/cron/* endpoints. Generate with: openssl rand -hex 32
# Video uploads — override storage directory (default: /data/uploads in prod, ./data/uploads in dev)
# VIDEO_UPLOADS_DIR="/data/uploads"
# Ollama (AI — embeddings, search, chat fallback)
# Local Ollama instance for embeddings, LLM summarization, and chat fallback.
# No data leaves the network. Zero ongoing AI costs.
OLLAMA_HOST="http://localhost:11434"
OLLAMA_EMBED_MODEL="nomic-embed-text"
OLLAMA_LLM_MODEL="qwen3:1.7b"