Files
WOL-LY/app/wolServer.py

37 lines
1.1 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/cert.crt', 'certs/cert.key')
app.run(host='0.0.0.0', port=51820, ssl_context=context)