chore: prepare repo for public release — scrub internal infra, rewrite README
- Remove owner-specific / legacy deploy files (home/prod/server compose, deploy/). The home compose stays as a local untracked file for the maintainer's own deploy. - Genericise infra-specific code comments (egress-proxy examples) to neutral wording. - Replace the hardcoded contact email on the legal pages with the instance operator's configured admin email, served via the public /auth/config and shown with a neutral fallback — so each self-hosted instance shows its own contact. - Rewrite README for the current app + a copy-paste self-hosting quick start (prebuilt image + first-run wizard) with a build-from-source alternative; tidy .env.example.
This commit is contained in:
parent
381794d9ae
commit
0d44d3a34a
10 changed files with 149 additions and 119 deletions
|
|
@ -805,4 +805,6 @@ def auth_config(db: Session = Depends(get_db)) -> dict:
|
|||
return {
|
||||
"google_enabled": google_enabled(db),
|
||||
"allow_registration": sysconfig.get_bool(db, "allow_registration"),
|
||||
# Contact shown on the public legal pages (the operator's admin email), if configured.
|
||||
"operator_contact": operator_contact(),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ class Settings(BaseSettings):
|
|||
# preferred for shared backfill/enrichment so it doesn't depend on a specific user.
|
||||
youtube_api_key: str = ""
|
||||
# Optional HTTP(S) proxy for outbound YouTube Data API calls. Set this to send the
|
||||
# scheduler's googleapis traffic through a fixed-IP host (e.g. the VPS over WireGuard) so an
|
||||
# IP-restricted API key keeps working even when this host's public IP is dynamic.
|
||||
# scheduler's googleapis traffic through a fixed-IP host so an IP-restricted API key
|
||||
# keeps working even when this host's public IP is dynamic.
|
||||
youtube_api_proxy: str = ""
|
||||
# Daily quota budget (units). Default leaves headroom under the 10,000/day free limit.
|
||||
quota_daily_budget: int = 9000
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ class YouTubeClient:
|
|||
def __init__(self, db, user: User):
|
||||
self.db = db
|
||||
self.user = user
|
||||
# Optionally route all YouTube traffic through a fixed-IP egress proxy (e.g. the VPS
|
||||
# over WireGuard) so an IP-restricted API key keeps working from a dynamic-IP host.
|
||||
# Optionally route all YouTube traffic through a fixed-IP egress proxy so an
|
||||
# IP-restricted API key keeps working from a host with a dynamic public IP.
|
||||
proxy = sysconfig.get_str(db, "youtube_api_proxy") or None
|
||||
self._http = httpx.Client(timeout=30.0, proxy=proxy)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue