Files
movies-diary/.env.example
Gabriel Kaszewski 5cb6fd5fbb
All checks were successful
CI / Check / Test (push) Successful in 1h12m41s
CI / Check / Test (pull_request) Successful in 1h6m20s
Refactor insights handling and error encoding in presentation layer
- Updated insights analyzer tests to use Utc for date handling.
- Added timezone support for insights retrieval, allowing insights to be bucketed by the user's local time.
- Introduced `encode_domain_error` for better error handling in API responses.
- Modified various handlers to utilize the new error encoding function.
- Enhanced insights API to reject unknown time zones and return appropriate errors.
- Updated frontend components to handle insights data with timezone awareness.
- Improved localization for insights sample counts.
2026-10-12 20:44:54 +02:00

60 lines
2.2 KiB
Plaintext

# ── Required ──────────────────────────────────────────────────
# Database (SQLite — file auto-created on first run)
DATABASE_URL=sqlite:///data/movies.db
# Authentication
JWT_SECRET=change-me-to-a-random-string
# Movie metadata — one of these is required (TMDB preferred)
# TMDB_API_KEY=your-tmdb-key
OMDB_API_KEY=your-omdb-key
# ── Recommended ──────────────────────────────────────────────
# Public URL (used for ActivityPub federation and canonical links)
BASE_URL=https://yourdomain.example.com
# Enable sign-ups (default: false — set true so you can register)
ALLOW_REGISTRATION=true
# ── Image Storage (defaults to local filesystem) ─────────────
# IMAGE_STORAGE_BACKEND=local # default
# IMAGE_STORAGE_PATH=./images # default
# S3-compatible alternative (MinIO, AWS S3, etc.):
# IMAGE_STORAGE_BACKEND=s3
# MINIO_ENDPOINT=http://localhost:9000
# MINIO_BUCKET=posters
# MINIO_REGION=minio
# MINIO_ACCESS_KEY_ID=minioadmin
# MINIO_SECRET_ACCESS_KEY=minioadmin
# ── Optional ─────────────────────────────────────────────────
# TMDb enrichment (cast, crew, genres — separate from search metadata above)
# TMDB_API_KEY=your-tmdb-key
# Image conversion (converts uploaded posters to AVIF or WebP)
# IMAGE_CONVERSION_ENABLED=false
# IMAGE_CONVERSION_FORMAT=avif
# Server
# HOST=0.0.0.0
# PORT=3000
# RATE_LIMIT=60
# SECURE_COOKIES=true
# Handler-level logs come from the `presentation` crate; startup/wiring logs come
# from `server`. Include both — `server=info` alone silently drops handler logs.
# Crates not named here (adapters, etc.) still log warnings and errors unless
# you set a bare level yourself (e.g. `info,presentation=debug`).
# RUST_LOG=server=info,presentation=info,tower_http=info,worker=info
# CORS (for SPA development only)
# CORS_ORIGINS=http://localhost:5173
# Event bus — "db" (default, uses same database) or "nats"
# EVENT_BUS_BACKEND=db
# NATS_URL=nats://localhost:4222