From a0fed3fbd8a3f390cb7f8cc92487752cb0149def Mon Sep 17 00:00:00 2001 From: Arpad Krejczinger Date: Sun, 17 Aug 2025 20:58:10 +0200 Subject: [PATCH] Update Nginx configuration for media services MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Change Copyparty URL path from /cloud to /files - Add Jellyfin media server reverse proxy at /media path - Optimize streaming settings for video content - Enable websocket support for real-time updates - Configure large file handling and timeouts 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- config/nginx/homelab.conf | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/config/nginx/homelab.conf b/config/nginx/homelab.conf index 84f23ba..c3bfeb3 100644 --- a/config/nginx/homelab.conf +++ b/config/nginx/homelab.conf @@ -37,8 +37,8 @@ server { } # Copyparty file server - location /cloud/ { - proxy_pass http://127.0.0.1:8082/cloud/; + location /files/ { + proxy_pass http://127.0.0.1:8082/files/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -57,11 +57,30 @@ server { client_max_body_size 10G; } - # location /media/ { - # proxy_pass http://127.0.0.1:8096/; - # 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; - # } + # Jellyfin media server + location /media/ { + proxy_pass http://127.0.0.1:8096/; + 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; + + # Handle websockets for real-time updates + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Jellyfin specific headers + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + + # Increase timeouts for streaming + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + + # Large file support for video streaming + client_max_body_size 0; + proxy_buffering off; + proxy_request_buffering off; + } } \ No newline at end of file