- рефакторинг приложения
- снова изменения в Readme - работа над валидацией параметров - большая гибкость и конфигурироемость
This commit is contained in:
@@ -9,6 +9,15 @@ set -e
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
APP_DIR="${SCRIPT_DIR}"
|
||||
|
||||
# Function to generate a secure API key
|
||||
generate_api_key() {
|
||||
if command -v openssl >/dev/null 2>&1; then
|
||||
openssl rand -hex 32
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
# Load environment variables from .env file if it exists
|
||||
if [ -f "${APP_DIR}/.env" ]; then
|
||||
echo "Loading environment variables from ${APP_DIR}/.env"
|
||||
@@ -25,13 +34,35 @@ export HOST=${HOST:-"0.0.0.0"}
|
||||
export PORT=${PORT:-9854}
|
||||
export DEFAULT_MODEL=${DEFAULT_MODEL:-"turbo"}
|
||||
export MODEL_DOWNLOAD_ROOT=${MODEL_DOWNLOAD_ROOT:-"${APP_DIR}/models"}
|
||||
export KEYS_FILE=${KEYS_FILE:-"${APP_DIR}/keys.txt"}
|
||||
export LOG_LEVEL=${LOG_LEVEL:-"INFO"}
|
||||
export KEYS_FILE=${KEYS_FILE:-"${APP_DIR}/data/keys.txt"}
|
||||
export LOG_LEVEL=${LOG_LEVEL:-"info"}
|
||||
|
||||
# Create necessary directories
|
||||
mkdir -p "${MODEL_DOWNLOAD_ROOT}"
|
||||
mkdir -p "$(dirname "${KEYS_FILE}")"
|
||||
|
||||
# Check if keys file exists, create with generated key if not
|
||||
if [ ! -f "${KEYS_FILE}" ]; then
|
||||
echo "Creating default keys file..."
|
||||
|
||||
# Try to generate a secure key with openssl
|
||||
GENERATED_KEY=$(generate_api_key)
|
||||
|
||||
if [ -n "${GENERATED_KEY}" ]; then
|
||||
echo "${GENERATED_KEY}" > "${KEYS_FILE}"
|
||||
echo "Generated secure API key using openssl: ${GENERATED_KEY}"
|
||||
echo "Created keys file at: ${KEYS_FILE}"
|
||||
else
|
||||
echo "WARNING: openssl not found! Cannot generate secure API key."
|
||||
echo "Please manually add API keys to ${KEYS_FILE}"
|
||||
echo "Each key should be 64 hex characters (32 bytes) on a separate line."
|
||||
echo "Example key format: 0000000000000000000000000000000000000000000000000000000000000000"
|
||||
echo ""
|
||||
echo "Creating empty keys file - you must add keys manually before starting the server."
|
||||
touch "${KEYS_FILE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if virtual environment exists, create if not
|
||||
VENV_DIR="${APP_DIR}/venv"
|
||||
if [ ! -d "${VENV_DIR}" ]; then
|
||||
@@ -59,6 +90,5 @@ echo "Model Download Root: ${MODEL_DOWNLOAD_ROOT}"
|
||||
echo "Keys File: ${KEYS_FILE}"
|
||||
echo "Log Level: ${LOG_LEVEL}"
|
||||
|
||||
# Start the application
|
||||
exec python3 app.py
|
||||
|
||||
# Start the server
|
||||
exec python app.py
|
||||
|
||||
Reference in New Issue
Block a user