diff --git a/nixos/modules/services/web-apps/peertube.nix b/nixos/modules/services/web-apps/peertube.nix index 4f5ea3390e8801..bffc74e1061005 100644 --- a/nixos/modules/services/web-apps/peertube.nix +++ b/nixos/modules/services/web-apps/peertube.nix @@ -355,19 +355,20 @@ in { tmp_persistent = lib.mkDefault "/var/lib/peertube/storage/tmp_persistent/"; bin = lib.mkDefault "/var/lib/peertube/storage/bin/"; avatars = lib.mkDefault "/var/lib/peertube/storage/avatars/"; + logs = lib.mkDefault "/var/lib/peertube/storage/logs/"; web_videos = lib.mkDefault "/var/lib/peertube/storage/web-videos/"; streaming_playlists = lib.mkDefault "/var/lib/peertube/storage/streaming-playlists/"; + original_video_files = lib.mkDefault "/var/lib/peertube/storage/original-video-files/"; redundancy = lib.mkDefault "/var/lib/peertube/storage/redundancy/"; - logs = lib.mkDefault "/var/lib/peertube/storage/logs/"; - previews = lib.mkDefault "/var/lib/peertube/storage/previews/"; thumbnails = lib.mkDefault "/var/lib/peertube/storage/thumbnails/"; storyboards = lib.mkDefault "/var/lib/peertube/storage/storyboards/"; - torrents = lib.mkDefault "/var/lib/peertube/storage/torrents/"; + previews = lib.mkDefault "/var/lib/peertube/storage/previews/"; captions = lib.mkDefault "/var/lib/peertube/storage/captions/"; + torrents = lib.mkDefault "/var/lib/peertube/storage/torrents/"; cache = lib.mkDefault "/var/lib/peertube/storage/cache/"; plugins = lib.mkDefault "/var/lib/peertube/storage/plugins/"; - well_known = lib.mkDefault "/var/lib/peertube/storage/well_known/"; client_overrides = lib.mkDefault "/var/lib/peertube/storage/client-overrides/"; + well_known = lib.mkDefault "/var/lib/peertube/storage/well_known/"; }; import = { videos = { @@ -510,10 +511,20 @@ in { '' + nginxCommonHeaders; }; + locations."~ ^/api/v1/users/[^/]+/imports/import-resumable$" = { + tryFiles = "/dev/null @api"; + priority = 1130; + + extraConfig = '' + client_max_body_size 0; + proxy_request_buffering off; + '' + nginxCommonHeaders; + }; + locations."~ ^/api/v1/videos/(upload|([^/]+/studio/edit))$" = { tryFiles = "/dev/null @api"; root = cfg.settings.storage.tmp; - priority = 1130; + priority = 1140; extraConfig = '' limit_except POST HEAD { deny all; } @@ -526,7 +537,7 @@ in { locations."~ ^/api/v1/runners/jobs/[^/]+/(update|success)$" = { tryFiles = "/dev/null @api"; root = cfg.settings.storage.tmp; - priority = 1135; + priority = 1150; extraConfig = '' client_max_body_size 12G; @@ -536,7 +547,7 @@ in { locations."~ ^/api/v1/(videos|video-playlists|video-channels|users/me)" = { tryFiles = "/dev/null @api"; - priority = 1140; + priority = 1160; extraConfig = '' client_max_body_size 6M; @@ -546,7 +557,7 @@ in { locations."@api" = { proxyPass = "http://peertube"; - priority = 1150; + priority = 1170; extraConfig = '' proxy_set_header Host $host; @@ -684,8 +695,6 @@ in { if ($request_method = 'GET') { ${nginxCommonHeaders} ${nginxCommonHeadersExtra} - - access_log off; } aio threads; @@ -721,8 +730,6 @@ in { if ($request_method = 'GET') { ${nginxCommonHeaders} ${nginxCommonHeadersExtra} - - access_log off; } aio threads; @@ -758,8 +765,6 @@ in { if ($request_method = 'GET') { ${nginxCommonHeaders} ${nginxCommonHeadersExtra} - - access_log off; } aio threads; @@ -795,8 +800,6 @@ in { if ($request_method = 'GET') { ${nginxCommonHeaders} ${nginxCommonHeadersExtra} - - access_log off; } aio threads; diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix index a839feda1f0a89..58f9a74b8f0be2 100644 --- a/pkgs/servers/peertube/default.nix +++ b/pkgs/servers/peertube/default.nix @@ -46,33 +46,33 @@ let in stdenv.mkDerivation rec { pname = "peertube"; - version = "6.0.4"; + version = "6.3.3"; src = fetchFromGitHub { owner = "Chocobozzz"; repo = "PeerTube"; - rev = "v${version}"; - hash = "sha256-FxXIvibwdRcv8OaTQEXiM6CvWOIptfQXDQ1/PW910wg="; + rev = "refs/tags/v${version}"; + hash = "sha256-kPZcCJtnoqE1g0fAuM98IhuDy1E9QBDkFNWrWIpFIDA="; }; yarnOfflineCacheServer = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-RJX92EgEIXWB1wNFRl8FvseOqBT+7m6gs+pMyoodruk="; + hash = "sha256-I6TC5KO+NQ0NAtoJzYQPLelp8/hYUtIeof+UI45qpdk="; }; yarnOfflineCacheClient = fetchYarnDeps { yarnLock = "${src}/client/yarn.lock"; - hash = "sha256-vr9xn5NXwiUS59Kgl8olCtkMgxnI1TKQzibKbb8RNXA="; + hash = "sha256-ADck9+5TDZ3OGInZ+NYYpBg9XXHugtiwyxYCYqSIOzM="; }; yarnOfflineCacheAppsCli = fetchYarnDeps { yarnLock = "${src}/apps/peertube-cli/yarn.lock"; - hash = "sha256-xsB71bnaPn/9/f1KHyU3TTwx+Q+1dLjWmNK2aVJgoRY="; + hash = "sha256-t5MwysPVLbtIfDhvnwWoGocck1ntP8OP9Vf9DF6L7Cg="; }; yarnOfflineCacheAppsRunner = fetchYarnDeps { yarnLock = "${src}/apps/peertube-runner/yarn.lock"; - hash = "sha256-9w3aLuiLs7SU00YwuE0ixfiD77gCakXT4YeRpfsgGz0="; + hash = "sha256-x5qFCprn8q0xC88HudLV7W53X1Nkbz3F52RMp2PxIu8="; }; outputs = [ "out" "cli" "runner" ]; @@ -134,6 +134,7 @@ stdenv.mkDerivation rec { ~/packages/models/dist/ \ ~/packages/node-utils/dist/ \ ~/packages/server-commands/dist/ \ + ~/packages/transcription/dist/ \ ~/packages/typescript-utils/dist/ \ \( -name '*.d.ts' -o -name '*.d.ts.map' \) -type f -delete ''; @@ -144,12 +145,13 @@ stdenv.mkDerivation rec { mv ~/node_modules $out/node_modules mkdir $out/client mv ~/client/{dist,node_modules,package.json,yarn.lock} $out/client - mkdir -p $out/packages/{core-utils,ffmpeg,models,node-utils,server-commands,typescript-utils} + mkdir -p $out/packages/{core-utils,ffmpeg,models,node-utils,server-commands,transcription,typescript-utils} mv ~/packages/core-utils/{dist,package.json} $out/packages/core-utils mv ~/packages/ffmpeg/{dist,package.json} $out/packages/ffmpeg mv ~/packages/models/{dist,package.json} $out/packages/models mv ~/packages/node-utils/{dist,package.json} $out/packages/node-utils mv ~/packages/server-commands/{dist,package.json} $out/packages/server-commands + mv ~/packages/transcription/{dist,package.json} $out/packages/transcription mv ~/packages/typescript-utils/{dist,package.json} $out/packages/typescript-utils mv ~/{config,support,CREDITS.md,FAQ.md,LICENSE,README.md,package.json,yarn.lock} $out