start.sh 1008 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env bash
  2. # Get the INCLUDE_OLLAMA_ENV environment variable which is set in the Dockerfile
  3. # This includes the ollama in the image
  4. INCLUDE_OLLAMA=${INCLUDE_OLLAMA_ENV:-false}
  5. SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
  6. cd "$SCRIPT_DIR" || exit
  7. KEY_FILE=.webui_secret_key
  8. PORT="${PORT:-8080}"
  9. if test "$WEBUI_SECRET_KEY $WEBUI_JWT_SECRET_KEY" = " "; then
  10. echo "No WEBUI_SECRET_KEY provided"
  11. if ! [ -e "$KEY_FILE" ]; then
  12. echo "Generating WEBUI_SECRET_KEY"
  13. # Generate a random value to use as a WEBUI_SECRET_KEY in case the user didn't provide one.
  14. echo $(head -c 12 /dev/random | base64) > "$KEY_FILE"
  15. fi
  16. echo "Loading WEBUI_SECRET_KEY from $KEY_FILE"
  17. WEBUI_SECRET_KEY=$(cat "$KEY_FILE")
  18. fi
  19. if [ "$INCLUDE_OLLAMA" = "true" ]; then
  20. echo "INCLUDE_OLLAMA is set to true, starting ollama serve."
  21. ollama serve &
  22. fi
  23. WEBUI_SECRET_KEY="$WEBUI_SECRET_KEY" exec uvicorn main:app --host 0.0.0.0 --port "$PORT" --forwarded-allow-ips '*'