{...}: { security.acme.acceptTerms = true; security.acme.defaults.email = "security@sortug.com"; services.nginx = { enable = true; virtualHosts."sortug.com" = { enableACME = true; forceSSL = true; root = "/var/www/sortug"; # root = "/home/y/www"; }; virtualHosts."cal.sortug.com" = { enableACME = true; forceSSL = true; root = "/var/www/sorcal"; # root = "/home/y/www"; }; virtualHosts."git.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:3000"; proxyWebsockets = true; # needed if you need to use WebSocket }; }; virtualHosts."ai.sortug.com" = { enableACME = true; forceSSL = true; locations."/stt" = { proxyPass = "http://127.0.0.1:8010"; extraConfig = '' proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; send_timeout 300s; ''; }; locations."/tts" = { proxyPass = "http://127.0.0.1:8001"; }; locations."/embed" = { proxyPass = "http://127.0.0.1:8002"; }; }; # virtualHosts."kino.sortug.com" = { # enableACME = true; # forceSSL = true; # locations."/" = { # proxyPass = "http://127.0.0.1:8095"; # proxyWebsockets = true; # needed if you need to use WebSocket # }; # }; virtualHosts."u.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8082"; proxyWebsockets = true; # needed if you need to use WebSocket }; }; virtualHosts."p.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8083"; # proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $host; proxy_set_header Forwarded $proxy_add_x_forwarded_for; ''; }; extraConfig = '' proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; ''; }; virtualHosts."mcp.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8000"; proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $host; proxy_set_header Forwarded $proxy_add_x_forwarded_for; ''; }; extraConfig = '' proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; ''; }; virtualHosts."line.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8924"; # proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $host; proxy_set_header Forwarded $proxy_add_x_forwarded_for; ''; }; extraConfig = '' proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; ''; }; virtualHosts."ntfy.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8099"; proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $host; proxy_set_header Forwarded $proxy_add_x_forwarded_for; ''; }; extraConfig = '' proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; ''; }; virtualHosts."ustj.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:8085"; # proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $host; proxy_set_header Forwarded $proxy_add_x_forwarded_for; ''; }; extraConfig = '' proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; ''; }; virtualHosts."s3.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:9000"; proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $Host; ''; # actually important }; }; virtualHosts."s3c.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:9001"; proxyWebsockets = true; # needed if you need to use WebSocket extraConfig = '' proxy_set_header Host $Host; ''; }; }; # proxy_http_version 1.1; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "Upgrade"; virtualHosts."urbit.s3.sortug.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://127.0.0.1:9000"; proxyWebsockets = true; # needed if you need to use WebSocket }; }; }; }