From 80d025bd7e890096f4cdc6522805e87ffb69acf3 Mon Sep 17 00:00:00 2001 From: uttarayan21 Date: Tue, 8 Jul 2025 02:41:26 +0530 Subject: [PATCH] feat: Use caddy as nextcloud reverse proxy backend --- nixos/mirai/mirai.nix | 7 +++++ nixos/mirai/services/default.nix | 2 +- nixos/mirai/services/homepage.nix | 2 +- nixos/mirai/services/nextcloud.nix | 42 ++++++++++++++++++------------ 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/nixos/mirai/mirai.nix b/nixos/mirai/mirai.nix index 6db0027e..a0e62f1e 100644 --- a/nixos/mirai/mirai.nix +++ b/nixos/mirai/mirai.nix @@ -18,6 +18,13 @@ boot.kernelModules = ["kvm-amd"]; boot.extraModulePackages = []; + fileSystems."/var/lib/nextcloud" = { + device = "/media/nextcloud"; + options = [ + "bind" + ]; + }; + # fileSystems."/" = { # device = "/dev/disk/by-uuid/8f805d1b-a469-4db8-9ee1-b98ea220714a"; # fsType = "ext4"; diff --git a/nixos/mirai/services/default.nix b/nixos/mirai/services/default.nix index 02f89f78..1b2b84e5 100644 --- a/nixos/mirai/services/default.nix +++ b/nixos/mirai/services/default.nix @@ -10,7 +10,7 @@ ./fail2ban.nix ./gitea.nix ./homepage.nix - # ./nextcloud.nix + ./nextcloud.nix # ./navidrome.nix # ./home-assistant.nix diff --git a/nixos/mirai/services/homepage.nix b/nixos/mirai/services/homepage.nix index 5976864f..0af7e3ef 100644 --- a/nixos/mirai/services/homepage.nix +++ b/nixos/mirai/services/homepage.nix @@ -67,7 +67,7 @@ } { "Nextcloud" = { - description = "Nextcloud Cloud Storage"; + description = "Nextcloud Suite"; href = "https://cloud.darksailor.dev"; }; } diff --git a/nixos/mirai/services/nextcloud.nix b/nixos/mirai/services/nextcloud.nix index cea9081d..764e7d0f 100644 --- a/nixos/mirai/services/nextcloud.nix +++ b/nixos/mirai/services/nextcloud.nix @@ -6,12 +6,18 @@ sops = { secrets."nextcloud/adminpass".owner = config.users.users.nextcloud.name; }; + imports = [ + "${fetchTarball { + url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz"; + sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs"; + }}/nextcloud-extras.nix" + ]; services = { nextcloud = { enable = true; - package = pkgs.nextcloud30; + package = pkgs.nextcloud31; extraApps = { - inherit (config.services.nextcloud.package.packages.apps) news contacts calendar; + inherit (config.services.nextcloud.package.packages.apps) contacts calendar; }; extraAppsEnable = true; hostName = "cloud.darksailor.dev"; @@ -19,20 +25,24 @@ config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path; config.dbtype = "sqlite"; configureRedis = true; - https = false; - # datadir = "/media/nextcloud"; - home = "/media/nextcloud"; + https = true; + caching = { + redis = true; + apcu = true; + memcached = true; + }; + webserver = "caddy"; }; - caddy = { - virtualHosts."cloud.darksailor.dev".extraConfig = '' - reverse_proxy localhost:8080 - ''; - }; - nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [ - { - addr = "127.0.0.1"; - port = 8080; # NOT an exposed port - } - ]; + # caddy = { + # virtualHosts."cloud.darksailor.dev".extraConfig = '' + # reverse_proxy localhost:8080 + # ''; + # }; + # nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [ + # { + # addr = "127.0.0.1"; + # port = 8080; # NOT an exposed port + # } + # ]; }; }