fix(castopod): fix HEAD/GET proxy

This commit is contained in:
sinavir 2023-11-22 16:08:53 +01:00
parent 23c3ecd99d
commit 1759692d71

View file

@ -215,10 +215,8 @@ Subject: [PATCH 3/4] nixos/castopod: init
--- ---
nixos/modules/module-list.nix | 1 + nixos/modules/module-list.nix | 1 +
nixos/modules/services/audio/castopod.md | 22 ++ nixos/modules/services/audio/castopod.nix | 299 ++++++++++++++++++
nixos/modules/services/audio/castopod.nix | 287 ++++++++++++++++++ 2 files changed, 299 insertions(+)
3 files changed, 312 insertions(+)
create mode 100644 nixos/modules/services/audio/castopod.md
create mode 100644 nixos/modules/services/audio/castopod.nix create mode 100644 nixos/modules/services/audio/castopod.nix
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
@ -233,40 +231,12 @@ index 206d5eaf75dedc..54fd5c7b040314 100644
./services/audio/gmediarender.nix ./services/audio/gmediarender.nix
./services/audio/gonic.nix ./services/audio/gonic.nix
./services/audio/hqplayerd.nix ./services/audio/hqplayerd.nix
diff --git a/nixos/modules/services/audio/castopod.md b/nixos/modules/services/audio/castopod.md
new file mode 100644
index 00000000000000..ee8590737a7c73
--- /dev/null
+++ b/nixos/modules/services/audio/castopod.md
@@ -0,0 +1,22 @@
+# Castopod {#module-services-castopod}
+
+Castopod is an open-source hosting platform made for podcasters who want to engage and interact with their audience.
+
+## Quickstart {#module-services-castopod-quickstart}
+
+Use the following configuration to start a public instance of Castopod on `castopod.example.com` domain:
+
+```nix
+networking.firewall.allowedTCPPorts = [ 80 443 ];
+services.castopod = {
+ enable = true;
+ database.createLocally = true;
+ nginx.virtualHost = {
+ serverName = "castopod.example.com";
+ enableACME = true;
+ forceSSL = true;
+ };
+};
+```
+
+Go to `https://castopod.example.com/cp-install` to create superadmin account after applying the above configuration.
diff --git a/nixos/modules/services/audio/castopod.nix b/nixos/modules/services/audio/castopod.nix diff --git a/nixos/modules/services/audio/castopod.nix b/nixos/modules/services/audio/castopod.nix
new file mode 100644 new file mode 100644
index 00000000000000..b782b548914795 index 00000000000000..b782b548914795
--- /dev/null --- /dev/null
+++ b/nixos/modules/services/audio/castopod.nix +++ b/nixos/modules/services/audio/castopod.nix
@@ -0,0 +1,297 @@ @@ -0,0 +1,298 @@
+{ config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }:
+let +let
+ cfg = config.services.castopod; + cfg = config.services.castopod;
@ -285,7 +255,6 @@ index 00000000000000..b782b548914795
+ ] ++ enabled); + ] ++ enabled);
+in +in
+{ +{
+ meta.doc = ./castopod.md;
+ meta.maintainers = with lib.maintainers; [ alexoundos misuzu ]; + meta.maintainers = with lib.maintainers; [ alexoundos misuzu ];
+ +
+ options.services = { + options.services = {
@ -514,10 +483,12 @@ index 00000000000000..b782b548914795
+ +
+ services.nginx = lib.mkIf cfg.configureNginx { + services.nginx = lib.mkIf cfg.configureNginx {
+ enable = true; + enable = true;
+ resolver.addresses = [ "127.0.0.53" ];
+ virtualHosts."${cfg.localDomain}" = { + virtualHosts."${cfg.localDomain}" = {
+ root = lib.mkForce "${cfg.package}/share/castopod/public"; + root = lib.mkForce "${cfg.package}/share/castopod/public";
+ +
+ extraConfig = '' + extraConfig = ''
+ client_max_body_size 512m;
+ try_files $uri $uri/ /index.php?$args; + try_files $uri $uri/ /index.php?$args;
+ index index.php index.html; + index index.php index.html;
+ ''; + '';
@ -526,7 +497,7 @@ index 00000000000000..b782b548914795
+ extraConfig = '' + extraConfig = ''
+ recursive_error_pages on; + recursive_error_pages on;
+ proxy_method GET; + proxy_method GET;
+ proxy_pass https://podcasts.dgnum.eu; + proxy_pass https://podcasts.dgnum.eu/$request_uri;
+ ''; + '';
+ }; + };
+ +