From b9fffa297f49a84df8ffd0d7b842599bc88a8e3e Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 4 Dec 2018 17:08:55 +0100 Subject: Create redundancy endpoint --- support/nginx/peertube | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'support/nginx') diff --git a/support/nginx/peertube b/support/nginx/peertube index b00031133..e0b006088 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -105,7 +105,7 @@ server { } # Bypass PeerTube for performance reasons. Could be removed - location /static/webseed { + location ~ ^/static/(webseed|redundancy)/ { # Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client limit_rate 800k; @@ -128,7 +128,12 @@ server { access_log off; } - alias /var/www/peertube/storage/videos; + root /var/www/peertube/storage; + + rewrite ^/static/webseed/(.*)$ /videos/$1 break; + rewrite ^/static/redundancy/(.*)$ /redundancy/$1 break; + + try_files $uri /; } # Websocket tracker -- cgit v1.2.3 From 4b49385892b25aea5aa9e605fbcb66074bcb49b0 Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Fri, 7 Dec 2018 05:58:17 -0800 Subject: Remove hard-coded 8GB upload limit in client (#1293) * Remove hard-coded 8GB upload limit in client Ideally we'd know what the specific server's configured upload limit is before starting, but this 8GB limit is not useful if an administrator has changed the nginx post limit on the server. * Better docs for admins about client_max_body_size Seems like some admins already tweak this value up or down to allow for different maximum video upload sizes. The current codebase has no other server-side limits that I'm aware of, and I've been routinely uploading quite large videos to my instance. This patch replaces the somewhat incorrect (or outdated?) 'hard limit' comment with some advice about allocating enough space for nginx and communicating the limit with your users. Of course it would be better if this configuration could be unified with PeerTube's config somehow. I'm not sure whether the best option there is to turn off nginx's buffering here and let PeerTube handle the entire upload (can we do this only for the video upload API endpoint?) or whether we want PeerTube to generate nginx configs in a more automated way layer. In any case, this patch is intended as an incremental improvement. --- support/nginx/peertube | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'support/nginx') diff --git a/support/nginx/peertube b/support/nginx/peertube index e0b006088..914ca3741 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -96,8 +96,18 @@ server { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - # Hard limit, PeerTube does not support videos > 8GB + # This is the maximum upload size, which roughly matches the maximum size of a video file + # you can send via the API or the web interface. By default this is 8GB, but administrators + # can increase or decrease the limit. Currently there's no way to communicate this limit + # to users automatically, so you may want to leave a note in your instance 'about' page if + # you change this. + # + # Note that temporary space is needed equal to the total size of all concurrent uploads. + # This data gets stored in /var/lib/nginx by default, so you may want to put this directory + # on a dedicated filesystem. + # client_max_body_size 8G; + proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; -- cgit v1.2.3 From 4a57b65cc5a3cea50c30c0e93eee7490845a170d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 29 Jan 2019 09:10:24 +0100 Subject: Support socket.io in nginx template --- support/nginx/peertube | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'support/nginx') diff --git a/support/nginx/peertube b/support/nginx/peertube index 914ca3741..54ffdcc32 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -158,4 +158,16 @@ server { proxy_set_header Host $host; proxy_pass http://localhost:9000; } + + location /socket.io { + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + + proxy_pass http://localhost:9000; + + # enable WebSockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } } -- cgit v1.2.3 From 7eeb6a0ba4028d0e20847b846332dd0b7747c7f8 Mon Sep 17 00:00:00 2001 From: Benjamin Bouvier Date: Sun, 10 Feb 2019 21:36:41 +0100 Subject: Nginx config file: remove text/html from gzip_types As stated by https://nginx.org/en/docs/http/ngx_http_gzip_module.html, text/html is always part of the gzip_types. This removes a warning when checking the Nginx configuration files. --- support/nginx/peertube | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'support/nginx') diff --git a/support/nginx/peertube b/support/nginx/peertube index 54ffdcc32..fee0f5d1c 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -41,7 +41,7 @@ server { # It might be nice to compress JSON, but leaving that out to protect against potential # compression+encryption information leak attacks like BREACH. gzip on; - gzip_types text/css text/html application/javascript; + gzip_types text/css application/javascript; gzip_vary on; # Enable HSTS -- cgit v1.2.3