
===== HOST =====

Hostname:   ana-ml2
Date:       2026-04-19T22:15:48-07:00
Uptime:     up 33 weeks, 1 day, 14 minutes
OS:         Debian GNU/Linux 13 (trixie)
Kernel:     6.12.41+deb13-amd64
Arch:       x86_64

===== HARDWARE =====

CPU cores:  96
CPU model:  AMD EPYC 9254 24-Core Processor
MemTotal:   566.6 GB
MemAvailable: 500.9 GB

===== GPUS =====

index, name, memory.total [MiB], memory.free [MiB], driver_version
0, NVIDIA RTX 6000 Ada Generation, 46068 MiB, 45456 MiB, 580.65.06
1, NVIDIA RTX 6000 Ada Generation, 46068 MiB, 34072 MiB, 580.65.06

===== FILESYSTEMS (df) =====

Filesystem         Size  Used Avail Use% Mounted on
zroot/ROOT/debian  434G  169G  265G  39% /
efivarfs           128K   58K   66K  47% /sys/firmware/efi/efivars
zroot/home         280G   15G  265G   6% /home
/dev/sda1          511M   92M  420M  18% /boot/efi
tank               8.6T  1.3T  7.3T  16% /tank

===== PERSISTENT MOUNTS (/etc/fstab, non-comment) =====

UUID="3D9B-8E0C" /boot/efi vfat defaults 0 0

===== TARGETED DATA PATHS =====

/tank  (total: 1.3T)
  total 15
  drwxrwxrwx  6 root    root     6 2026-04-11 23:17 .
  drwxr-xr-x 18 root    root    26 2026-03-29 16:08 ..
  drwxrwxr-x  7 llmuser llm      8 2026-04-17 14:09 aimodels
  drwxrwxr-x  3 llmuser llm      3 2025-09-08 13:21 comfy
  drwxrwxr-x  4 llmuser llmuser  4 2026-04-11 23:17 kokoro
  drwxrwxr-x  5 lkraven lkraven  6 2025-09-10 18:35 vibevoice

/opt  (total: 16G)
  total 79
  drwxrwxrwx 13 root    root    13 2026-04-17 23:00 .
  drwxr-xr-x 18 root    root    26 2026-03-29 16:08 ..
  drwx--x--x  4 root    root     4 2025-09-02 12:53 containerd
  drwxrwxr-x  4 lkraven lkraven  4 2025-09-03 20:19 docker
  drwxrwxr-x  8 llmuser llm     17 2026-04-17 17:50 heretic
  drwxrwxr-x 15 llmuser llmuser 36 2026-04-11 23:24 Kokoro-FastAPI
  drwxrwxr-x 20 llmuser llmuser 39 2025-10-09 21:42 LibreChat
  drwxrwxr-x 26 llmuser llmuser 56 2025-09-04 21:01 llama.cpp
  drwxrwxr-x 13 llmuser llmuser 25 2025-09-02 12:50 llama-swap
  drwxrwxr-x  3 llmuser llmuser 11 2026-04-18 15:48 llmcompressor
  drwxr-xr-x  4 root    root     4 2025-08-30 22:54 nvidia
  drwxrwxr-x  6 llmuser llmuser 15 2025-09-24 09:53 parakeet-tdt-0.6b-v2-fastapi
  drwxrwxr-x  2 llmuser llmuser  6 2025-09-05 10:03 uv

/opt/docker  (total: 110M)
  total 18
  drwxrwxr-x  4 lkraven lkraven  4 2025-09-03 20:19 .
  drwxrwxrwx 13 root    root    13 2026-04-17 23:00 ..
  drwxrwxr-x 12 llmuser llm     12 2026-04-19 00:58 compose
  drwxrwxr-x  3 llmuser llmuser  3 2026-04-18 22:40 conf

/opt/docker/compose  (total: 110M)
  total 14
  drwxrwxr-x 12 llmuser llm     12 2026-04-19 00:58 .
  drwxrwxr-x  4 lkraven lkraven  4 2025-09-03 20:19 ..
  drwxr-xr-x  2 root    root     4 2026-04-19 00:58 beszel-agent
  drwxr-xr-x  2 llmuser llm      4 2025-09-05 20:36 comfyui
  drwxrwxr-x  2 llmuser llm      3 2025-09-03 17:23 dockge
  drwxr-xr-x  2 root    root     4 2026-04-19 00:28 dozzle-agent
  drwxrwxr-x  3 llmuser llmuser  4 2026-04-11 23:17 kokoro
  drwxr-xr-x  2 llmuser llm      4 2025-09-03 17:34 llama-swap
  drwxr-xr-x  2 llmuser llm      4 2025-09-24 12:32 parakeet
  drwxr-xr-x  2 llmuser llmuser  2 2026-04-11 11:08 synapse
  drwxr-xr-x  2 llmuser llm      4 2025-09-10 18:03 vibevoice
  drwxr-xr-x  2 root    root     4 2026-04-18 22:59 vllm-qwen3

