diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index f287fdb6..fb9b0292 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -15,7 +15,7 @@ immich.enable = true; jellyfin.enable = true; paperless.enable = true; - peertube.enable = false; + peertube.enable = true; tubearchivist.enable = true; uptime-kuma.enable = true; vaultwarden.enable = true; diff --git a/hosts/nixedo/modules/peertube.nix b/hosts/nixedo/modules/peertube.nix index 92dc738a..a35e3f01 100644 --- a/hosts/nixedo/modules/peertube.nix +++ b/hosts/nixedo/modules/peertube.nix @@ -25,6 +25,26 @@ in default = "videos.${homelab.domain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Peertube"; + type = types.str; + }; + + homepage.description = mkOption { + default = "A free and open-source, decentralized, ActivityPub federated video platform"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "peertube"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { @@ -34,7 +54,6 @@ in configureNginx = true; enableWebHttps = false; - listenWeb = 80; localDomain = cfg.url; database = { @@ -47,6 +66,13 @@ in }; secrets.secretsFile = config.age.secrets.peertube-env.path; + + settings = { + webserver = { + hostname = config.services.${service}.localDomain; + port = lib.mkForce 443; + }; + }; }; cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = {