diff --git a/comfyui-audio/Dockerfile b/comfyui-audio/Dockerfile new file mode 100644 index 0000000..68187cb --- /dev/null +++ b/comfyui-audio/Dockerfile @@ -0,0 +1,44 @@ +FROM nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04 + +ENV DEBIAN_FRONTEND=noninteractive +ENV PYTHONUNBUFFERED=1 + +# System dependencies +RUN apt-get update && apt-get install -y \ + python3.10 \ + python3-pip \ + python3.10-venv \ + git \ + wget \ + ffmpeg \ + libsndfile1 \ + && rm -rf /var/lib/apt/lists/* + +RUN ln -s /usr/bin/python3.10 /usr/bin/python + +WORKDIR /app + +ENV GIT_TERMINAL_PROMPT=0 + +# Clone ComfyUI +RUN git clone https://github.com/comfyanonymous/ComfyUI.git + +WORKDIR /app/ComfyUI + +# Install ComfyUI dependencies +RUN pip install --no-cache-dir "torch>=2.3.0" torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 +RUN pip install --no-cache-dir -r requirements.txt + +# Install ComfyUI-Manager (für einfache Node-Installation über die UI) +RUN git clone https://github.com/ltdrdata/ComfyUI-Manager.git custom_nodes/ComfyUI-Manager +RUN pip install --no-cache-dir -r custom_nodes/ComfyUI-Manager/requirements.txt + +# Build tools für PyAV (audiocraft dependency) +RUN apt-get update && apt-get install -y pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev && rm -rf /var/lib/apt/lists/* + +# AudioCraft (MusicGen, AudioGen von Meta) +RUN pip install --no-cache-dir audiocraft + +EXPOSE 8188 + +CMD ["python", "main.py", "--listen", "0.0.0.0", "--port", "8188"] diff --git a/comfyui-audio/Dockerfile.amd b/comfyui-audio/Dockerfile.amd new file mode 100644 index 0000000..fcea31f --- /dev/null +++ b/comfyui-audio/Dockerfile.amd @@ -0,0 +1,35 @@ +FROM rocm/pytorch:rocm6.2_ubuntu22.04_py3.10_pytorch_release_2.3.0 + +ENV DEBIAN_FRONTEND=noninteractive +ENV PYTHONUNBUFFERED=1 +ENV GIT_TERMINAL_PROMPT=0 +ENV HSA_OVERRIDE_GFX_VERSION=11.0.0 + +# System dependencies +RUN apt-get update && apt-get install -y \ + git wget ffmpeg \ + libsndfile1 \ + pkg-config libavformat-dev libavcodec-dev libavdevice-dev \ + libavutil-dev libswscale-dev libswresample-dev libavfilter-dev \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +# Clone ComfyUI +RUN git clone https://github.com/comfyanonymous/ComfyUI.git + +WORKDIR /app/ComfyUI + +# ComfyUI dependencies (torch already included in base image) +RUN pip install --no-cache-dir -r requirements.txt + +# ComfyUI-Manager +RUN git clone https://github.com/ltdrdata/ComfyUI-Manager.git custom_nodes/ComfyUI-Manager +RUN pip install --no-cache-dir -r custom_nodes/ComfyUI-Manager/requirements.txt + +# AudioCraft +RUN pip install --no-cache-dir audiocraft + +EXPOSE 8188 + +CMD ["python", "main.py", "--listen", "0.0.0.0", "--port", "8188"] diff --git a/comfyui-audio/docker-compose.amd.yml b/comfyui-audio/docker-compose.amd.yml new file mode 100644 index 0000000..0d09798 --- /dev/null +++ b/comfyui-audio/docker-compose.amd.yml @@ -0,0 +1,21 @@ +services: + comfyui: + build: + context: . + dockerfile: Dockerfile.amd + container_name: comfyui-audio + ports: + - "8188:8188" + volumes: + - ./models:/app/ComfyUI/models + - ./output:/app/ComfyUI/output + - ./input:/app/ComfyUI/input + - ./custom_nodes:/app/ComfyUI/custom_nodes + devices: + - /dev/kfd + - /dev/dri + group_add: + - video + environment: + - HSA_OVERRIDE_GFX_VERSION=11.0.0 + restart: unless-stopped diff --git a/comfyui-audio/docker-compose.yml b/comfyui-audio/docker-compose.yml new file mode 100644 index 0000000..12f6b63 --- /dev/null +++ b/comfyui-audio/docker-compose.yml @@ -0,0 +1,21 @@ +services: + comfyui: + build: . + container_name: comfyui-audio + ports: + - "8188:8188" + volumes: + - ./models:/app/ComfyUI/models + - ./output:/app/ComfyUI/output + - ./input:/app/ComfyUI/input + - ./custom_nodes:/app/ComfyUI/custom_nodes + environment: + - NVIDIA_VISIBLE_DEVICES=all + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: all + capabilities: [gpu] + restart: unless-stopped diff --git a/comfyui-audio/setup.md b/comfyui-audio/setup.md new file mode 100644 index 0000000..d4d9016 --- /dev/null +++ b/comfyui-audio/setup.md @@ -0,0 +1,34 @@ +# ComfyUI + AudioCraft Setup + +## Voraussetzungen +- Docker Desktop mit WSL2 Backend +- NVIDIA Container Toolkit (in Docker Desktop integriert ab Version 4.x) + +## Einmalig: WSL2 NVIDIA Support aktivieren +In Docker Desktop → Settings → Resources → GPU → Enable GPU support aktivieren. + +## Starten +```bash +cd comfyui-audio +docker compose up --build +``` +Beim ersten Start lädt es alle Abhängigkeiten (~5-10 min). + +## ComfyUI öffnen +http://localhost:8188 + +## AudioCraft Modelle laden +Die Modelle werden automatisch beim ersten Nutzen heruntergeladen und unter `./models` gecacht. + +Empfohlene Modelle für Game Audio: +- `musicgen-medium` — Musik/Atmosphäre (1.5GB) +- `musicgen-stereo-medium` — Stereo Musik +- `audiogen-medium` — Sound Effects (Schritte, Umgebungsgeräusche) + +## Workflow für das Game +1. Atmosphärische Musik: musicgen mit Prompt wie *"dark dungeon ambience, slow, mysterious"* +2. Kampfmusik: *"epic battle music, drums, dark fantasy"* +3. Sound Effects via audiogen: *"sword clash metal", "footsteps stone floor"* + +## Output +Generierte Audiodateien landen unter `./output/`