37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from flask import Flask
|
|
from config import Config # Importing the configuration
|
|
from auth import auth # Importing authentication setup
|
|
from routes import setup_routes # Importing route setup
|
|
from logging_config import setup_logging # Importing logging setup
|
|
from redis_config import setup_redis # Import setup_redis
|
|
from limiter_config import setup_limiter # Import limiter
|
|
from ui.ui import setup_ui # Import setup_ui
|
|
import ssl
|
|
|
|
# Initialize Flask app
|
|
app = Flask(__name__)
|
|
app.config.from_object(Config)
|
|
|
|
# Set up logging
|
|
setup_logging(app)
|
|
|
|
# Set up Redis and get the connection
|
|
redis_connection = setup_redis(app)
|
|
if not redis_connection:
|
|
raise RuntimeError("Failed to connect to Redis")
|
|
|
|
# Setup limiter
|
|
limiter = setup_limiter(app)
|
|
|
|
# Setup authentication and routes
|
|
setup_routes(limiter, app, redis_connection)
|
|
|
|
# Setup the UI
|
|
setup_ui(limiter, app)
|
|
|
|
if __name__ == '__main__':
|
|
# SSL context setup
|
|
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
|
|
context.load_cert_chain('../certs/mycert.crt', '../certs/mycert.key')
|
|
app.run(host='0.0.0.0', port=51820, ssl_context=context)
|