summary refs log tree commit diff stats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/mailserver.nix4
-rw-r--r--modules/mealie.nix9
-rw-r--r--modules/syncthing.nix9
-rw-r--r--modules/webserver.nix31
4 files changed, 27 insertions, 26 deletions
diff --git a/modules/mailserver.nix b/modules/mailserver.nix
index 90c17fa..3329d43 100644
--- a/modules/mailserver.nix
+++ b/modules/mailserver.nix
@@ -16,7 +16,7 @@
     loginAccounts = {
       "mail@krinitsin.com" = {
         hashedPasswordFile = "/secret/mail@krinitsin.com";
-        aliases = ["postmaster@krinitsin.com"];
+        aliases = [ "postmaster@krinitsin.com" "christian@krinitsin.com" ];
       };
       "wladislaw@krinitsin.com" = {
         hashedPasswordFile = "/secret/wladislaw@krinitsin.com";
@@ -33,4 +33,6 @@
        $config['smtp_pass'] = "%p";
      '';
   };
+
+  security.acme.certs."krinitsin.com".extraDomainNames = [ "webmail.krinitsin.com" ];
 }
diff --git a/modules/mealie.nix b/modules/mealie.nix
index 74dcf57..5059c8f 100644
--- a/modules/mealie.nix
+++ b/modules/mealie.nix
@@ -9,6 +9,13 @@ in
     package = unstable.mealie;
   };
 
-  networking.firewall.allowedTCPPorts = [ 9000 8080 ];
+  services.nginx.virtualHosts."recipes.krinitsin.com" = {
+    forceSSL = true;
+    useACMEHost = "krinitsin.com";
+    serverAliases = [ "rezepte.krinitsin.com" ];
+    locations."/".proxyPass = "http://localhost:9000";
+  };
+
+  security.acme.certs."krinitsin.com".extraDomainNames = [ "recipes.krinitsin.com" "rezepte.krinitsin.com" ];
 
 }
diff --git a/modules/syncthing.nix b/modules/syncthing.nix
index 4458b42..c25c956 100644
--- a/modules/syncthing.nix
+++ b/modules/syncthing.nix
@@ -8,5 +8,12 @@
     openDefaultPorts = true;
   };
   
-  networking.firewall.allowedTCPPorts = [ 8384 ];
+  services.nginx.virtualHosts."syncthing.krinitsin.com" = {
+    forceSSL = true;
+    useACMEHost = "krinitsin.com";
+    locations."/".proxyPass = "https://localhost:8384";
+  };
+
+  security.acme.certs."krinitsin.com".extraDomainNames = [ "syncthing.krinitsin.com" ];
+
 }
diff --git a/modules/webserver.nix b/modules/webserver.nix
index e8867d3..e61cb68 100644
--- a/modules/webserver.nix
+++ b/modules/webserver.nix
@@ -12,20 +12,12 @@
 	serverAliases = [ "www.krinitsin.com" ];
 
 	locations."/shopping/".basicAuthFile = "/secret/shopping_auth";
-	locations."/shopping/api/".proxyPass = "http://krinitsin.com:5000";
-      };
+	locations."/shopping/api/" = {
+	  proxyPass = "http://127.0.0.1:5000";
+	  basicAuthFile = "/secret/shopping_auth";
+	};
 
-      "recipes.krinitsin.com" = {
-        forceSSL = true;
-	useACMEHost = "krinitsin.com";
-	serverAliases = [ "rezepte.krinitsin.com" ];
-        locations."/".proxyPass = "http://localhost:9000";
-      };
-      
-      "syncthing.krinitsin.com" = {
-        forceSSL = true;
-	useACMEHost = "krinitsin.com";
-        locations."/".proxyPass = "https://localhost:8384";
+	locations."/mensa/api/".proxyPass = "http://127.0.0.1:5000";
       };
     };
   };
@@ -33,19 +25,12 @@
   security.acme = {
     acceptTerms = true;
     defaults.email = "christian@krinitsin.xyz";
-    certs."krinitsin.com".extraDomainNames = [ "recipes.krinitsin.com" "rezepte.krinitsin.com" "webmail.krinitsin.com" "syncthing.krinitsin.com" ];
   };
 
-
-  environment.systemPackages = with pkgs; [
-    python312
-    python312Packages.flask
-  ];
-
-  systemd.services.flask = {
+  systemd.services.flask-backend = {
     enable = true;
-    wantedBy = ["default.target"];
-    serviceConfig.ExecStart = ''/run/current-system/sw/bin/flask --app /var/www/krinitsin.com/shopping/app.py run -h krinitsin.com'';
+    wantedBy = ["multi-user.target"];
+    serviceConfig.ExecStart = ''/var/flask-backend/result/bin/app.py'';
   };
 
   networking.firewall.allowedTCPPorts = [ 80 443 5000 ];