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.kernelModules = ["kvm-amd"];
boot.extraModulePackages = []; boot.extraModulePackages = [];
fileSystems."/var/lib/nextcloud" = {
device = "/media/nextcloud";
options = [
"bind"
];
};
# fileSystems."/" = { # fileSystems."/" = {
# device = "/dev/disk/by-uuid/8f805d1b-a469-4db8-9ee1-b98ea220714a"; # device = "/dev/disk/by-uuid/8f805d1b-a469-4db8-9ee1-b98ea220714a";
# fsType = "ext4"; # fsType = "ext4";

View File

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

View File

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

View File

@@ -6,12 +6,18 @@
sops = { sops = {
secrets."nextcloud/adminpass".owner = config.users.users.nextcloud.name; 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 = { services = {
nextcloud = { nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud30; package = pkgs.nextcloud31;
extraApps = { extraApps = {
inherit (config.services.nextcloud.package.packages.apps) news contacts calendar; inherit (config.services.nextcloud.package.packages.apps) contacts calendar;
}; };
extraAppsEnable = true; extraAppsEnable = true;
hostName = "cloud.darksailor.dev"; hostName = "cloud.darksailor.dev";
@@ -19,20 +25,24 @@
config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path; config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path;
config.dbtype = "sqlite"; config.dbtype = "sqlite";
configureRedis = true; configureRedis = true;
https = false; https = true;
# datadir = "/media/nextcloud"; caching = {
home = "/media/nextcloud"; redis = true;
apcu = true;
memcached = true;
};
webserver = "caddy";
}; };
caddy = { # caddy = {
virtualHosts."cloud.darksailor.dev".extraConfig = '' # virtualHosts."cloud.darksailor.dev".extraConfig = ''
reverse_proxy localhost:8080 # reverse_proxy localhost:8080
''; # '';
}; # };
nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [ # nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [
{ # {
addr = "127.0.0.1"; # addr = "127.0.0.1";
port = 8080; # NOT an exposed port # port = 8080; # NOT an exposed port
} # }
]; # ];
}; };
} }