lora-trainer / Dockerfile
devnull's picture
fix: create embeddings/log/datasets dirs; make kohya_ss clone resilient; keep embeddings dir flag
3591bd4
FROM pytorch/pytorch:2.2.2-cuda12.1-cudnn8-runtime
ENV DEBIAN_FRONTEND=noninteractive \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PYTHONUNBUFFERED=1 \
PATH="/home/user/.local/bin:$PATH" \
COMMANDLINE_ARGS="--listen --port 7860 --xformers --enable-insecure-extension-access --api --no-half-vae --embeddings-dir /app/stable-diffusion-webui/embeddings" \
VENV_DIR="/opt/venv" \
WEBUI_DIR="/app/stable-diffusion-webui" \
MODELS_DIR="/app/models" \
HF_HOME="/app/.cache/huggingface"
RUN useradd -m -u 1000 user
USER user
WORKDIR /app
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
git git-lfs wget aria2 ffmpeg libgl1 libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/* \
&& git lfs install
USER user
RUN git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ${WEBUI_DIR}
# Optional extensions
# RUN git clone https://github.com/Mikubill/sd-webui-controlnet ${WEBUI_DIR}/extensions/sd-webui-controlnet
RUN git clone https://github.com/bmaltais/kohya_ss ${WEBUI_DIR}/extensions/kohya_ss || true
# Create embeddings directory with correct permissions
USER root
RUN mkdir -p ${WEBUI_DIR}/embeddings \
/app/log/ti \
/app/datasets \
&& chown -R user:user /app
USER user
RUN pip install --no-cache-dir --upgrade pip wheel setuptools \
&& pip install --no-cache-dir xformers==0.0.24 huggingface_hub
RUN mkdir -p ${MODELS_DIR}/Stable-diffusion ${MODELS_DIR}/Lora ${MODELS_DIR}/VAE
COPY --chown=user:users ./start.sh /app/start.sh
RUN chmod +x /app/start.sh
EXPOSE 7860
WORKDIR ${WEBUI_DIR}
CMD ["/app/start.sh"]