File size: 2,790 Bytes
1b46b61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# keys-2k MiniMax-H3 Parallel — Two DGX Sparks (GB10 / aarch64)
# ComfyUI 0.31.1 + pinned Power Pack custom_nodes + quality launch flags.
# Models are NOT baked in — mount models/ at runtime (see docker-compose / fetch_weights.sh).
#
# Build on a DGX Spark (arm64) that already has a working h3-cotenancy tree, or use
# the published image: ghcr.io/drowzeys/keys-2k-minimax-h3-parallel-two-dgx-sparks

FROM nvidia/cuda:12.8.1-runtime-ubuntu24.04

ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONUNBUFFERED=1 \
    NVIDIA_VISIBLE_DEVICES=all \
    NVIDIA_DRIVER_CAPABILITIES=compute,utility \
    COMFY_DIR=/opt/powerpack-h3/ComfyUI \
    H3_PORT=8188

RUN apt-get update && apt-get install -y --no-install-recommends \
      python3 python3-venv python3-pip \
      git curl ca-certificates ffmpeg \
      libgl1 libglib2.0-0 libsm6 libxext6 libxrender1 \
      build-essential \
    && rm -rf /var/lib/apt/lists/*

# Prebuilt ComfyUI tree (venv + custom_nodes, no model weights)
COPY ComfyUI/ ${COMFY_DIR}/
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY H3_STACK_MANIFEST.json /opt/powerpack-h3/H3_STACK_MANIFEST.json
COPY workflows/ /opt/powerpack-h3/workflows/
COPY scripts/ /opt/powerpack-h3/scripts/
RUN chmod +x /opt/powerpack-h3/scripts/*.sh

RUN chmod +x /usr/local/bin/entrypoint.sh \
 && mkdir -p ${COMFY_DIR}/models ${COMFY_DIR}/output ${COMFY_DIR}/input ${COMFY_DIR}/temp \
 && bash -c 'if [ -d "${COMFY_DIR}/.venv" ]; then \
      find "${COMFY_DIR}/.venv" -type f \( -name "*.py" -o -name "activate*" -o -name "pip*" -o -name "python*" -o -name "torch*" \) \
        2>/dev/null | while read -r f; do \
          grep -q /home/keyspark "$f" 2>/dev/null || continue; \
          sed -i \
            -e "s|/home/keyspark/h3-cotenancy/ComfyUI|/opt/powerpack-h3/ComfyUI|g" \
            -e "s|/home/keyspark/comfy/ComfyUI|/opt/powerpack-h3/ComfyUI|g" "$f" || true; \
        done; \
      find "${COMFY_DIR}/.venv/bin" -type f -exec sed -i \
        "1s|^#!.*python.*|#!/opt/powerpack-h3/ComfyUI/.venv/bin/python|" {} + 2>/dev/null || true; \
    fi'

WORKDIR ${COMFY_DIR}
EXPOSE 8188

# Co-tenant friendly defaults (override via env)
ENV H3_RESERVE_VRAM=48 \
    H3_VRAM_HEADROOM=10 \
    H3_LISTEN=0.0.0.0

LABEL org.opencontainers.image.title="keys-2k-minimax-h3-parallel-two-dgx-sparks" \
      org.opencontainers.image.description="Power Pack MiniMax-H3 dual-Spark quality stack (2K upscale path, Spectrum audio fix, parallel master-K0)" \
      org.opencontainers.image.version="0.31.1-pp20260811" \
      org.opencontainers.image.source="https://huggingface.co/drowzeys/keys-2k-MiniMax-H3-Parallel-Two-DGX-Sparks" \
      powerpack.stack="keys-2k" \
      powerpack.comfyui="0.31.1" \
      powerpack.spectrum="0.2.1"

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]