{
  flake,
  ...
}:
let
  inherit (flake.config.machines.devices)
    ceres
    ;
  inherit (flake.config.services.instances)
    ollama
    web
    ;
  service = ollama;
  localhost = web.localhost.address0;
  host = service.domains.url0;
in
{
  services = {
    ollama = {
      enable = true;
      group = service.name;
      host = "http://${localhost}";
      user = service.name;
      port = service.ports.port1;
      acceleration = "cuda";
      models = service.paths.path0;
    };
    open-webui = {
      enable = true;
      host = localhost;
      port = service.ports.port0;
      environment = {
        ENABLE_OLLAMA_API = "True";
        ANONYMIZED_TELEMETRY = "False";
        DO_NOT_TRACK = "True";
        SCARF_NO_ANALYTICS = "True";
        OLLAMA_BASE_URL = "http://${localhost}:${toString service.ports.port1}";
        WEBUI_AUTH = "True";
      };
    };
    caddy = {
      virtualHosts = {
        ${host} = {
          extraConfig = ''
            reverse_proxy ${localhost}:${toString service.ports.port0}
            tls ${service.ssl.cert} ${service.ssl.key}
          '';
        };
      };
    };
  };
  systemd.tmpfiles.rules = [
    "Z ${service.paths.path0} 0755 ${service.name} ${service.name} -"
  ];
  networking = {
    firewall = {
      allowedTCPPorts = [
        service.ports.port0
        service.ports.port1
      ];
    };
  };
  fileSystems = {
    "/var/lib/${service.name}" = {
      device = service.paths.path0;
      fsType = "none";
      options = [
        "bind"
      ];
      depends = [
        ceres.storage0.mount
      ];
    };
  };
}
