entrypoint.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/bash
  2. set -Eeuo pipefail
  3. # TODO: move all mkdir -p ?
  4. mkdir -p /data/config/auto/scripts/
  5. # mount scripts individually
  6. find "${ROOT}/scripts/" -maxdepth 1 -type l -delete
  7. cp -vrfTs /data/config/auto/scripts/ "${ROOT}/scripts/"
  8. # Set up config file
  9. python /docker/config.py /data/config/auto/config.json
  10. if [ ! -f /data/config/auto/ui-config.json ]; then
  11. echo '{}' >/data/config/auto/ui-config.json
  12. fi
  13. if [ ! -f /data/config/auto/styles.csv ]; then
  14. touch /data/config/auto/styles.csv
  15. fi
  16. declare -A MOUNTS
  17. MOUNTS["/root/.cache"]="/data/.cache"
  18. # main
  19. MOUNTS["${ROOT}/models/Stable-diffusion"]="/data/StableDiffusion"
  20. MOUNTS["${ROOT}/models/VAE"]="/data/VAE"
  21. MOUNTS["${ROOT}/models/Codeformer"]="/data/Codeformer"
  22. MOUNTS["${ROOT}/models/GFPGAN"]="/data/GFPGAN"
  23. MOUNTS["${ROOT}/models/ESRGAN"]="/data/ESRGAN"
  24. MOUNTS["${ROOT}/models/BSRGAN"]="/data/BSRGAN"
  25. MOUNTS["${ROOT}/models/RealESRGAN"]="/data/RealESRGAN"
  26. MOUNTS["${ROOT}/models/SwinIR"]="/data/SwinIR"
  27. MOUNTS["${ROOT}/models/ScuNET"]="/data/ScuNET"
  28. MOUNTS["${ROOT}/models/LDSR"]="/data/LDSR"
  29. MOUNTS["${ROOT}/models/hypernetworks"]="/data/Hypernetworks"
  30. MOUNTS["${ROOT}/models/torch_deepdanbooru"]="/data/Deepdanbooru"
  31. MOUNTS["${ROOT}/models/BLIP"]="/data/BLIP"
  32. MOUNTS["${ROOT}/models/midas"]="/data/MiDaS"
  33. MOUNTS["${ROOT}/models/Lora"]="/data/Lora"
  34. MOUNTS["${ROOT}/models/LyCORIS"]="/data/LyCORIS"
  35. MOUNTS["${ROOT}/models/ControlNet"]="/data/ControlNet"
  36. MOUNTS["${ROOT}/models/openpose"]="/data/openpose"
  37. MOUNTS["${ROOT}/models/ModelScope"]="/data/ModelScope"
  38. MOUNTS["${ROOT}/embeddings"]="/data/embeddings"
  39. MOUNTS["${ROOT}/config.json"]="/data/config/auto/config.json"
  40. MOUNTS["${ROOT}/ui-config.json"]="/data/config/auto/ui-config.json"
  41. MOUNTS["${ROOT}/styles.csv"]="/data/config/auto/styles.csv"
  42. MOUNTS["${ROOT}/extensions"]="/data/config/auto/extensions"
  43. MOUNTS["${ROOT}/config_states"]="/data/config/auto/config_states"
  44. # extra hacks
  45. MOUNTS["${ROOT}/repositories/CodeFormer/weights/facelib"]="/data/.cache"
  46. for to_path in "${!MOUNTS[@]}"; do
  47. set -Eeuo pipefail
  48. from_path="${MOUNTS[${to_path}]}"
  49. rm -rf "${to_path}"
  50. if [ ! -f "$from_path" ]; then
  51. mkdir -vp "$from_path"
  52. fi
  53. mkdir -vp "$(dirname "${to_path}")"
  54. ln -sT "${from_path}" "${to_path}"
  55. echo Mounted $(basename "${from_path}")
  56. done
  57. if [ -f "/data/config/auto/startup.sh" ]; then
  58. pushd ${ROOT}
  59. . /data/config/auto/startup.sh
  60. popd
  61. fi
  62. exec "$@"