# Postgres POSTGRES_USER=popularity POSTGRES_PASSWORD=popularity_dev_pw POSTGRES_DB=popularity POSTGRES_HOST=postgres POSTGRES_PORT=5432 DATABASE_URL=postgres://popularity:popularity_dev_pw@postgres:5432/popularity?sslmode=disable # Backend BACKEND_PORT=8080 BACKEND_HOST=0.0.0.0 # Auth (auth.marketmaker.cc) AUTH_ISSUER=auth.marketmaker.cc AUTH_JWKS_URL=https://auth.marketmaker.cc/api/v1/jwks AUTH_SERVICE_NAME=popularity # Frontend NEXT_PUBLIC_API_URL=http://localhost:8080 NEXT_PUBLIC_AUTH_URL=https://auth.marketmaker.cc/api/v1 # Scheduler FETCH_CRON=0 3 * * * # daily 03:00 UTC FETCH_WORKERS=4 # Platform credentials (fill in or leave blank to disable) YOUTUBE_API_KEY= X_BEARER_TOKEN= TELEGRAM_API_ID= TELEGRAM_API_HASH= FACEBOOK_ACCESS_TOKEN= INSTAGRAM_ACCESS_TOKEN= STACKEXCHANGE_KEY= # LinkedIn cookie-auth path (primary). Pulled from a logged-in browser # session. The cookie typically lives ~1 year. When unset the parser falls # back to the camoufox path below. LINKEDIN_LI_AT= LINKEDIN_JSESSIONID= # camoufox stealth-scraping wrapper. Resolves inside the docker network when # the `scraping` compose profile is up (docker compose --profile scraping up). # Leave blank to disable the camoufox fallback entirely; parsers that have no # other auth path (LinkedIn without LI_AT, Facebook without ACCESS_TOKEN) # will then return ErrAuth. CAMOUFOX_URL=http://camoufox:3000