/opt/docker/conf  (total: 18K)
  total 2
  drwxrwxr-x 3 llmuser llmuser 3 2026-04-18 22:40 .
  drwxrwxr-x 4 lkraven lkraven 4 2025-09-03 20:19 ..
  drwxrwxr-x 2 llmuser llmuser 4 2026-04-19 17:00 llama-swap

/var/lib/docker  (total: 8.5K)

/srv  (total: 512)
  total 9
  drwxr-xr-x  2 root root  2 2025-08-30 18:46 .
  drwxr-xr-x 18 root root 26 2026-03-29 16:08 ..


===== DOCKER =====

Server: 29.3.1   Client: 29.3.1

----- docker info -----
Containers:      6 (running 6, paused 0, stopped 0)
Images:          39
Runtimes:        map[io.containerd.runc.v2:{{runc []  map[]} map[org.opencontainers.runtime-spec.features:{"ociVersionMin":"1.0.0","ociVersionMax":"1.2.1","hooks":["prestart","createRuntime","createContainer","startContainer","poststart","poststop"],"mountOptions":["async","atime","bind","defaults","dev","diratime","dirsync","exec","iversion","lazytime","loud","mand","noatime","nodev","nodiratime","noexec","noiversion","nolazytime","nomand","norelatime","nostrictatime","nosuid","nosymfollow","private","ratime","rbind","rdev","rdiratime","relatime","remount","rexec","rnoatime","rnodev","rnodiratime","rnoexec","rnorelatime","rnostrictatime","rnosuid","rnosymfollow","ro","rprivate","rrelatime","rro","rrw","rshared","rslave","rstrictatime","rsuid","rsymfollow","runbindable","rw","shared","silent","slave","strictatime","suid","symfollow","sync","tmpcopyup","unbindable"],"linux":{"namespaces":["cgroup","ipc","mount","network","pid","time","user","uts"],"capabilities":["CAP_CHOWN","CAP_DAC_OVERRIDE","CAP_DAC_READ_SEARCH","CAP_FOWNER","CAP_FSETID","CAP_KILL","CAP_SETGID","CAP_SETUID","CAP_SETPCAP","CAP_LINUX_IMMUTABLE","CAP_NET_BIND_SERVICE","CAP_NET_BROADCAST","CAP_NET_ADMIN","CAP_NET_RAW","CAP_IPC_LOCK","CAP_IPC_OWNER","CAP_SYS_MODULE","CAP_SYS_RAWIO","CAP_SYS_CHROOT","CAP_SYS_PTRACE","CAP_SYS_PACCT","CAP_SYS_ADMIN","CAP_SYS_BOOT","CAP_SYS_NICE","CAP_SYS_RESOURCE","CAP_SYS_TIME","CAP_SYS_TTY_CONFIG","CAP_MKNOD","CAP_LEASE","CAP_AUDIT_WRITE","CAP_AUDIT_CONTROL","CAP_SETFCAP","CAP_MAC_OVERRIDE","CAP_MAC_ADMIN","CAP_SYSLOG","CAP_WAKE_ALARM","CAP_BLOCK_SUSPEND","CAP_AUDIT_READ","CAP_PERFMON","CAP_BPF","CAP_CHECKPOINT_RESTORE"],"cgroup":{"v1":true,"v2":true,"systemd":true,"systemdUser":true,"rdma":true},"seccomp":{"enabled":true,"actions":["SCMP_ACT_ALLOW","SCMP_ACT_ERRNO","SCMP_ACT_KILL","SCMP_ACT_KILL_PROCESS","SCMP_ACT_KILL_THREAD","SCMP_ACT_LOG","SCMP_ACT_NOTIFY","SCMP_ACT_TRACE","SCMP_ACT_TRAP"],"operators":["SCMP_CMP_EQ","SCMP_CMP_GE","SCMP_CMP_GT","SCMP_CMP_LE","SCMP_CMP_LT","SCMP_CMP_MASKED_EQ","SCMP_CMP_NE"],"archs":["SCMP_ARCH_AARCH64","SCMP_ARCH_ARM","SCMP_ARCH_MIPS","SCMP_ARCH_MIPS64","SCMP_ARCH_MIPS64N32","SCMP_ARCH_MIPSEL","SCMP_ARCH_MIPSEL64","SCMP_ARCH_MIPSEL64N32","SCMP_ARCH_PPC","SCMP_ARCH_PPC64","SCMP_ARCH_PPC64LE","SCMP_ARCH_RISCV64","SCMP_ARCH_S390","SCMP_ARCH_S390X","SCMP_ARCH_X32","SCMP_ARCH_X86","SCMP_ARCH_X86_64"],"knownFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"],"supportedFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"]},"apparmor":{"enabled":true},"selinux":{"enabled":true},"intelRdt":{"enabled":true},"mountExtensions":{"idmap":{"enabled":true}}},"annotations":{"io.github.seccomp.libseccomp.version":"2.6.0","org.opencontainers.runc.checkpoint.enabled":"true","org.opencontainers.runc.commit":"v1.3.4-0-gd6d73eb8","org.opencontainers.runc.version":"1.3.4\n"},"potentiallyUnsafeConfigAnnotations":["bundle","org.systemd.property.","org.criu.config"]}]} nvidia:{{nvidia-container-runtime []  map[]} map[org.opencontainers.runtime-spec.features:{"ociVersionMin":"1.0.0","ociVersionMax":"1.2.1","hooks":["prestart","createRuntime","createContainer","startContainer","poststart","poststop"],"mountOptions":["async","atime","bind","defaults","dev","diratime","dirsync","exec","iversion","lazytime","loud","mand","noatime","nodev","nodiratime","noexec","noiversion","nolazytime","nomand","norelatime","nostrictatime","nosuid","nosymfollow","private","ratime","rbind","rdev","rdiratime","relatime","remount","rexec","rnoatime","rnodev","rnodiratime","rnoexec","rnorelatime","rnostrictatime","rnosuid","rnosymfollow","ro","rprivate","rrelatime","rro","rrw","rshared","rslave","rstrictatime","rsuid","rsymfollow","runbindable","rw","shared","silent","slave","strictatime","suid","symfollow","sync","tmpcopyup","unbindable"],"linux":{"namespaces":["cgroup","ipc","mount","network","pid","time","user","uts"],"capabilities":["CAP_CHOWN","CAP_DAC_OVERRIDE","CAP_DAC_READ_SEARCH","CAP_FOWNER","CAP_FSETID","CAP_KILL","CAP_SETGID","CAP_SETUID","CAP_SETPCAP","CAP_LINUX_IMMUTABLE","CAP_NET_BIND_SERVICE","CAP_NET_BROADCAST","CAP_NET_ADMIN","CAP_NET_RAW","CAP_IPC_LOCK","CAP_IPC_OWNER","CAP_SYS_MODULE","CAP_SYS_RAWIO","CAP_SYS_CHROOT","CAP_SYS_PTRACE","CAP_SYS_PACCT","CAP_SYS_ADMIN","CAP_SYS_BOOT","CAP_SYS_NICE","CAP_SYS_RESOURCE","CAP_SYS_TIME","CAP_SYS_TTY_CONFIG","CAP_MKNOD","CAP_LEASE","CAP_AUDIT_WRITE","CAP_AUDIT_CONTROL","CAP_SETFCAP","CAP_MAC_OVERRIDE","CAP_MAC_ADMIN","CAP_SYSLOG","CAP_WAKE_ALARM","CAP_BLOCK_SUSPEND","CAP_AUDIT_READ","CAP_PERFMON","CAP_BPF","CAP_CHECKPOINT_RESTORE"],"cgroup":{"v1":true,"v2":true,"systemd":true,"systemdUser":true,"rdma":true},"seccomp":{"enabled":true,"actions":["SCMP_ACT_ALLOW","SCMP_ACT_ERRNO","SCMP_ACT_KILL","SCMP_ACT_KILL_PROCESS","SCMP_ACT_KILL_THREAD","SCMP_ACT_LOG","SCMP_ACT_NOTIFY","SCMP_ACT_TRACE","SCMP_ACT_TRAP"],"operators":["SCMP_CMP_EQ","SCMP_CMP_GE","SCMP_CMP_GT","SCMP_CMP_LE","SCMP_CMP_LT","SCMP_CMP_MASKED_EQ","SCMP_CMP_NE"],"archs":["SCMP_ARCH_AARCH64","SCMP_ARCH_ARM","SCMP_ARCH_MIPS","SCMP_ARCH_MIPS64","SCMP_ARCH_MIPS64N32","SCMP_ARCH_MIPSEL","SCMP_ARCH_MIPSEL64","SCMP_ARCH_MIPSEL64N32","SCMP_ARCH_PPC","SCMP_ARCH_PPC64","SCMP_ARCH_PPC64LE","SCMP_ARCH_RISCV64","SCMP_ARCH_S390","SCMP_ARCH_S390X","SCMP_ARCH_X32","SCMP_ARCH_X86","SCMP_ARCH_X86_64"],"knownFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"],"supportedFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"]},"apparmor":{"enabled":true},"selinux":{"enabled":true},"intelRdt":{"enabled":true},"mountExtensions":{"idmap":{"enabled":true}}},"annotations":{"io.github.seccomp.libseccomp.version":"2.6.0","org.opencontainers.runc.checkpoint.enabled":"true","org.opencontainers.runc.commit":"v1.3.4-0-gd6d73eb8","org.opencontainers.runc.version":"1.3.4\n"},"potentiallyUnsafeConfigAnnotations":["bundle","org.systemd.property.","org.criu.config"]}]} runc:{{runc []  map[]} map[org.opencontainers.runtime-spec.features:{"ociVersionMin":"1.0.0","ociVersionMax":"1.2.1","hooks":["prestart","createRuntime","createContainer","startContainer","poststart","poststop"],"mountOptions":["async","atime","bind","defaults","dev","diratime","dirsync","exec","iversion","lazytime","loud","mand","noatime","nodev","nodiratime","noexec","noiversion","nolazytime","nomand","norelatime","nostrictatime","nosuid","nosymfollow","private","ratime","rbind","rdev","rdiratime","relatime","remount","rexec","rnoatime","rnodev","rnodiratime","rnoexec","rnorelatime","rnostrictatime","rnosuid","rnosymfollow","ro","rprivate","rrelatime","rro","rrw","rshared","rslave","rstrictatime","rsuid","rsymfollow","runbindable","rw","shared","silent","slave","strictatime","suid","symfollow","sync","tmpcopyup","unbindable"],"linux":{"namespaces":["cgroup","ipc","mount","network","pid","time","user","uts"],"capabilities":["CAP_CHOWN","CAP_DAC_OVERRIDE","CAP_DAC_READ_SEARCH","CAP_FOWNER","CAP_FSETID","CAP_KILL","CAP_SETGID","CAP_SETUID","CAP_SETPCAP","CAP_LINUX_IMMUTABLE","CAP_NET_BIND_SERVICE","CAP_NET_BROADCAST","CAP_NET_ADMIN","CAP_NET_RAW","CAP_IPC_LOCK","CAP_IPC_OWNER","CAP_SYS_MODULE","CAP_SYS_RAWIO","CAP_SYS_CHROOT","CAP_SYS_PTRACE","CAP_SYS_PACCT","CAP_SYS_ADMIN","CAP_SYS_BOOT","CAP_SYS_NICE","CAP_SYS_RESOURCE","CAP_SYS_TIME","CAP_SYS_TTY_CONFIG","CAP_MKNOD","CAP_LEASE","CAP_AUDIT_WRITE","CAP_AUDIT_CONTROL","CAP_SETFCAP","CAP_MAC_OVERRIDE","CAP_MAC_ADMIN","CAP_SYSLOG","CAP_WAKE_ALARM","CAP_BLOCK_SUSPEND","CAP_AUDIT_READ","CAP_PERFMON","CAP_BPF","CAP_CHECKPOINT_RESTORE"],"cgroup":{"v1":true,"v2":true,"systemd":true,"systemdUser":true,"rdma":true},"seccomp":{"enabled":true,"actions":["SCMP_ACT_ALLOW","SCMP_ACT_ERRNO","SCMP_ACT_KILL","SCMP_ACT_KILL_PROCESS","SCMP_ACT_KILL_THREAD","SCMP_ACT_LOG","SCMP_ACT_NOTIFY","SCMP_ACT_TRACE","SCMP_ACT_TRAP"],"operators":["SCMP_CMP_EQ","SCMP_CMP_GE","SCMP_CMP_GT","SCMP_CMP_LE","SCMP_CMP_LT","SCMP_CMP_MASKED_EQ","SCMP_CMP_NE"],"archs":["SCMP_ARCH_AARCH64","SCMP_ARCH_ARM","SCMP_ARCH_MIPS","SCMP_ARCH_MIPS64","SCMP_ARCH_MIPS64N32","SCMP_ARCH_MIPSEL","SCMP_ARCH_MIPSEL64","SCMP_ARCH_MIPSEL64N32","SCMP_ARCH_PPC","SCMP_ARCH_PPC64","SCMP_ARCH_PPC64LE","SCMP_ARCH_RISCV64","SCMP_ARCH_S390","SCMP_ARCH_S390X","SCMP_ARCH_X32","SCMP_ARCH_X86","SCMP_ARCH_X86_64"],"knownFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"],"supportedFlags":["SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_LOG"]},"apparmor":{"enabled":true},"selinux":{"enabled":true},"intelRdt":{"enabled":true},"mountExtensions":{"idmap":{"enabled":true}}},"annotations":{"io.github.seccomp.libseccomp.version":"2.6.0","org.opencontainers.runc.checkpoint.enabled":"true","org.opencontainers.runc.commit":"v1.3.4-0-gd6d73eb8","org.opencontainers.runc.version":"1.3.4\n"},"potentiallyUnsafeConfigAnnotations":["bundle","org.systemd.property.","org.criu.config"]}]}]
Default runtime: runc
Storage driver:  overlay2
Root dir:        /var/lib/docker
Server version:  29.3.1

