- рефакторинг приложения

- снова изменения в Readme
- работа над валидацией параметров
- большая гибкость и конфигурироемость
This commit is contained in:
2025-09-06 21:05:56 +03:00
parent 3f97810f89
commit fcae47cad1
8 changed files with 475 additions and 334 deletions

59
docker-entrypoint.sh Normal file
View File

@@ -0,0 +1,59 @@
#!/bin/bash
# Docker entrypoint script for ASR service
# Generates API keys if needed and starts the server
set -e
# 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
}
# Set default values for environment variables
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/models"}
export KEYS_FILE=${KEYS_FILE:-"/app/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 ""
echo "Creating empty keys file - you must add keys manually before starting the server."
touch "${KEYS_FILE}"
fi
fi
echo "Starting Simple ASR Server in Docker..."
echo "Host: ${HOST}"
echo "Port: ${PORT}"
echo "Default Model: ${DEFAULT_MODEL}"
echo "Model Download Root: ${MODEL_DOWNLOAD_ROOT}"
echo "Keys File: ${KEYS_FILE}"
echo "Log Level: ${LOG_LEVEL}"
# Start the server
exec python app.py