diff --git a/console.plist.j2 b/console.plist.j2
index 0c04ed9..64b54ba 100644
--- a/console.plist.j2
+++ b/console.plist.j2
@@ -10,7 +10,9 @@
-c
export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
- exec /usr/bin/env npm run preview -- --host 127.0.0.1 --port {{ xworkspace_console_port }}
+ # 预编译 runtime 只发 dashboard/dist(无 package.json),且 dashboard 是
+ # 无客户端路由的单页应用,故用 python3 静态伺服 dist 即可(macOS 无 caddy)。
+ exec /usr/bin/env python3 -m http.server {{ xworkspace_console_port }} --bind 127.0.0.1 --directory "{{ xworkspace_console_dashboard_dir }}/dist"
RunAtLoad
@@ -18,7 +20,7 @@
KeepAlive
WorkingDirectory
- {{ xworkspace_console_dashboard_dir }}
+ {{ xworkspace_console_dashboard_dir }}/dist
StandardOutPath
{{ ansible_env.HOME }}/.local/state/xworkspace/console.log
StandardErrorPath
diff --git a/setup-xworkspace-console.yaml b/setup-xworkspace-console.yaml
index be62f6e..d0ed0fe 100644
--- a/setup-xworkspace-console.yaml
+++ b/setup-xworkspace-console.yaml
@@ -158,7 +158,8 @@
update_cache: true
name: >-
{{
- ['caddy', 'xfce4', 'python3', 'golang-go']
+ ['xfce4', 'python3', 'golang-go']
+ + (['caddy'] if caddy_enabled | default(true) | bool else [])
+ ([xworkspace_console_browser_package] if xworkspace_console_browser_package | length > 0 else [])
}}
state: present
@@ -623,8 +624,11 @@
[Service]
Type=simple
- WorkingDirectory={{ xworkspace_console_dashboard_dir }}
- ExecStart=/usr/bin/npm run preview -- --host 127.0.0.1 --port {{ xworkspace_console_port }}
+ WorkingDirectory={{ xworkspace_console_dashboard_dir }}/dist
+ # console 只是 17000 上的静态后端(dashboard 为无路由单页 dist),由系统
+ # caddy 经 /etc/caddy/conf.d/ 反代对外。用 python3 静态伺服即可,跨 Linux/
+ # macOS 统一、不再起第二个 caddy(避免与系统 caddy 抢 :80)。
+ ExecStart=/usr/bin/env python3 -m http.server {{ xworkspace_console_port }} --bind 127.0.0.1 --directory {{ xworkspace_console_dashboard_dir }}/dist
Restart=always
RestartSec=2