Backend: cache Google access tokens (drop dead access_token_expires_at, migration 0007), handle MeTube cleared/canceled events by URL, return email from /auth/status only when authenticated, move Google base URLs into settings, run container as non-root. Frontend: include local feed filters in the query key, remove dead Saved page and unused assets, drop stale CategoryNav props and classes, send Content-Type only with a body, remove Uncategorized from sidebar.
32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
APP_ENV=production
|
|
APP_BASE_URL=https://testmyyoutube.vrubel.xyz
|
|
APP_PORT=8080
|
|
APP_SECRET_KEY=CHANGE_ME
|
|
TOKEN_ENCRYPTION_KEY=CHANGE_ME
|
|
|
|
POSTGRES_PASSWORD=CHANGE_ME
|
|
DATABASE_URL=postgresql+psycopg://youtube_app:CHANGE_ME@postgres:5432/youtube_app
|
|
|
|
GOOGLE_CLIENT_ID=
|
|
GOOGLE_CLIENT_SECRET=
|
|
GOOGLE_REDIRECT_URI=https://testmyyoutube.vrubel.xyz/api/auth/google/callback
|
|
ALLOWED_GOOGLE_EMAIL=
|
|
|
|
# Google/YouTube endpoints (необязательно, есть дефолты)
|
|
GOOGLE_AUTH_URI=https://accounts.google.com/o/oauth2/auth
|
|
GOOGLE_TOKEN_URI=https://oauth2.googleapis.com/token
|
|
GOOGLE_USERINFO_URI=https://www.googleapis.com/oauth2/v3/userinfo
|
|
GOOGLE_REVOKE_URI=https://oauth2.googleapis.com/revoke
|
|
YOUTUBE_API_BASE_URL=https://www.googleapis.com/youtube/v3
|
|
YOUTUBE_WATCH_URL_TEMPLATE=https://www.youtube.com/watch?v={video_id}
|
|
|
|
METUBE_API_BASE_URL=http://192.168.8.177:8081
|
|
METUBE_PUBLIC_BASE_URL=http://192.168.8.177:8081
|
|
METUBE_CONTAINER_DOWNLOAD_DIR=/downloads
|
|
METUBE_REQUEST_TIMEOUT_SECONDS=30
|
|
|
|
SUBSCRIPTIONS_SYNC_INTERVAL_HOURS=6
|
|
VIDEOS_SYNC_INTERVAL_MINUTES=60
|
|
VIDEOS_PER_CHANNEL_SYNC=10
|
|
|
|
LOG_LEVEL=INFO
|