{ pkgs, ... }:
{
  users.users.uptimestatus = {
    description = "Uptime Status Service";
    group = "uptimestatus";
    home = "/var/lib/uptimestatus/";
    useDefaultShell = true;
    isSystemUser = true;
  };
  users.groups.uptimestatus = {};

  systemd.services.uptimestatus = {
    wantedBy = [ "multi-user.target" ];
    serviceConfig = {
      RuntimeDirectory = "uptimestatus";
      StateDirectory = "uptimestatus";
      User = "uptimestatus";
      Group = "uptimestatus";
    };
    script = "gunicorn -w 4 -b [::1]:8235 uptimestatus:app";
    path = with pkgs; [ (python3.withPackages (ps: [ ps.gunicorn uptimestatus ])) ];
  };

  services.nginx = {
    virtualHosts = {
      "status.monitoring.clerie.de" = {
        enableACME = true;
        forceSSL   = true;
        locations."/".proxyPass = "http://[::1]:8235/";
      };
    };
  };
}