summaryrefslogtreecommitdiff
path: root/systems/atlas/nginx.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2023-10-30 04:22:32 -0400
committerseth <[email protected]>2023-10-30 09:46:15 +0000
commit10b0df38b4286237b56ff9177f8d4c5676bfb5c1 (patch)
treeab298c74339bf9bc41571fa88746ecd9c522fbdf /systems/atlas/nginx.nix
parent4c2c60a4f2b14c1e6ffaffe5e301dc31ac4fed0f (diff)
tree-wide: refactor
i went overboard on modules. this is much comfier
Diffstat (limited to 'systems/atlas/nginx.nix')
-rw-r--r--systems/atlas/nginx.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/systems/atlas/nginx.nix b/systems/atlas/nginx.nix
new file mode 100644
index 0000000..6cdd793
--- /dev/null
+++ b/systems/atlas/nginx.nix
@@ -0,0 +1,46 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ inherit (config.networking) domain;
+
+ mkProxy = endpoint: port: {
+ "${endpoint}" = {
+ proxyPass = "http://localhost:${toString port}";
+ proxyWebsockets = true;
+ };
+ };
+
+ mkVHosts = let
+ commonSettings = {
+ enableACME = true;
+ # workaround for https://github.com/NixOS/nixpkgs/issues/210807
+ acmeRoot = null;
+
+ addSSL = true;
+ };
+ in
+ lib.mapAttrs (_: lib.recursiveUpdate commonSettings);
+in {
+ server.services.cloudflared.enable = true;
+
+ services.nginx = {
+ enable = true;
+
+ recommendedGzipSettings = true;
+ recommendedOptimisation = true;
+ recommendedProxySettings = true;
+ recommendedTlsSettings = true;
+
+ virtualHosts = mkVHosts {
+ "miniflux.${domain}" = {
+ locations = mkProxy "/" "7000";
+ };
+
+ "msix.${domain}" = {
+ root = "/var/www/msix";
+ };
+ };
+ };
+}