----- running containers -----
NAMES                     IMAGE                                STATUS                  PORTS
beszel-agent              henrygd/beszel-agent:latest          Up 21 hours             
dozzle-agent              amir20/dozzle:latest                 Up 22 hours             0.0.0.0:7007->7007/tcp, 8080/tcp
llama-swap-llama-swap-1   ghcr.io/mostlygeek/llama-swap:cuda   Up 5 hours (healthy)    0.0.0.0:9292->8080/tcp, [::]:9292->8080/tcp
vllm-rerank               vllm/vllm-openai:latest              Up 23 hours (healthy)   0.0.0.0:8002->8000/tcp, [::]:8002->8000/tcp
vllm-embed                vllm/vllm-openai:latest              Up 23 hours (healthy)   0.0.0.0:8001->8000/tcp, [::]:8001->8000/tcp
dockge-dockge-1           louislam/dockge:latest               Up 3 weeks (healthy)    0.0.0.0:5001->5001/tcp, [::]:5001->5001/tcp

----- all containers -----
NAMES                     IMAGE                                STATUS
beszel-agent              henrygd/beszel-agent:latest          Up 21 hours
dozzle-agent              amir20/dozzle:latest                 Up 22 hours
llama-swap-llama-swap-1   ghcr.io/mostlygeek/llama-swap:cuda   Up 5 hours (healthy)
vllm-rerank               vllm/vllm-openai:latest              Up 23 hours (healthy)
vllm-embed                vllm/vllm-openai:latest              Up 23 hours (healthy)
dockge-dockge-1           louislam/dockge:latest               Up 3 weeks (healthy)

