{
  lib,
  config,
  ...
}: let
  port = 3021;
in {
  imports = [./ollama.nix];

  localWebApps = {
    anything-llm = {
      name = "Anything LLM";
      genericName = "Chatbot";
      icon = ../icons/anythingllm.png;
      inherit port;
      requires.containers = ["anything-llm" "ollama"];
    };
  };

  services.podman.containers.anything-llm = let
    str = builtins.toString;
    username = config.mainUser;
  in {
    image = "mintplexlabs/anythingllm";
    devices = ["nvidia.com/gpu=all"];
    ports = ["${str port}:3001"];
    autostart = false;
    networks = ["ollama"];
    volumes = let
      home = "/home/${username}";
      share = "${home}/.local/share/anything-llm";
    in [
      "${share}:/app/server/storage"
      "${share}/.env:/app/server/.env"
      "${share}/config:/home/anythingllm/.config/anythingllm-desktop"
      "${share}/config:/home/${username}/.config/anythingllm-desktop"
    ];
    environment = {
      STORAGE_DIR = "/app/server/storage";
      LLM_PROVIDER = "ollama";
      OLLAMA_BASE_PATH = "http://ollama:11434";
      EMBEDDING_ENGINE = "ollama";
      EMBEDDING_BASE_PATH = "http://ollama:11434";
      VECTOR_DB = "lancedb";
      WHISPER_PROVIDER = "local";
      TTS_PROVIDER = "native";
    };
    unitConfig = {Requires = ["podman-ollama.service"];};
    extraOptions = [
      "--health-cmd"
      (lib.escapeShellArg "bash -c 'cat < /dev/null > /dev/tcp/localhost/3001'")
    ];
  };
}
