43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
FROM nvcr.io/nvidia/pytorch:26.01-py3
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# 1. Système + SSH + Dépendances de rendu (zstd, libgl, libglib)
|
|
RUN apt-get update && apt-get install -y \
|
|
openssh-server ffmpeg libsndfile1 sox git curl zstd \
|
|
libgl1-mesa-glx libglib2.0-0 \
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Config SSH pour root (nécessaire pour Vast.ai)
|
|
RUN mkdir /var/run/sshd && \
|
|
echo 'root:root' | chpasswd && \
|
|
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
|
|
|
|
# 2. Python & Dépendances
|
|
RUN pip install --no-cache-dir \
|
|
open-webui gradio scipy soundfile julius omegaconf hydra-core \
|
|
flashy torchmetrics encodec xformers einops spacy==3.7.6 numpy==1.26.4
|
|
|
|
RUN pip install --no-cache-dir --no-deps git+https://github.com/facebookresearch/audiocraft.git
|
|
|
|
# 3. Ollama & Comfy
|
|
RUN curl -fsSL https://ollama.ai/install.sh | sh
|
|
WORKDIR /root
|
|
RUN git clone https://github.com/comfyanonymous/ComfyUI.git && \
|
|
cd ComfyUI && pip install --no-cache-dir -r requirements.txt
|
|
|
|
# 4. Copie du code
|
|
RUN mkdir -p /root/audiocraft-api
|
|
COPY server.py /root/audiocraft-api/server.py
|
|
|
|
# 5. Script de démarrage avec redirection des logs et sleep infinity
|
|
RUN echo '#!/bin/bash\n\
|
|
service ssh start\n\
|
|
ollama serve > /root/ollama.log 2>&1 & \n\
|
|
open-webui serve --port 3000 > /root/webui.log 2>&1 & \n\
|
|
python3 /root/ComfyUI/main.py --listen 0.0.0.0 --port 8188 > /root/comfy.log 2>&1 & \n\
|
|
python3 /root/audiocraft-api/server.py > /root/audio.log 2>&1 & \n\
|
|
echo "Studio Ready" \n\
|
|
sleep infinity' > /start.sh && chmod +x /start.sh
|
|
|
|
EXPOSE 22 3000 7860 8188 11434
|
|
ENTRYPOINT ["/bin/bash", "/start.sh"] |