Next.js 14 drink collection tracker with AI-powered search, menu scanning, ratings, wishlist, sharing, and CSV backup/restore. Features: - Auth (credentials + OAuth ready) - Drink collection with ratings and reviews - AI search via Claude/OpenAI with search history - Menu photo scanning with AI extraction - Wishlist / Try Later system - Public sharing via slug URLs - CSV backup and restore (merge/replace modes) - Docker Compose for Postgres + MinIO + dev server Security: docker-compose files use env var interpolation instead of hardcoded secrets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
710 B
Plaintext
27 lines
710 B
Plaintext
# Database
|
|
DATABASE_URL="postgresql://drinktracker:YOUR_PASSWORD@localhost:5432/drinktracker"
|
|
POSTGRES_USER="drinktracker"
|
|
POSTGRES_PASSWORD="YOUR_PASSWORD"
|
|
POSTGRES_DB="drinktracker"
|
|
|
|
# NextAuth
|
|
NEXTAUTH_URL="http://localhost:3000"
|
|
NEXTAUTH_SECRET="generate-with: openssl rand -base64 32"
|
|
|
|
# OAuth Providers
|
|
GOOGLE_CLIENT_ID=""
|
|
GOOGLE_CLIENT_SECRET=""
|
|
GITHUB_CLIENT_ID=""
|
|
GITHUB_CLIENT_SECRET=""
|
|
|
|
# MinIO / S3-compatible storage
|
|
MINIO_ENDPOINT="localhost"
|
|
MINIO_PORT="9000"
|
|
MINIO_ACCESS_KEY="generate-a-strong-access-key"
|
|
MINIO_SECRET_KEY="generate-a-strong-secret-key"
|
|
MINIO_BUCKET="drink-images"
|
|
MINIO_USE_SSL="false"
|
|
|
|
# Encryption (for API key storage)
|
|
ENCRYPTION_KEY="generate-with: openssl rand -hex 32"
|