{
  lib,
  pkgs,
  config,
  ...
}:

{
  services.podman.networks = {
    internal_net = {
      driver = "bridge";
    };
  };
  services.podman.enable = true;
  services.podman.autoUpdate.enable = true;
  services.podman.autoUpdate.onCalendar = "*-*-* 00:00";
  services.podman.containers = {

#    palworld = {
#      image = "docker.io/thijsvanloef/palworld-server-docker:latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/palworld"
#      ];
#      volumes = [
#        "/pool/services/podman/palworld:/palworld"
#      ];
#      ports = [
#        "8211:8211/udp"
#        "27015:27015/udp"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };

    actual = {
      image = "docker.io/actualbudget/actual-server:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/actual:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

#    akaunting = {
#      image = "docker.io/akaunting/akaunting:latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/akaunting"
#      ];
#      volumes = [
#        "/pool/services/podman/akaunting/data:/var/www/html/akaunting"
#      ];
#      ports = [
#        "8003:80"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };
#
#    akaunting-db = {
#      image = "docker.io/mariadb:latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/akaunting"
#      ];
#      volumes = [
#        "/pool/services/podman/akaunting/db:/var/lib/mysql"
#      ];
#      ports = [
#        "3307:3306"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };

    archivebox = {
      image = "docker.io/archivebox/archivebox:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/archivebox"
      ];
      volumes = [
        "/pool/services/podman/archivebox:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    authelia = {
      image = "docker.io/authelia/authelia:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/authelia"
      ];
      volumes = [
        "/pool/services/podman/authelia/config:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    authentik-server = {
      image = "ghcr.io/goauthentik/server:2026.2.1";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      exec = "server";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/authentik"
      ];
      volumes = [
        "/pool/services/podman/authentik/data:/data"
        "/pool/services/podman/authentik/certs:/certs"
        "/pool/services/podman/authentik/templates:/templates"
      ];
      extraPodmanArgs = [
        "--shm-size=256m"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    authentik-postgresql = {
      image = "docker.io/postgres:16-alpine";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/authentik"
      ];
      volumes = [
        "/pool/services/podman/authentik/db:/var/lib/postgresql/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    authentik-worker = {
      image = "ghcr.io/goauthentik/server:2026.2.1";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      exec = "worker";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/authentik"
      ];
      volumes = [
        "/pool/services/podman/authentik/data:/data"
        "/pool/services/podman/authentik/certs:/certs"
        "/pool/services/podman/authentik/templates:/templates"
      ];
      extraPodmanArgs = [
        "--shm-size=256m"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };
    caddy-local = {
      image = "ghcr.io/caddybuilds/caddy-cloudflare:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/caddy-local/conf:/etc/caddy"
        "/pool/services/podman/caddy-local/site:/srv"
        "/pool/services/podman/caddy-local/data:/data"
        "/pool/services/podman/caddy-local/config:/config"
      ];
      ports = [
        "80:80"
        "443:443"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    bazarr = {
      image = "lscr.io/linuxserver/bazarr:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/bazarr:/config"
        "/pool/media/video/movies:/movies"
        "/pool/media/video/tv:/tv"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    ddclient = {
      image = "lscr.io/linuxserver/ddclient:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/ddclient:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    eclipse-mosquitto = {
      image = "docker.io/eclipse-mosquitto:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/eclipse-mosquitto:/mosquitto"
      ];
      ports = [
        "1883:1883"
        "9001:8080"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    freshrss = {
      image = "lscr.io/linuxserver/freshrss:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environment = {
        OIDC_ENABLED="1";
        OIDC_PROVIDER_METADATA_URL="https://authentik.mektem.com/application/o/fresh-rss/.well-known/openid-configuration";
        OIDC_CLIENT_ID="PsqRnVLTezIKL7582E8pnKNFIF0W41kVyMhh4RoG";
        OIDC_CLIENT_SECRET="h1XsvbUcRn33rq7qBBS0GUENEgn6zTJQeHpVPhzcqG4ekdwlCghIn1ALhydYXF1pfS8HaskM3KntHXDTC8a7athLxLzT95Gxr8OpvN9iOY75pUXrNnLJXUrY9o4qKM7m";
        OIDC_X_FORWARDED_HEADERS="X-Forwarded-Port X-Forwarded-Proto X-Forwarded-Host";
        OIDC_SCOPES="openid email profile";
      };
      volumes = [
        "/pool/services/podman/freshrss:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    frigate = {
      image = "ghcr.io/blakeblackshear/frigate:0.17.0";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      devices = [ "/dev/dri/renderD128:/dev/dri/renderD128" ];
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/frigate"
      ];
      volumes = [
        "/etc/localtime:/etc/localtime:ro"
        "/pool/services/podman/frigate:/config"
        "/pool/services/cctv:/media/frigate"
      ];
      ports = [
        "1935:1935"
        "8554:8554"
      ];
      extraPodmanArgs = [
        "--shm-size=256m"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

#    gitea-anubis = {
#      image = "ghcr.io/techarohq/anubis:latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/anubis-default" #WHY DOES THIS NOT WORK????
#        "/pool/services/secrets/anubis-nginx"
#      ];
#      environment = {
#        DIFFICULTY = "4";
#        SERVE_ROBOTS_TXT = "true";
#        POLICY_FNAME = "/data/cfg/botPolicy.json";
#        OG_PASSTHROUGH = "true";
#        OG_EXPIRY_TIME = "24h";
#        BIND = ":3002";
#        METRICS_BIND = ":9090";
#        TARGET = "http://192.168.0.30:3001";
#      };
#
#      volumes = [
#        "/pool/services/podman/anubis/botPolicy.json:/data/cfg/botPolicy.json:ro"
#      ];
#      ports = [
#        "3002:3002"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };


    home-assistant = {
      image = "ghcr.io/home-assistant/home-assistant:stable";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/etc/localtime:/etc/localtime:ro"
        "/pool/services/podman/homeassistant:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    homer = {
      image = "docker.io/b4bz/homer";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/homer:/www/assets"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    hugo = {
      image = "docker.io/hugomods/hugo:latest";
      autoStart = true;
      autoUpdate = "registry";
      exec = "server -s /src/mektem.com -D";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/hugo/src:/src"
        "/pool/services/podman/hugo/cache:/tmp/hugo_cache"
      ];
      ports = [
        "1313:1313"
      ];
       extraConfig = {
         Service = {
           TimeoutStartSec = 900;
         };
       };
    };

    immich-db = {
      image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/immich"
      ];
      volumes = [
        "/pool/services/podman/immich/db:/var/lib/postgresql/data:z"
      ];
      ports = [
        "5433:5432"
      ];
      userNS = "keep-id";
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    immich-machine-learning = {
      image = "ghcr.io/immich-app/immich-machine-learning:release";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/immich"
      ];
      volumes = [
        "/pool/services/podman/immich/cache:/cache"
      ];
      ports = [
        "3003:3003"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    immich-redis = {
      image = "registry.hub.docker.com/library/redis:6.2-alpine";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/immich"
      ];
      ports = [
        "6379:6379"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    immich-server = {
      image = "ghcr.io/immich-app/immich-server:release";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/immich"
      ];
      volumes = [
        "/pool/services/immich:/usr/src/app/upload"
        "/etc/localtime:/etc/localtime:ro"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    jellyfin = {
      image = "docker.io/jellyfin/jellyfin:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      devices = [ "/dev/dri/renderD128:/dev/dri/renderD128" ];
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/jellyfin:/config"
        "/pool/media/video/movies:/movies"
        "/pool/media/video/tv:/tv"
        "/pool/media/audio/music/flac:/music"
        "/pool/media/video/family:/family"
        "/pool/media/video/livetv:/livetv"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    jellyseerr = {
      image = "ghcr.io/fallenbagel/jellyseerr";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/jellyseerr:/app/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

#    joplin = {
#      image = "docker.io/joplin/server:latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/joplin"
#      ];
#      ports = [
#        "22300:22300"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };
#
#    joplin-db = {
#      image = "docker.io/postgres:15";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/joplin"
#      ];
#      volumes = [
#        "/pool/services/podman/joplin-db:/var/lib/postgresql/data"
#      ];
#      ports = [
#        "5432:5432"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };

    kiwix = {
      image = "ghcr.io/kiwix/kiwix-serve:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      exec = "*.zim";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/media/kiwix:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    lazylibrarian = {
      image = "lscr.io/linuxserver/lazylibrarian:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/lazylibrarian:/config"
        "/pool/media/torrents:/downloads"
        "/pool/media/books:/books"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    lidarr = {
      image = "lscr.io/linuxserver/lidarr:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/lidarr:/config"
        "/pool/media/audio/music/flac:/music"
        "/pool/media/torrents:/downloads"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

#    mastodon = {
#      image = "ghcr.io/linuxserver/mastodon:amd64-latest";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/mastodon"
#      ];
#      volumes = [
#        "/pool/services/podman/mastodon/config:/config"
#      ];
#      ports = [
#        "808:80"
#        "8449:443"
#        "3009:3000"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };
#
#    mastodon-db = {
#      image = "docker.io/postgres:16-alpine";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/mastodon-db"
#      ];
#      volumes = [
#        "/pool/services/podman/mastodon/db:/var/lib/postgresql/data"
#      ];
#      ports = [
#        "5435:5432"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };
#
#    mastodon-redis = {
#      image = "registry.hub.docker.com/library/redis:6.2-alpine";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#      ];
#      ports = [
#        "6382:6379"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };


    metube = {
      image = "ghcr.io/alexta69/metube:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/media/youtube-dl:/downloads"
        "/pool/media/audio/music/flac:/music"
      ];
      ports = [
        "8081:8081"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    # nginx-anubis = {
    #   image = "ghcr.io/techarohq/anubis:latest";
    #   autoStart = true;
    #   autoUpdate = "registry";
    #   network = "vlan50_web";
    #   environmentFile = [
    #     "/pool/services/secrets/default"
    #     "/pool/services/secrets/anubis-default" #WHY DOES THIS NOT WORK????
    #     "/pool/services/secrets/anubis-nginx"
    #   ];
    #   environment = {
    #     DIFFICULTY = "4";
    #     SERVE_ROBOTS_TXT = "true";
    #     POLICY_FNAME = "/data/cfg/botPolicy.json";
    #     OG_PASSTHROUGH = "true";
    #     OG_EXPIRY_TIME = "24h";
    #     BIND = ":8881";
    #     METRICS_BIND = ":9090";
    #     TARGET = "http://192.168.0.30:888";
    #   };

    #   volumes = [
    #     "/pool/services/podman/anubis/botPolicy.json:/data/cfg/botPolicy.json:ro"
    #   ];
    #   ports = [
    #     "8881:8881"
    #   ];
    #   extraConfig = {
    #     Service = {
    #       TimeoutStartSec = 900;
    #     };
    #   };
    # };

    #nginx-proxy-manager = {
    #  image = "docker.io/jc21/nginx-proxy-manager:2.9.22";
    #  autoStart = true;
    #  autoUpdate = "registry";
    #  network = "internal_net";
    #  environmentFile = [
    #    "/pool/services/secrets/default"
    #  ];
    #  volumes = [
    #    "/pool/services/podman/nginx-proxy-manager:/data"
    #    "/pool/services/podman/letsencrypt:/etc/letsencrypt"
    #  ];
    #  ports = [
    #    "80:80"
    #    "443:443"
    #    "81:81"
    #  ];
    #  extraConfig = {
    #    Service = {
    #      TimeoutStartSec = 900;
    #    };
    #  };
    #};

    ntp = {
      image = "docker.io/cturra/ntp";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      ports = [
        "123:123/udp"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    obsidian-livesync = {
      image = "docker.io/oleduc/docker-obsidian-livesync-couchdb";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/obsidian-livesync"
      ];
      volumes = [
        "/pool/services/podman/obsidian-livesync/data:/opt/couchdb/data"
      ];
      ports = [
        "5984:5984"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    ollama = {
      image = "docker.io/ollama/ollama:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/ollama"
      ];
      volumes = [
        "/pool/services/podman/ollama:/root/.ollama"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    open-webui = {
      image = "ghcr.io/open-webui/open-webui:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/open-webui"
      ];
      volumes = [
        "/pool/services/podman/open-webui:/app/backend/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    paperless-ngx = {
      image = "ghcr.io/paperless-ngx/paperless-ngx:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/paperless-ngx"
      ];
      volumes = [
        "/pool/services/podman/paperless-ngx/data:/usr/src/paperless/data"
        "/pool/services/podman/paperless-ngx/media:/usr/src/paperless/media"
        "/pool/services/podman/paperless-ngx/export:/usr/src/paperless/export"
        "/pool/data/scans:/usr/src/paperless/consume"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    paperless-ngx-redis = {
      image = "registry.hub.docker.com/library/redis:6.2-alpine";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    prowlarr = {
      image = "lscr.io/linuxserver/prowlarr:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/prowlarr:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    radarr = {
      image = "lscr.io/linuxserver/radarr:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/radarr:/config"
        "/pool/media/video/movies:/movies"
        "/pool/media/torrents:/downloads"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    romm = {
      image = "docker.io/rommapp/romm:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/romm"
      ];
      volumes = [
        "/pool/services/podman/romm/resources:/romm/resources"
        "/pool/services/podman/romm/redis:/redis-data"
        "/pool/services/podman/romm/assets:/romm/assets"
        "/pool/services/podman/romm/config:/romm/config"
        "/pool/media/romm:/romm/library"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    romm-db = {
      image = "docker.io/mariadb:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/romm"
      ];
      volumes = [
        "/pool/services/podman/romm/db:/var/lib/mysql"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };
#    rlcraft = {
#      image = "docker.io/itzg/minecraft-server:java8";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/rlcraft"
#      ];
#      volumes = [
#        "/pool/services/podman/minecraft/rlcraft/data:/data"
#      ];
#      ports = [
#        "25565:25565"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };

    rutorrent = {
      image = "docker.io/crazymax/rtorrent-rutorrent:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/rutorrent/passwd:/passwd"
        "/pool/services/podman/rutorrent/data:/data"
        "/pool/media/torrents:/downloads"
      ];
      ports = [
        "50000:50000"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    searxng = {
      image = "docker.io/searxng/searxng:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/searxng:/etc/searxng"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    sonarr = {
      image = "lscr.io/linuxserver/sonarr:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/sonarr:/config"
        "/pool/media/video/tv:/tv"
        "/pool/media/torrents:/downloads"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };


#    tandoor = {
#      image = "docker.io/vabene1111/recipes";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/tandoor"
#      ];
#      volumes = [
#        "/pool/services/podman/tandoor/staticfiles:/opt/recipes/staticfiles"
#        "/pool/services/podman/tandoor/mediafiles:/opt/recipes/mediafiles"
#      ];
#      ports = [
#        "9092:80"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };
#
#    tandoor-db = {
#      image = "docker.io/postgres:16-alpine";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      environmentFile = [
#        "/pool/services/secrets/default"
#        "/pool/services/secrets/tandoor"
#      ];
#      volumes = [
#        "/pool/services/podman/tandoor/db:/var/lib/postgresql/data"
#      ];
#      ports = [
#        "5434:5432"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };


    thelounge = {
      image = "lscr.io/linuxserver/thelounge:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/thelounge:/config"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    tinyauth = {
      image = "ghcr.io/steveiliop56/tinyauth:v5";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/tinyauth"
      ];
      volumes = [
        "/pool/services/podman/tinyauth/:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    tubearchivist = {
      image = "docker.io/bbilly1/tubearchivist";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/tubearchivist"
      ];
      volumes = [
        "/pool/media/video/youtube:/youtube"
        "/pool/services/podman/tubearchivist/cache:/cache"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    tubearchivist-redis = {
      image = "docker.io/redis";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/tubearchivist/redis:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    tubearchivist-es = {
      image = "docker.io/bbilly1/tubearchivist-es";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/tubearchivist-es"
      ];
      volumes = [
        "/pool/services/podman/tubearchivist/es:/usr/share/elasticsearch/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    uptime-kuma = {
      image = "docker.io/louislam/uptime-kuma";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
      ];
      volumes = [
        "/pool/services/podman/uptime-kuma:/app/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    vaultwarden = {
      image = "docker.io/vaultwarden/server:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/vaultwarden"
      ];
      volumes = [
        "/pool/services/podman/vaultwarden:/data"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };

    webdav = {
      image = "docker.io/bytemark/webdav:latest";
      autoStart = true;
      autoUpdate = "registry";
      network = "internal_net";
      environmentFile = [
        "/pool/services/secrets/default"
        "/pool/services/secrets/webdav"
      ];
      volumes = [
        "/pool/services/webdav:/var/lib/dav"
      ];
      ports = [
        "8009:80"
      ];
      extraConfig = {
        Service = {
          TimeoutStartSec = 900;
        };
      };
    };


#    zigbee2mqtt = {
#      image = "docker.io/koenkk/zigbee2mqtt";
#      autoStart = true;
#      autoUpdate = "registry";
#      network = "internal_net";
#      devices = [ "/dev/ttyACM0:/dev/ttyACM0" ];
#      environmentFile = [
#        "/pool/services/secrets/default"
#      ];
#      volumes = [
#        "/pool/services/podman/zigbee2mqtt:/app/data"
#      ];
#      ports = [
#        "8808:8080"
#      ];
#      extraConfig = {
#        Service = {
#          TimeoutStartSec = 900;
#        };
#      };
#    };

  };

  # Don't touch
  home.stateVersion = "24.11";
}
