{ pkgs, config, ... }: { services.nextcloud = { enable = true; package = pkgs.nextcloud29; hostName = "cloud.nekover.se"; https = true; config = { dbtype = "pgsql"; adminpassFile = "/secrets/nextcloud-adminpass.secret"; }; database.createLocally = true; configureRedis = true; extraAppsEnable = true; extraApps = with config.services.nextcloud.package.packages.apps; { inherit bookmarks contacts calendar tasks twofactor_webauthn user_oidc; }; maxUploadSize = "16G"; settings = { mail_smtpmode = "smtp"; mail_sendmailmode = "smtp"; mail_smtpsecure = "ssl"; mail_from_address = "cloud"; mail_domain = "nekover.se"; mail_smtpauthtype = "LOGIN"; mail_smtpauth = 1; mail_smtphost = "mail-1.grzb.de"; mail_smtpport = 465; mail_smtpname = "cloud@nekover.se"; default_phone_region = "DE"; }; # Only contains mail_smtppassword secretFile = "/secrets/nextcloud-secretfile.secret"; phpOptions = { # The amount of memory for interned strings in Mbytes "opcache.interned_strings_buffer" = "64"; }; }; services.nginx = { virtualHosts.${config.services.nextcloud.hostName} = { forceSSL = true; enableACME = true; extraConfig = '' listen 0.0.0.0:8443 http2 ssl proxy_protocol; set_real_ip_from 10.202.41.100; real_ip_header proxy_protocol; ''; }; }; }