{ ... }:
{
  services.nginx.virtualHosts."matrix.nekover.se" = {
    forceSSL = true;
    enableACME = true;
    listen = [
      {
        addr = "0.0.0.0";
        port = 8448;
        ssl = true;
      }
      {
        addr = "[::]";
        port = 8448;
        ssl = true;
      }
      {
        addr = "localhost";
        port = 8443;
        ssl = true;
        proxyProtocol = true;
      }
    ];
    locations."~ ^(/_matrix|/_synapse/client)" = {
      proxyPass = "http://matrix.vs.grzb.de:8008";
      extraConfig = ''
        # Nginx by default only allows file uploads up to 1M in size
        # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
        client_max_body_size 500M;
      '';
    };
  };
}