diff --git a/Dockerfile b/Dockerfile index cde9902..bcec9b5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,6 @@ ENV TTS_MODEL=$TTS_MODEL ARG DEEPSPEED_VERSION=0.16.2 ENV DEEPSPEED_VERSION=$DEEPSPEED_VERSION -ARG ALLTALK_DIR=/opt/alltalk - ENV GRADIO_SERVER_NAME="0.0.0.0" # Switch for using the multi engine manager: @@ -59,10 +57,7 @@ EOR # Download all RVC models: ############################################################################## COPY system/tts_engines/rvc_files.json system/tts_engines/ -RUN < start_diagnostics.sh #!/usr/bin/env bash source ~/.bashrc -conda activate alltalk +source ${ALLTALK_DIR}/conda_env.sh python diagnostics.py EOF chmod +x start_alltalk.sh @@ -174,21 +169,20 @@ EOF chmod +x start_diagnostics.sh EOR -COPY . . +COPY --chown=alltalk:alltalk . . ############################################################################## # Create script to execute firstrun.py and run it: ############################################################################## RUN echo $'#!/usr/bin/env bash \n\ source ~/.bashrc \n\ -conda activate alltalk \n\ +source ${ALLTALK_DIR}/conda_env.sh \n\ python ./system/config/firstrun.py $@' > ./start_firstrun.sh RUN chmod +x start_firstrun.sh RUN ./start_firstrun.sh --tts_model $TTS_MODEL -RUN mkdir -p ${ALLTALK_DIR}/outputs -RUN mkdir -p /root/.triton/autotune +RUN mkdir -p ${ALLTALK_DIR}/outputs ${ALLTALK_DIR}/.triton/autotune ############################################################################## # Enable deepspeed for all models: @@ -198,4 +192,4 @@ RUN find . -name model_settings.json -exec sed -i -e 's/"deepspeed_enabled": fal ############################################################################## # Start alltalk: ############################################################################## -ENTRYPOINT ["sh", "-c", "./start_alltalk.sh"] +ENTRYPOINT ["sh", "-c", "./start_alltalk.sh"] \ No newline at end of file diff --git a/docker-build.sh b/docker-build.sh index 2125374..46cc756 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -102,7 +102,6 @@ docker buildx \ build \ --progress=plain \ --build-arg TTS_MODEL=$TTS_MODEL \ - --build-arg ALLTALK_DIR=$ALLTALK_DIR \ --build-arg DEEPSPEED_VERSION=$DEEPSPEED_VERSION \ --build-arg DOCKER_TAG=$DOCKER_TAG \ --build-arg DOCKER_REPOSITORY=$DOCKER_REPOSITORY \ diff --git a/docker-start.sh b/docker-start.sh index 1614c24..1eefaa6 100755 --- a/docker-start.sh +++ b/docker-start.sh @@ -8,6 +8,7 @@ ALLTALK_ENABLE_MULTI_ENGINE_MANAGER=false MULTI_ENGINE_MANAGER_CONFIG= DOCKER_TAG=latest-xtts DOCKER_REPOSITORY=erew123 +ALLTALK_DIR=/home/alltalk declare -a ADDITIONAL_ARGS=() # Parse arguments diff --git a/docker/base/Dockerfile b/docker/base/Dockerfile index 8df6590..46af3f3 100644 --- a/docker/base/Dockerfile +++ b/docker/base/Dockerfile @@ -14,7 +14,7 @@ ENV CUDA_DOCKER_ARCH=all ENV NVIDIA_VISIBLE_DEVICES=all ENV CONDA_AUTO_UPDATE_CONDA="false" -ENV ALLTALK_DIR=/opt/alltalk +ENV ALLTALK_DIR=/home/alltalk ############################################################################## # Installation/Basic Utilities @@ -32,6 +32,10 @@ RUN < ${ALLTALK_DIR}/conda_env.sh +#!/usr/bin/env bash +source ~/.bashrc +__conda_setup="\$('/opt/conda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" +eval "\$__conda_setup" +unset __conda_setup + +conda activate alltalk +EOF EOR \ No newline at end of file diff --git a/docker/deepspeed/Dockerfile b/docker/deepspeed/Dockerfile index eb1fb75..2f2e97b 100644 --- a/docker/deepspeed/Dockerfile +++ b/docker/deepspeed/Dockerfile @@ -5,11 +5,7 @@ FROM ${DOCKER_REPOSITORY}alltalk_tts_environment:${DOCKER_TAG} ARG DEEPSPEED_VERSION=0.16.3 ENV DEEPSPEED_VERSION=$DEEPSPEED_VERSION -############################################################################## -# Directories: -############################################################################## -ENV STAGE_DIR=/tmp -RUN mkdir -p ${STAGE_DIR} +WORKDIR ${ALLTALK_DIR} ############################################################################## # Install python dependencies @@ -27,8 +23,8 @@ EOR # Clone DeepSpeed sources ############################################################################## RUN < build_deepspeed.sh + cat << EOF > ${ALLTALK_DIR}/build_deepspeed.sh #!/usr/bin/env bash -source ~/.bashrc -mkdir -p /deepspeed +source ${ALLTALK_DIR}/conda_env.sh +mkdir -p ${ALLTALK_DIR}/build -conda activate alltalk -cd ${STAGE_DIR}/DeepSpeed +cd ${ALLTALK_DIR}/DeepSpeed DS_BUILD_OPS=1 python setup.py build_ext -j8 bdist_wheel -mv ${STAGE_DIR}/DeepSpeed/dist/*.whl /deepspeed/ +mv ${ALLTALK_DIR}/DeepSpeed/dist/*.whl ${ALLTALK_DIR}/build EOF EOR -RUN chmod +x /build_deepspeed.sh +RUN chmod +x ${ALLTALK_DIR}/build_deepspeed.sh ############################################################################## # Build DeepSpeed: ############################################################################## -ENTRYPOINT ["/build_deepspeed.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "-c", "-l", "$ALLTALK_DIR/build_deepspeed.sh"] \ No newline at end of file diff --git a/docker/deepspeed/build-deepspeed.sh b/docker/deepspeed/build-deepspeed.sh index 3c60617..733f097 100755 --- a/docker/deepspeed/build-deepspeed.sh +++ b/docker/deepspeed/build-deepspeed.sh @@ -7,6 +7,7 @@ cd $SCRIPT_DIR DOCKER_TAG=latest DOCKER_REPOSITORY=erew123 +ALLTALK_DIR=/home/alltalk # Parse arguments while [ "$#" -gt 0 ]; do @@ -67,6 +68,5 @@ docker run \ -it \ --gpus=all \ --name deepspeed \ - --build-arg DOCKER_TAG=$DOCKER_TAG \ - -v $SCRIPT_DIR/build:/deepspeed \ + -v $SCRIPT_DIR/build:${ALLTALK_DIR}/build \ ${DOCKER_REPOSITORY}alltalk_deepspeed:${DOCKER_TAG} \ No newline at end of file diff --git a/docker/variables.sh b/docker/variables.sh index 628a98a..61a6c36 100644 --- a/docker/variables.sh +++ b/docker/variables.sh @@ -4,7 +4,6 @@ declare -A ALLTALK_VARS ALLTALK_VARS["CUDA_VERSION"]=12.6.0 ALLTALK_VARS["PYTHON_VERSION"]=3.11.11 ALLTALK_VARS["DEEPSPEED_VERSION"]=0.16.2 -ALLTALK_VARS["ALLTALK_DIR"]=/opt/alltalk # Export single variables (needed by Docker locally) for key in "${!ALLTALK_VARS[@]}"