import os import socketio from dotenv import load_dotenv from openhands.core.config import load_app_config from openhands.server.config.openhands_config import load_openhands_config from openhands.server.session import SessionManager from openhands.storage import get_file_store load_dotenv() config = load_app_config() openhands_config = load_openhands_config() file_store = get_file_store(config.file_store, config.file_store_path) client_manager = None redis_host = os.environ.get('REDIS_HOST') if redis_host: client_manager = socketio.AsyncRedisManager( f'redis://{redis_host}', redis_options={'password': os.environ.get('REDIS_PASSWORD')}, ) sio = socketio.AsyncServer( async_mode='asgi', cors_allowed_origins='*', client_manager=client_manager ) session_manager = SessionManager(sio, config, file_store)