- Add app/api/endpoints/plex.py with Plex webhook receiver (fail-closed on missing secret) - Add app/services/plex/ with Plex API client and gardening content filter - Wire plex router into routes.py at /plex prefix - Add Plex + cf-video config vars to app/core/config.py and .env.example - Rename /knowledge/ingest endpoint to /knowledge/glean (pipeline verb alignment) - Update tests to use /knowledge/glean endpoint - Add python-multipart to environment.yml for form/webhook body parsing - Add dev/dev-stop/dev-logs commands to manage.sh (hot-reload without Docker) - Fix frontend/tsconfig.node.json to extend tsconfig.json (not tsconfig.node.json) - Add .dev-pids/ to .gitignore - Add frontend/package-lock.json
29 lines
1 KiB
Text
29 lines
1 KiB
Text
# Waxwing API configuration — copy to .env and fill in values
|
|
# .env is gitignored; this file is committed as a template
|
|
|
|
API_PREFIX=/api/v1
|
|
DEBUG=false
|
|
|
|
# Data storage
|
|
DATA_DIR=./data
|
|
DB_PATH=./data/waxwing.db
|
|
|
|
# CORS — space or comma-separated origins
|
|
CORS_ORIGINS=http://localhost:8521,http://localhost:5173
|
|
|
|
# cf-orch coordinator (optional — leave blank for local-only use)
|
|
COORDINATOR_URL=http://localhost:7700
|
|
|
|
# License key (required for Paid/Premium tier features)
|
|
# CF_LICENSE_KEY=CFG-WXWG-XXXX-XXXX-XXXX
|
|
|
|
# Plex integration — Strahl library → cf-video → knowledge pipeline
|
|
# PLEX_URL=http://10.1.10.117:32400
|
|
# PLEX_TOKEN=<your-plex-token>
|
|
# PLEX_WEBHOOK_SECRET=<random-secret> # append to webhook URL: ?token=<secret> — required, fails closed if unset
|
|
# PLEX_GARDENING_SECTIONS=Garden Rescue,Gardener's World
|
|
# CF_VIDEO_URL=http://127.0.0.1:8016 # direct to cf-video on Muninn (via SSH tunnel port forward)
|
|
|
|
# Cloud mode (optional — enables per-user data isolation)
|
|
CLOUD_MODE=false
|
|
# CLOUD_DATA_ROOT=/devl/waxwing-cloud-data
|