{ pkgs, config, ... }: { imports = [./traefik.nix ./fail2ban.nix]; services.nextcloud = { enable = true; package = pkgs.nextcloud26; hostName = "cloud.xenia.me.uk"; config = { adminuser = "xenia"; adminpassFile = "/secrets/nextcloud_admin.txt"; }; }; services.nginx.virtualHosts.${config.services.nextcloud.hostName}.listen = [ { addr = "localhost"; port = 8000; } ]; services.traefik.dynamicConfigOptions.http = { routers.nextcloud = { rule = "Host(`cloud.xenia.me.uk`)"; service = "nextcloud-webinterface"; tls = {certResolver = "default";}; }; services.nextcloud-webinterface.loadBalancer.servers = [{url = "http://localhost:8000";}]; }; }