{ config, ... }: { services.nginx = { enable = true; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { addSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:8003"; }; }; virtualHosts."vaultwarden.dryb.org" = { addSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:8005"; }; }; virtualHosts."miniflux.dryb.org" = { addSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:8008"; }; }; virtualHosts."hedgedoc.dryb.org" = { addSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:8009"; }; }; virtualHosts."syncthing.dryb.org" = { addSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:8384"; }; }; }; networking.firewall = { allowedTCPPorts = [ 80 443 ]; }; }