----- networks -----
NAME                     DRIVER    SCOPE
bridge                   bridge    local
host                     host      local
kokoro-tts-gpu_default   bridge    local
librechat_default        bridge    local
llama-swap_default       bridge    local
none                     null      local
traefik-net              bridge    local

----- networks (external, non-default — worth knowing for compose external: true) -----
kokoro-tts-gpu_default
librechat_default
llama-swap_default
traefik-net

----- named volumes -----
VOLUME NAME                                                        DRIVER
88cea17a7577848d5a34a191ac1a01acb0cd196a2792cfdae6845053ede8b02b   local
beszel-agent_beszel_agent_data                                     local
ccb997d07399630358be058be83fe6f5ee64ca307f6dc03c669d9f137644b29a   local
dockge_dockge_data                                                 local
dozzle-agent_dozzle_agent_data                                     local
librechat_pgdata2                                                  local
parakeet_parakeet_cache                                            local
searxng_searxng-data                                               local

----- compose projects currently running -----
beszel-agent
dockge
dozzle-agent
llama-swap
vllm-qwen3

===== COMPOSE FILES (/opt/docker/compose/) =====


>>> /opt/docker/compose/beszel-agent/compose.yaml
# Beszel — lightweight server/container monitoring.
#
# Hub: single web UI with the SQLite store. Agents: per-host metric collectors
# that the hub pulls from over SSH.
#
# Multi-host layout via compose profiles:
#   COMPOSE_PROFILES=hub          → hub only        (ana-docker)
#   COMPOSE_PROFILES=hub,agent    → hub + local agent on the same host
#   COMPOSE_PROFILES=agent        → agent only      (ana-ml2)
#
# The agent uses network_mode: host so it sees real host CPU/mem/net/disk
# counters rather than container-scoped ones — that's why it can't share
# the tnet network with the hub.
#
# All tunables live in .env — edit that, not this file.

