From 6834849cad1fd38a49eefbefd7879ccbc0f6693e Mon Sep 17 00:00:00 2001 From: Trevor Mears Date: Mon, 12 Jan 2026 16:50:12 -0800 Subject: [PATCH] chore: updated readme nginx example --- README.md | 11 ++++++++--- server/services/syncService.js | 1 - 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 938c960..856b3e4 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,6 @@ If you're running nodecast-tv behind a reverse proxy (Nginx, Caddy, Traefik) wit | Symptom | Likely Cause | Solution | |---------|--------------|----------| | Streams fail with `fragLoadError` | Mixed content (HTTPS page loading HTTP streams) | Enable **"Force Backend Proxy"** in Settings → Streaming | -| Channel icons don't load | Mixed content on images | Icons are now automatically proxied on HTTPS - update to latest version | | Streams work on HTTP but not HTTPS | Reverse proxy not passing headers correctly | Ensure `X-Forwarded-Proto` header is set (see examples below) | **Caddy example:** @@ -199,11 +198,17 @@ tv.domain.com { ```nginx location / { proxy_pass http://nodecast:3000; - proxy_buffering off; + proxy_http_version 1.1; # Required for chunked transfers and keep-alive + proxy_buffering off; # Don't buffer responses (required for streaming) + proxy_request_buffering off; # Don't buffer requests + proxy_read_timeout 300s; # VOD: 5 min timeout for large files + proxy_connect_timeout 60s; # VOD: Connection timeout + client_max_body_size 0; # No upload size limit proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Proto $scheme; # Required for HTTPS detection + proxy_set_header Connection ""; # VOD: Enable keep-alive for Range requests } ``` diff --git a/server/services/syncService.js b/server/services/syncService.js index 917d060..18429b4 100644 --- a/server/services/syncService.js +++ b/server/services/syncService.js @@ -471,7 +471,6 @@ class SyncService { category_id: ch.groupTitle || 'Uncategorized', stream_icon: ch.tvgLogo, stream_url: ch.url, - // Include tvgId for EPG matching (stored in data JSON blob) tvgId: ch.tvgId || null, }));