diff --git a/config.py b/config.py index d9efc1c..5fe15e5 100644 --- a/config.py +++ b/config.py @@ -47,6 +47,8 @@ ), # Path to the server log file. "log_file_max_size_mb": 10, # Maximum size of a single log file before rotation. "log_file_backup_count": 5, # Number of backup log files to keep. + "ssl_certfile": None, + "ssl_keyfile": None }, "model": { # Added section for model source configuration "repo_id": "chatterbox-turbo", # UPDATED: Default to Turbo model @@ -213,7 +215,7 @@ def _resolve_paths_and_device(self, config_data: Dict[str, Any]) -> Dict[str, An # Convert relevant string paths to Path objects. path_key_map_for_conversion = { - "server": ["log_file_path"], + "server": ["log_file_path", "ssl_certfile", "ssl_keyfile"], "tts_engine": ["predefined_voices_path", "reference_audio_path"], "paths": ["model_cache", "output"], } @@ -276,7 +278,7 @@ def _prepare_config_for_saving(self, config_dict: Dict[str, Any]) -> Dict[str, A """ config_copy_for_saving = deepcopy(config_dict) path_key_map_for_conversion = { - "server": ["log_file_path"], + "server": ["log_file_path", "ssl_certfile", "ssl_keyfile"], "tts_engine": ["predefined_voices_path", "reference_audio_path"], "paths": ["model_cache", "output"], } @@ -723,6 +725,13 @@ def get_port() -> int: ) +def get_ssl() -> (Path, Path): + return ( + config_manager.get_path("server.ssl_certfile", _get_default_from_structure("server.ssl_certfile")), + config_manager.get_path("server.ssl_keyfile", _get_default_from_structure("server.ssl_keyfile")), + ) + + # Audio Output Settings Accessors def get_audio_output_format() -> str: """Returns the default audio output format (e.g., 'wav').""" diff --git a/server.py b/server.py index 761b512..a8d33c0 100644 --- a/server.py +++ b/server.py @@ -43,6 +43,7 @@ config_manager, get_host, get_port, + get_ssl, get_log_file_path, get_output_path, get_reference_audio_path, @@ -1335,6 +1336,7 @@ async def openai_speech_endpoint(request: OpenAISpeechRequest): if __name__ == "__main__": server_host = get_host() server_port = get_port() + ssl_certfile, ssl_keyfile = get_ssl() logger.info(f"Starting TTS Server directly on http://{server_host}:{server_port}") logger.info( @@ -1351,4 +1353,6 @@ async def openai_speech_endpoint(request: OpenAISpeechRequest): log_level="info", workers=1, reload=False, + ssl_certfile=ssl_certfile, + ssl_keyfile=ssl_keyfile, )