diff --git a/kiauh/modules/mainsail/mainsail_utils.py b/kiauh/modules/mainsail/mainsail_utils.py index 196e27a..dafc2f7 100644 --- a/kiauh/modules/mainsail/mainsail_utils.py +++ b/kiauh/modules/mainsail/mainsail_utils.py @@ -51,10 +51,12 @@ def restore_config_json() -> None: def enable_mainsail_remotemode() -> None: + Logger.print_status("Enable Mainsails remote mode ...") with open(MAINSAIL_CONFIG_JSON, "r") as f: config_data = json.load(f) if config_data["instancesDB"] == "browser": + Logger.print_info("Remote mode already configured. Skipped ...") return Logger.print_status("Setting instance storage location to 'browser' ...") @@ -62,6 +64,7 @@ def enable_mainsail_remotemode() -> None: with open(MAINSAIL_CONFIG_JSON, "w") as f: json.dump(config_data, f, indent=4) + Logger.print_ok("Mainsails remote mode enabled!") def symlink_webui_nginx_log(klipper_instances: List[Klipper]) -> None: diff --git a/kiauh/modules/moonraker/moonraker_setup.py b/kiauh/modules/moonraker/moonraker_setup.py index 8208d16..e7a8506 100644 --- a/kiauh/modules/moonraker/moonraker_setup.py +++ b/kiauh/modules/moonraker/moonraker_setup.py @@ -24,6 +24,8 @@ from kiauh.modules.klipper.klipper_dialogs import ( print_update_warn_dialog, ) from kiauh.core.repo_manager.repo_manager import RepoManager +from kiauh.modules.mainsail import MAINSAIL_DIR +from kiauh.modules.mainsail.mainsail_utils import enable_mainsail_remotemode from kiauh.modules.moonraker import ( EXIT_MOONRAKER_SETUP, DEFAULT_MOONRAKER_REPO_URL, @@ -130,6 +132,11 @@ def install_moonraker() -> None: mr_im.reload_daemon() + # if mainsail is installed, and we installed + # multiple moonraker instances, we enable mainsails remote mode + if MAINSAIL_DIR.exists() and len(mr_im.instances) > 1: + enable_mainsail_remotemode() + def setup_moonraker_prerequesites() -> None: cm = ConfigManager(cfg_file=KIAUH_CFG) diff --git a/kiauh/modules/moonraker/moonraker_utils.py b/kiauh/modules/moonraker/moonraker_utils.py index 9045b42..c92721f 100644 --- a/kiauh/modules/moonraker/moonraker_utils.py +++ b/kiauh/modules/moonraker/moonraker_utils.py @@ -14,6 +14,8 @@ from typing import Dict, Literal, List from kiauh.core.config_manager.config_manager import ConfigManager from kiauh.core.instance_manager.instance_manager import InstanceManager +from kiauh.modules.mainsail import MAINSAIL_DIR +from kiauh.modules.mainsail.mainsail_utils import enable_mainsail_remotemode from kiauh.modules.moonraker import ( DEFAULT_MOONRAKER_PORT, MODULE_PATH, @@ -117,3 +119,7 @@ def moonraker_to_multi_conversion(new_name: str) -> None: im.create_instance() im.enable_instance() im.start_instance() + + # if mainsail is installed, we enable mainsails remote mode + if MAINSAIL_DIR.exists() and len(im.instances) > 1: + enable_mainsail_remotemode()