diff --git a/configuration.nix b/configuration.nix index c66812d..d3ea4e9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -174,6 +174,7 @@ services.openssh.enable = true; services.openssh.settings.PasswordAuthentication = false; # services.openssh.settings.PermitRootLogin = "proh"; + services.nginx.enable = true; security.acme = { acceptTerms = true; defaults = { @@ -181,8 +182,12 @@ dnsProvider = "cloudflare"; # # location of your CLOUDFLARE_DNS_API_TOKEN=[value] # # https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#EnvironmentFile= - environmentFile = "/etc/nixos/.secrets/cloudflare_dns_tokend"; + environmentFile = "/etc/nixos/.secrets/cloudflare_zone_dns_edit"; }; + # certs."sondell.org" = { + # domain = "*.sondell.org"; + # group = config.services.nginx.group; + # }; }; # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; diff --git a/homepage.nix b/homepage.nix index 36c5070..d652a59 100644 --- a/homepage.nix +++ b/homepage.nix @@ -1,25 +1,8 @@ -{ homepage, ... }: - -let - domain = "sondell.org"; +{homepage, ...}: let + domain1 = "sondell.org"; + domain2 = "start.sondell.org"; port = "8118"; -in -{ - systemd.services.homepage = { - enable = true; - description = "homepage with links to selfhosted services"; - wantedBy = [ "multi-user.target" ]; - unitConfig = { - After="network-online.target"; - }; - serviceConfig = { - ExecStart = "${homepage}/bin/home-prod -p ${port}"; - User= "sondell"; - Type= "simple"; - }; - }; - - services.nginx.virtualHosts.${domain} = { + hostSettings = { forceSSL = true; enableACME = true; locations."/" = { @@ -27,5 +10,21 @@ in proxyWebsockets = true; }; }; -} +in { + systemd.services.homepage = { + enable = true; + description = "homepage with links to selfhosted services"; + wantedBy = ["multi-user.target"]; + unitConfig = { + After = "network-online.target"; + }; + serviceConfig = { + ExecStart = "${homepage}/bin/home-prod -p ${port}"; + User = "sondell"; + Type = "simple"; + }; + }; + services.nginx.virtualHosts.${domain1} = hostSettings; + services.nginx.virtualHosts.${domain2} = hostSettings; +}