From 4f95f0249d1edb615f5e67cfff0f095a33560533 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Thu, 5 Mar 2026 23:51:19 +0800 Subject: [PATCH] feat: add Mac host to dashboard terminal Add a dedicated Mac terminal target with separate SSH host/user/key settings and mount a dedicated Mac key file for dashboard containers. Co-Authored-By: Claude Opus 4.6 (1M context) --- dashboard/backend/config.py | 4 ++++ dashboard/backend/routers/terminal.py | 1 + dashboard/docker-compose.dev.yml | 5 +++++ dashboard/docker-compose.yml | 5 +++++ dashboard/frontend/src/routes/Terminal.svelte | 1 + 5 files changed, 16 insertions(+) diff --git a/dashboard/backend/config.py b/dashboard/backend/config.py index 02b6f1c..28a2e61 100644 --- a/dashboard/backend/config.py +++ b/dashboard/backend/config.py @@ -30,6 +30,10 @@ VPS_SSH_KEY_PATH = os.environ.get("VPS_SSH_KEY_PATH", "/app/ssh/vps_id_ed25519") CADDY_VPS_SSH_HOST = os.environ.get("CADDY_VPS_SSH_HOST", "161.33.182.109") CADDY_VPS_SSH_USER = os.environ.get("CADDY_VPS_SSH_USER", "ubuntu") +MAC_SSH_HOST = os.environ.get("MAC_SSH_HOST", "192.168.31.22") +MAC_SSH_USER = os.environ.get("MAC_SSH_USER", "jimmyg") +MAC_SSH_KEY_PATH = os.environ.get("MAC_SSH_KEY_PATH", "/app/ssh/mac_id_ed25519") + # Telegram notifications TELEGRAM_BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN", "") TELEGRAM_CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID", "") diff --git a/dashboard/backend/routers/terminal.py b/dashboard/backend/routers/terminal.py index c87558a..dd4fc8e 100644 --- a/dashboard/backend/routers/terminal.py +++ b/dashboard/backend/routers/terminal.py @@ -16,6 +16,7 @@ HOSTS = { "nas": {"host": config.SSH_HOST, "user": config.SSH_USER, "key": config.SSH_KEY_PATH}, "vps": {"host": config.VPS_SSH_HOST, "user": config.VPS_SSH_USER, "key": config.VPS_SSH_KEY_PATH}, "caddy-vps": {"host": config.CADDY_VPS_SSH_HOST, "user": config.CADDY_VPS_SSH_USER, "key": config.VPS_SSH_KEY_PATH}, + "mac": {"host": config.MAC_SSH_HOST, "user": config.MAC_SSH_USER, "key": config.MAC_SSH_KEY_PATH}, "claude-dev": {"host": config.SSH_HOST, "user": config.SSH_USER, "key": config.SSH_KEY_PATH, "command": "/volume1/@appstore/ContainerManager/usr/bin/docker exec -it claude-dev bash"}, } diff --git a/dashboard/docker-compose.dev.yml b/dashboard/docker-compose.dev.yml index 025d1e3..e85e565 100644 --- a/dashboard/docker-compose.dev.yml +++ b/dashboard/docker-compose.dev.yml @@ -14,6 +14,10 @@ services: - SSH_USER=zjgump - VPS_SSH_HOST=158.101.140.85 - VPS_SSH_USER=jimmyg + - CADDY_VPS_SSH_HOST=161.33.182.109 + - CADDY_VPS_SSH_USER=ubuntu + - MAC_SSH_HOST=192.168.31.22 + - MAC_SSH_USER=jimmyg - SECRET_KEY=${SECRET_KEY} - ADMIN_USER=jimmy - ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH} @@ -27,6 +31,7 @@ services: - /volume1:/volume1 - /volume1/docker/nas-dashboard/ssh/dashboard_terminal:/app/ssh/id_ed25519:ro - /volume1/docker/nas-dashboard/ssh/vps_terminal:/app/ssh/vps_id_ed25519:ro + - /volume1/docker/nas-dashboard/ssh/mac_terminal:/app/ssh/mac_id_ed25519:ro - /volume1/docker/nas-dashboard/ssh/known_hosts:/app/ssh/known_hosts:ro - /volume1/docker/chat-summarizer/data:/app/data/chat-summarizer:ro healthcheck: diff --git a/dashboard/docker-compose.yml b/dashboard/docker-compose.yml index 7e87128..636b80a 100644 --- a/dashboard/docker-compose.yml +++ b/dashboard/docker-compose.yml @@ -36,6 +36,10 @@ services: - SSH_USER=zjgump - VPS_SSH_HOST=158.101.140.85 - VPS_SSH_USER=jimmyg + - CADDY_VPS_SSH_HOST=161.33.182.109 + - CADDY_VPS_SSH_USER=ubuntu + - MAC_SSH_HOST=192.168.31.22 + - MAC_SSH_USER=jimmyg - SECRET_KEY=${SECRET_KEY} - ADMIN_USER=jimmy - ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH} @@ -49,6 +53,7 @@ services: - /volume1:/volume1 - /volume1/docker/nas-dashboard/ssh/dashboard_terminal:/app/ssh/id_ed25519:ro - /volume1/docker/nas-dashboard/ssh/vps_terminal:/app/ssh/vps_id_ed25519:ro + - /volume1/docker/nas-dashboard/ssh/mac_terminal:/app/ssh/mac_id_ed25519:ro - /volume1/docker/nas-dashboard/ssh/known_hosts:/app/ssh/known_hosts:ro - /volume1/docker/chat-summarizer/data:/app/data/chat-summarizer:ro - /volume1/docker/info-engine/data:/app/data/info-engine:ro diff --git a/dashboard/frontend/src/routes/Terminal.svelte b/dashboard/frontend/src/routes/Terminal.svelte index de6ed55..eb94b7f 100644 --- a/dashboard/frontend/src/routes/Terminal.svelte +++ b/dashboard/frontend/src/routes/Terminal.svelte @@ -6,6 +6,7 @@ { id: "nas", label: "NAS" }, { id: "vps", label: "VPS" }, { id: "caddy-vps", label: "Caddy VPS" }, + { id: "mac", label: "Mac" }, { id: "claude-dev", label: "Claude Dev" }, ];