ai-voicebot/server/entrypoint.sh
2025-08-23 20:33:34 -07:00

33 lines
976 B
Bash

#!/bin/bash
set -e
# Create the virtual environment if it doesn't exist
if [ ! -d "/server/.venv/bin" ]; then
echo "Creating virtual environment..."
uv init \
--name "ai-voicebot" \
--description "AI Voicebot Server Environment" \
.
uv add -r ./requirements.txt
fi
export VIRTUAL_ENV=/server/.venv
export PATH="$VIRTUAL_ENV/bin:$PATH"
if [ -f "${SSL_CERTFILE}" ] && [ -f "${SSL_KEYFILE}" ]; then
echo "Starting server with SSL..."
ssl_certfile_arg="--ssl-certfile ${SSL_CERTFILE}"
ssl_keyfile_arg="--ssl-keyfile ${SSL_KEYFILE}"
else
echo "SSL files not found, starting without SSL."
ssl_certfile_arg=""
ssl_keyfile_arg=""
fi
# Launch server in production or development mode
if [ "$PRODUCTION" = "true" ]; then
exec uvicorn main:app --host 0.0.0.0 --port 8000 ${ssl_certfile_arg} ${ssl_keyfile_arg}
else
exec uvicorn main:app --host 0.0.0.0 --port 8000 ${ssl_certfile_arg} ${ssl_keyfile_arg} --reload
fi