Files
audiobook-maker-pro-v4/app.py
2026-02-20 15:20:03 +06:00

54 lines
1.5 KiB
Python

# app.py - Main Flask Application Entry Point
import os
from flask import Flask
from config import SECRET_KEY, STATIC_FOLDER, STATIC_URL_PATH, TTS_API_URL, TTS_API_KEY, DATABASE
from db import init_app as init_db
from routes import register_blueprints
def create_app():
"""Application factory function."""
app = Flask(__name__, static_folder=STATIC_FOLDER, static_url_path=STATIC_URL_PATH)
# Configure app
app.secret_key = SECRET_KEY
app.config['SESSION_COOKIE_HTTPONLY'] = True
app.config['SESSION_COOKIE_SAMESITE'] = 'Lax'
app.config['PERMANENT_SESSION_LIFETIME'] = 86400 # 24 hours
# Behind Coolify/Traefik: trust proxy headers
from werkzeug.middleware.proxy_fix import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1)
# Initialize database
init_db(app)
# Register all blueprints
register_blueprints(app)
return app
# Create app instance
app = create_app()
if __name__ == '__main__':
print("=" * 60)
print("🎧 Audiobook Maker Pro v4 Starting...")
print("=" * 60)
print(f"📍 TTS API Server: {TTS_API_URL}")
print(f"📍 API Key: {'✅ Configured' if TTS_API_KEY else '❌ NOT CONFIGURED!'}")
print(f"📍 Database: {DATABASE}")
print(f"📍 Static Files: {STATIC_FOLDER}")
print(f"📍 Default Admin: admin / admin123")
print("-" * 60)
if not TTS_API_KEY:
print("⚠️ WARNING: TTS_API_KEY not set in .env file!")
print("=" * 60)
app.run(debug=True, port=5009)