feat: Use caddy as nextcloud reverse proxy backend

This commit is contained in:
uttarayan21
2025-07-08 02:41:26 +05:30
parent 9a709d16b5
commit 80d025bd7e
4 changed files with 35 additions and 18 deletions

View File

@@ -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";

View File

@@ -10,7 +10,7 @@
./fail2ban.nix
./gitea.nix
./homepage.nix
# ./nextcloud.nix
./nextcloud.nix
# ./navidrome.nix
# ./home-assistant.nix

View File

@@ -67,7 +67,7 @@
}
{
"Nextcloud" = {
description = "Nextcloud Cloud Storage";
description = "Nextcloud Suite";
href = "https://cloud.darksailor.dev";
};
}

View File

@@ -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;
};
caddy = {
virtualHosts."cloud.darksailor.dev".extraConfig = ''
reverse_proxy localhost:8080
'';
webserver = "caddy";
};
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
# }
# ];
};
}