entrypoint.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. set -Eeuo pipefail
  3. declare -A MOUNTS
  4. # cache
  5. MOUNTS["/root/.cache"]=/data/.cache/
  6. # ui specific
  7. MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/
  8. MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
  9. MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/.cache/
  10. MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
  11. MOUNTS["${ROOT}/models/bert-base-uncased"]=/data/.cache/huggingface/transformers/
  12. MOUNTS["${ROOT}/models/openai/clip-vit-large-patch14"]=/data/.cache/huggingface/transformers/
  13. MOUNTS["${ROOT}/models/CompVis/stable-diffusion-safety-checker"]=/data/.cache/huggingface/transformers/
  14. MOUNTS["${ROOT}/embeddings"]=/data/embeddings/
  15. # hacks
  16. MOUNTS["${ROOT}/models/clipseg"]=/data/.cache/invoke/clipseg/
  17. for to_path in "${!MOUNTS[@]}"; do
  18. set -Eeuo pipefail
  19. from_path="${MOUNTS[${to_path}]}"
  20. rm -rf "${to_path}"
  21. mkdir -p "$(dirname "${to_path}")"
  22. # ends with slash, make it!
  23. if [[ "$from_path" == */ ]]; then
  24. mkdir -vp "$from_path"
  25. fi
  26. ln -sT "${from_path}" "${to_path}"
  27. echo Mounted $(basename "${from_path}")
  28. done
  29. if "${PRELOAD}" == "true"; then
  30. set -Eeuo pipefail
  31. python3 -u scripts/preload_models.py --no-interactive --root ${ROOT} --config_file /docker/models.yaml
  32. fi
  33. exec "$@"