services:
  beszel:
    image: henrygd/beszel:${BESZEL_VERSION}
    container_name: beszel
    profiles:
      - hub
    restart: unless-stopped
    ports:
      - ${BESZEL_PORT}:8090
    volumes:
      - beszel_data:/beszel_data
    healthcheck:
      test:
        - CMD
        - wget
        - -qO-
        - http://localhost:8090/api/health
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 15s
    networks:
      - tnet
    labels:
      - homepage.group=PFI-ANA
      - homepage.name=Beszel
      - homepage.icon=mdi-chart-line
      - homepage.description=Server + container monitoring
      - homepage.href=http://10.250.50.70:${BESZEL_PORT}
  beszel-agent:
    image: henrygd/beszel-agent:${BESZEL_VERSION}
    container_name: beszel-agent
    profiles:
      - agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - beszel_agent_data:/var/lib/beszel-agent
    environment:
      - PORT=${BESZEL_AGENT_PORT:-45876}
      - KEY=${BESZEL_HUB_KEY}
      - HUB_URL=${HUB_URL}
      - TOKEN=${BESZEL_TOKEN}
      - EXTRA_FILESYSTEMS=${BESZEL_EXTRA_FS:-}
volumes:
  beszel_data: null
  beszel_agent_data: null
networks:
  tnet:
    name: traefik-net
    external: true

>>> /opt/docker/compose/comfyui/compose.yaml
services:
  comfyui:
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities:
                - gpu
                - compute
                - utility
    ports:
      - 8188:8188
    image: mmartial/comfyui-nvidia-docker:ubuntu24_cuda13.0-latest
    networks:
      - tnet
    volumes:
      - /tank/comfy/run:/comfy/mnt
      - /tank/aimodels/img/comfy:/basedir
    #user: 1001:1002
    environment:
      - WANTED_UID=1001
      - WANTED_GID=1002
      - BASE_DIRECTORY=/basedir
      - SECURITY_LEVEL=weak
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
    labels:
      - homepage.group=AI Systems
      - homepage.name=ComfyUI
      - homepage.icon=mdi-panorama-variant-outline
      - homepage.description=ComfyUI Image Gen (ana-ml2)
      - homepage.href=http://10.250.50.54:8188
    restart: unless-stopped
