thedocks/comfyui.xpu/runner-scripts/entrypoint.sh
2025-12-13 11:04:32 +00:00

62 lines
1.8 KiB
Bash

#!/bin/bash
set -e
echo "########################################"
# Run user's set-proxy script
cd /root
if [ ! -f "/root/user-scripts/set-proxy.sh" ] ; then
mkdir -p /root/user-scripts
cp /runner-scripts/set-proxy.sh.example /root/user-scripts/set-proxy.sh
else
echo "[INFO] Running set-proxy script..."
chmod +x /root/user-scripts/set-proxy.sh
source /root/user-scripts/set-proxy.sh
fi ;
# Copy ComfyUI from cache to workdir if it doesn't exist
cd /root
if [ ! -f "/root/ComfyUI/main.py" ] ; then
mkdir -p /root/ComfyUI
# 'cp --archive': all file timestamps and permissions will be preserved
# 'cp --update=none': do not overwrite
if cp --archive --update=none "/default-comfyui-bundle/ComfyUI/." "/root/ComfyUI/" ; then
echo "[INFO] Setting up ComfyUI..."
echo "[INFO] Using image-bundled ComfyUI (copied to workdir)."
else
echo "[ERROR] Failed to copy ComfyUI bundle to '/root/ComfyUI'" >&2
exit 1
fi
else
echo "[INFO] Using existing ComfyUI in user storage..."
fi
# Run user's pre-start script
cd /root
if [ ! -f "/root/user-scripts/pre-start.sh" ] ; then
mkdir -p /root/user-scripts
cp /runner-scripts/pre-start.sh.example /root/user-scripts/pre-start.sh
else
echo "[INFO] Running pre-start script..."
chmod +x /root/user-scripts/pre-start.sh
source /root/user-scripts/pre-start.sh
fi ;
echo "[INFO] Starting ComfyUI..."
echo "########################################"
# Let .pyc files be stored in one place
export PYTHONPYCACHEPREFIX="/root/.cache/pycache"
# Let PIP install packages to /root/.local
export PIP_USER=true
# Add above to PATH
export PATH="${PATH}:/root/.local/bin"
# Suppress [WARNING: Running pip as the 'root' user]
export PIP_ROOT_USER_ACTION=ignore
cd /root
python3 ./ComfyUI/main.py --listen --port 8188 --enable-manager ${CLI_ARGS}