57 lines
1.6 KiB
Nix
57 lines
1.6 KiB
Nix
{ config, lib, pkgs, ... }: {
|
|
|
|
options.sysconfig.opts.virtualization.nextcloud.enable = lib.options.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
};
|
|
|
|
config = lib.mkIf config.sysconfig.opts.virtualization.nextcloud.enable {
|
|
|
|
sops.templates."nextcloud_pass.txt" = {
|
|
content = ''
|
|
${config.sops.placeholder."nextcloud/pass"}
|
|
'';
|
|
|
|
path = "/ssd1/Nextcloud/nextcloud_pass.txt";
|
|
};
|
|
|
|
containers.nextcloud = {
|
|
|
|
autoStart = true;
|
|
privateNetwork = true;
|
|
hostAddress = "192.168.100.10";
|
|
localAddress = "192.168.100.16";
|
|
|
|
bindMounts = {
|
|
|
|
"/var/lib/nextcloud" = {
|
|
hostPath = "/ssd1/Nextcloud";
|
|
isReadOnly = false;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
|
|
|
services.nextcloud = {
|
|
|
|
enable = true;
|
|
package = pkgs.nextcloud30;
|
|
hostName = "localhost";
|
|
config.adminpassFile = "/var/lib/nextcloud/nextcloud_pass.txt";
|
|
datadir = "/var/lib/nextcloud/data";
|
|
home = "/var/lib/nextcloud/nextcloud_home";
|
|
https = true;
|
|
maxUploadSize = "5G";
|
|
settings = {
|
|
overwriteprotocol = "https";
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
};
|
|
};
|
|
};
|
|
}
|