networks:
  tnet:
    name: traefik-net
    external: true

>>> /opt/docker/compose/dockge/compose.yaml
services:
  dockge:
    image: louislam/dockge:latest
    restart: unless-stopped
    ports:
      # Host Port : Container Port
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dockge_data:/app/data
      - /opt/docker/compose:/opt/docker/compose
    labels:
      - homepage.group=PFI-ANA
      - homepage.name=Dockge-ML2
      - homepage.icon=si-portainer
      - homepage.description=Docker
      - homepage.href=http://10.250.50.54:5001
    environment:
      # Tell Dockge where is your stacks directory
      - DOCKGE_STACKS_DIR=/opt/docker/compose
    networks:
      - tnet

volumes:
  dockge_data: null
networks:
  tnet:
    name: traefik-net
    external: true


>>> /opt/docker/compose/dozzle-agent/compose.yaml
# Dozzle — container log viewer.
#
# Multi-host layout via compose profiles:
#   COMPOSE_PROFILES=hub   → runs the web UI (deploy on ana-docker)
#   COMPOSE_PROFILES=agent → runs the remote agent (deploy on ana-ml2)
#
# Same compose.yaml on both servers; per-host `.env` picks the profile.
#
# All tunables live in .env — edit that, not this file.

services:
  dozzle:
    image: amir20/dozzle:${DOZZLE_VERSION}
    container_name: dozzle
    profiles: [hub]
    restart: unless-stopped
    ports:
      - "${DOZZLE_PORT}:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dozzle_data:/data
    environment:
      - DOZZLE_HOSTNAME=${DOZZLE_HOSTNAME}
      - DOZZLE_REMOTE_AGENT=${DOZZLE_REMOTE_AGENT:-}
      - DOZZLE_AUTH_PROVIDER=${DOZZLE_AUTH_PROVIDER:-none}
      - DOZZLE_USERNAME=${DOZZLE_USERNAME:-}
      - DOZZLE_PASSWORD=${DOZZLE_PASSWORD:-}
    healthcheck:
      test: ["CMD", "/dozzle", "healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 15s
    networks:
      - tnet
    labels:
      - homepage.group=PFI-ANA
      - homepage.name=Dozzle
      - homepage.icon=mdi-text-box-search
      - homepage.description=Container logs (ana-docker + ana-ml2)
      - homepage.href=http://10.250.50.70:${DOZZLE_PORT}

  dozzle-agent:
    image: amir20/dozzle:${DOZZLE_VERSION}
    container_name: dozzle-agent
    profiles: [agent]
    restart: unless-stopped
    command: agent
    ports:
      - "${DOZZLE_AGENT_BIND:-0.0.0.0}:${DOZZLE_AGENT_PORT}:7007"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dozzle_agent_data:/data
    environment:
      - DOZZLE_HOSTNAME=${DOZZLE_HOSTNAME}
    networks:
      - tnet

volumes:
  dozzle_data:
  dozzle_agent_data:

networks:
  tnet:
    name: traefik-net
    external: true

>>> /opt/docker/compose/kokoro/compose.yaml
name: kokoro-tts
services:
  kokoro-tts:
    container_name: kokoro-tts
    build:
      context: ./Kokoro-FastAPI
      dockerfile: docker/gpu/Dockerfile
    volumes:
      - /tank/kokoro/models:/app/api/src/models
      - /tank/kokoro/output:/app/output
    ports:
      - "8765:8880"
    environment:
      - PYTHONPATH=/app:/app/api
      - USE_GPU=true
      - PYTHONUNBUFFERED=1
      - DOWNLOAD_MODEL=false
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    networks:
      - tnet
    labels:
      - homepage.group=AI Systems
      - homepage.name=Kokoro TTS
      - homepage.icon=mdi-waveform
      - homepage.description=Kokoro FastAPI TTS (OpenAI-compatible)
      - homepage.href=http://10.250.50.54:8765
    restart: unless-stopped

networks:
  tnet:
    name: traefik-net
    external: true


>>> /opt/docker/compose/llama-swap/compose.yaml
  services:
    llama-swap:
      stdin_open: true
      tty: true
      runtime: nvidia
      volumes:
        - /opt/docker/conf/llama-swap/config.yaml:/app/config.yaml
        - /tank/aimodels/llm:/models
        - /tank/aimodels/huggingface:/hfcache
      environment:
        - HF_HOME=/hfcache
        - HF_HUB_CACHE=/hfcache/hub
      ports:
        - 9292:8080
      image: ghcr.io/mostlygeek/llama-swap:cuda
      networks:
        - tnet
  networks:
    tnet:
      name: traefik-net
      external: true
>>> /opt/docker/compose/parakeet/compose.yaml
services:
  parakeet-stt:
    image: parakeet-stt
    ports:
      - 8300:8000
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities:
                - gpu
    restart: unless-stopped
    volumes:
      - parakeet_cache:/root/.cache
    networks:
      - tnet
    env_file:
      - .env
    labels:
      - homepage.group=AI Systems
      - homepage.name=Parakeet
      - homepage.icon=mdi-talk
      - homepage.description=Parakeet STT (ana-ml2)
      - homepage.href=http://10.250.50.54:8300
networks:
  tnet:
    name: traefik-net
    external: true
volumes:
  parakeet_cache: null

>>> /opt/docker/compose/vibevoice/compose.yaml
services:
  vibevoice:
    container_name: vibevoice
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities:
                - gpu
    ports:
      - 8745:8745
    volumes:
      - /tank/vibevoice/hf:/root/.cache/huggingface
      - /tank/vibevoice/voices:/app/voices
      - /tank/vibevoice/state:/var/lib/eworker
    environment:
      - ENABLE_1_5B=true
      - ENABLE_LARGE=true
      - AUTH_REQUIRED=true
      - CORS_ENABLED=true
      - ALLOWED_ORIGINS=*
    image: eworkerinc/vibevoice:latest
    networks:
      - tnet
    labels:
      - homepage.group=AI Systems
      - homepage.name=VibeVoice
      - homepage.icon=mdi-chat
      - homepage.description=EWorkerStudio VibeVoice
      - homepage.href=http://10.250.50.54:8745
    restart: unless-stopped
networks:
  tnet:
    name: traefik-net
    external: true

>>> /opt/docker/compose/vllm-qwen3/compose.yaml
# vLLM — Qwen3 Embedding + Reranker (one stack, two services).
#
# Replaces the unmaintained Infinity stack. vLLM runs one model per process,
# so this stack brings up two containers sharing a single GPU:
#
#   vllm-embed   — Qwen3-Embedding served as an OpenAI /v1/embeddings server
#   vllm-rerank  — Qwen3-Reranker served as a /rerank + /score server
#
# The reranker is a causal-LM checkpoint; --hf-overrides re-maps it to
# Qwen3ForSequenceClassification so vLLM's reranking endpoints work and the
# model only emits two class logits (no/yes) instead of the full 151k vocab.
#
# All tunables live in .env — edit that, not this file.
#
# Pre-download models to avoid first-run delay:
#   HF_HOME=/tank/aimodels/huggingface hf download Qwen/Qwen3-Embedding-0.6B
#   HF_HOME=/tank/aimodels/huggingface hf download Qwen/Qwen3-Reranker-0.6B

services:
  vllm-embed:
    image: vllm/vllm-openai:${VLLM_VERSION}
    container_name: vllm-embed
    restart: unless-stopped
    ipc: host
    ports:
      - ${EMBED_PORT}:8000
    volumes:
      - /tank/aimodels/huggingface:/hfcache
    environment:
      - HF_HOME=/hfcache
      - HF_HUB_CACHE=/hfcache/hub
      - HUGGING_FACE_HUB_TOKEN=${HF_TOKEN:-}
      - VLLM_API_KEY=${API_KEY:-}
    command:
      - ${EMBED_MODEL}
      - --served-model-name
      - ${EMBED_MODEL}
      - --runner
      - pooling
      - --host
      - 0.0.0.0
      - --port
      - "8000"
      - --gpu-memory-utilization
      - ${EMBED_GPU_MEM_UTIL}
      - --max-model-len
      - ${EMBED_MAX_MODEL_LEN}
      - --dtype
      - auto
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              device_ids:
                - ${GPU_ID}
              capabilities:
                - gpu
    healthcheck:
      test:
        - CMD
        - curl
        - -f
        - http://localhost:8000/health
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 180s
    networks:
      - tnet
    labels:
      - homepage.group=AI Systems
      - homepage.name=vLLM Embed (Qwen3)
      - homepage.icon=mdi-vector-arrange-below
      - homepage.description=Qwen3 Embedding via vLLM (ana-ml2)
      - homepage.href=http://10.250.50.54:${EMBED_PORT}/docs
  vllm-rerank:
    image: vllm/vllm-openai:${VLLM_VERSION}
    container_name: vllm-rerank
    restart: unless-stopped
    ipc: host
    ports:
      - ${RERANK_PORT}:8000
    volumes:
      - /tank/aimodels/huggingface:/hfcache
    environment:
      - HF_HOME=/hfcache
      - HF_HUB_CACHE=/hfcache/hub
      - HUGGING_FACE_HUB_TOKEN=${HF_TOKEN:-}
      - VLLM_API_KEY=${API_KEY:-}
    command:
      - ${RERANK_MODEL}
      - --served-model-name
      - ${RERANK_MODEL}
      - --runner
      - pooling
      - --hf-overrides
      - '{"architectures":["Qwen3ForSequenceClassification"],"classifier_from_token":["no","yes"],"is_original_qwen3_reranker":true}'
      - --host
      - 0.0.0.0
      - --port
      - "8000"
      - --gpu-memory-utilization
      - ${RERANK_GPU_MEM_UTIL}
      - --max-model-len
      - ${RERANK_MAX_MODEL_LEN}
      - --dtype
      - auto
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              device_ids:
                - ${GPU_ID}
              capabilities:
                - gpu
    healthcheck:
      test:
        - CMD
        - curl
        - -f
        - http://localhost:8000/health
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 180s
    networks:
      - tnet
    labels:
      - homepage.group=AI Systems
      - homepage.name=vLLM Rerank (Qwen3)
      - homepage.icon=mdi-sort-variant
      - homepage.description=Qwen3 Reranker via vLLM (ana-ml2)
      - homepage.href=http://10.250.50.54:${RERANK_PORT}/docs
networks:
  tnet:
    name: traefik-net
    external: true

===== CONFIG LAYOUT (/opt/docker/conf/ — top 200 entries) =====

/opt/docker/conf
/opt/docker/conf/llama-swap
/opt/docker/conf/llama-swap/config.oldyaml
/opt/docker/conf/llama-swap/config.yaml

===== LISTENING PORTS =====

0.0.0.0:22
0.0.0.0:5001
0.0.0.0:7007
0.0.0.0:8001
0.0.0.0:8002
0.0.0.0:9292
[::]:22
*:2375
[::]:5001
[::]:8001
[::]:8002
[::]:9292

===== MODEL / HUGGINGFACE CACHES =====

/tank/aimodels/huggingface  (108G)
  hub entries:
    CACHEDIR.TAG
    datasets--HuggingFaceH4--ultrachat_200k
    datasets--mlabonne--harmful_behaviors
    datasets--mlabonne--harmless_alpaca
    models--bartowski--Meta-Llama-3.1-8B-Instruct-GGUF
    models--bartowski--NousResearch_Hermes-4-14B-GGUF
    models--bartowski--TheDrummer_GLM-Steam-106B-A12B-v1-GGUF
    models--bartowski--TheDrummer_Skyfall-31B-v4-GGUF
    models--BeaverAI--Skyfall-R1-31B-v4a-GGUF
    models--ibm-granite--granite-4.0-h-small-GGUF
    models--ibm-granite--granite-4.0-h-tiny-GGUF
    models--ibm-granite--granite-4.0-micro-GGUF
    models--mradermacher--Daredevil-8B-abliterated-dpomix-GGUF
    models--mradermacher--Qwen3-30B-A3B-abliterated-erotic-i1-GGUF
    models--mradermacher--Qwen3.6-35B-A3B-abliterated-i1-GGUF
    models--newsletter--VibeVoice-Large-pt
    models--Qwen--Qwen2.5-0.5B-Instruct
    models--Qwen--Qwen3.6-35B-A3B
    models--Qwen--Qwen3-Embedding-0.6B
    models--Qwen--Qwen3-Omni-30B-A3B-Instruct
    models--Qwen--Qwen3-Reranker-0.6B
    models--Qwen--Qwen-Image-Edit-2509
    models--unsloth--embeddinggemma-300m-GGUF
    models--unsloth--gemma-4-26B-A4B-it-GGUF
    models--unsloth--GLM-4.6-GGUF
    models--unsloth--GLM-4.7-Flash-GGUF
    models--unsloth--granite-4.0-h-micro-GGUF
    models--unsloth--granite-4.0-h-small-GGUF
    models--unsloth--granite-4.0-h-tiny-GGUF
    models--unsloth--Kimi-K2-Instruct-0905-GGUF

/tank/aimodels/llm  (790G)

/home/lkraven/.cache/huggingface  (2.1M)
  hub entries:
    models--Astralyra--bge-reranker-large-Q8_0-GGUF
    models--ggml-org--embeddinggemma-300M-GGUF
    models--ggml-org--Qwen3-Reranker-0.6B-Q8_0-GGUF
    models--jinaai--jina-reranker-v3-GGUF
    models--klnstpr--bge-reranker-v2-m3-Q8_0-GGUF
    models--minhtd14--jina-reranker-v2-base-multilingual-Q8_0-GGUF
    models--Mungert--Qwen3-Reranker-0.6B-GGUF
    models--Qwen--Qwen3-Embedding-0.6B-GGUF
    models--Qwen--Qwen3-Reranker-0.6B
    models--unsloth--gemma-4-26B-A4B-it
    models--unsloth--gemma-4-26B-A4B-it-GGUF
    models--unsloth--gemma-4-31B-it-GGUF


===== DOCKER-ADJACENT SYSTEMD SERVICES =====

containerd.service running
docker.service running

===== DONE =====

Paste the above back into the chat, or pass a path as argv[1] to save.
