Merge pull request #198724 from Izorkin/update-peertube

Sandro 655ab77b 7e2a6249

Changed files
+25 -3
nixos
modules
services
web-apps
+25 -3
nixos/modules/services/web-apps/peertube.nix
···
node ~/dist/server/tools/peertube.js $@
'';
-
nginxCommonHeaders = ''
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, OPTIONS';
add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
···
systemd.services.peertube-init-db = lib.mkIf cfg.database.createLocally {
description = "Initialization database for PeerTube daemon";
after = [ "network.target" "postgresql.service" ];
-
wantedBy = [ "multi-user.target" ];
script = let
psqlSetupCommands = pkgs.writeText "peertube-init.sql" ''
···
systemd.services.peertube = {
description = "PeerTube daemon";
after = [ "network.target" ]
-
++ lib.optionals cfg.redis.createLocally [ "redis.service" ]
++ lib.optionals cfg.database.createLocally [ "postgresql.service" "peertube-init-db.service" ];
wantedBy = [ "multi-user.target" ];
···
extraConfig = ''
client_max_body_size 12G;
add_header X-File-Maximum-Size 8G always;
'';
};
···
extraConfig = ''
client_max_body_size 6M;
add_header X-File-Maximum-Size 4M always;
'';
};
···
priority = 1320;
extraConfig = ''
add_header Cache-Control 'public, max-age=604800, immutable';
'';
};
···
rewrite ^/static/webseed/(.*)$ /$1 break;
'';
};
};
};
···
node ~/dist/server/tools/peertube.js $@
'';
+
nginxCommonHeaders = lib.optionalString cfg.enableWebHttps ''
+
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains';
+
'' + lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.http3 ''
+
add_header Alt-Svc 'h3=":443"; ma=86400';
+
'' + ''
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, OPTIONS';
add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
···
systemd.services.peertube-init-db = lib.mkIf cfg.database.createLocally {
description = "Initialization database for PeerTube daemon";
after = [ "network.target" "postgresql.service" ];
+
requires = [ "postgresql.service" ];
script = let
psqlSetupCommands = pkgs.writeText "peertube-init.sql" ''
···
systemd.services.peertube = {
description = "PeerTube daemon";
after = [ "network.target" ]
+
++ lib.optional cfg.redis.createLocally "redis-peertube.service"
+
++ lib.optionals cfg.database.createLocally [ "postgresql.service" "peertube-init-db.service" ];
+
requires = lib.optional cfg.redis.createLocally "redis-peertube.service"
++ lib.optionals cfg.database.createLocally [ "postgresql.service" "peertube-init-db.service" ];
wantedBy = [ "multi-user.target" ];
···
extraConfig = ''
client_max_body_size 12G;
add_header X-File-Maximum-Size 8G always;
+
'' + lib.optionalString cfg.enableWebHttps ''
+
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains';
+
'' + lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.http3 ''
+
add_header Alt-Svc 'h3=":443"; ma=86400';
'';
};
···
extraConfig = ''
client_max_body_size 6M;
add_header X-File-Maximum-Size 4M always;
+
'' + lib.optionalString cfg.enableWebHttps ''
+
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains';
+
'' + lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.http3 ''
+
add_header Alt-Svc 'h3=":443"; ma=86400';
'';
};
···
priority = 1320;
extraConfig = ''
add_header Cache-Control 'public, max-age=604800, immutable';
+
'' + lib.optionalString cfg.enableWebHttps ''
+
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains';
+
'' + lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.http3 ''
+
add_header Alt-Svc 'h3=":443"; ma=86400';
'';
};
···
rewrite ^/static/webseed/(.*)$ /$1 break;
'';
};
+
+
extraConfig = lib.optionalString cfg.enableWebHttps ''
+
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains';
+
'';
};
};