feat: ws-scrcpy/NeKo/Chromium hub links, light theme, ECharts, H5 nav, optional Neko Docker

Made-with: Cursor
This commit is contained in:
eric
2026-03-28 12:19:08 -05:00
parent 9b6570d06e
commit 5a75f18887
12 changed files with 531 additions and 36 deletions

View File

@@ -27,6 +27,7 @@ install_live_console_service
configure_sudoers
configure_mdns
install_browser_stack
install_neko_browser
prepare_srs
run_hardware_probe
print_summary "business"

View File

@@ -26,6 +26,7 @@ configure_mdns
configure_wifi_profile
install_shellcrash
install_browser_stack
install_neko_browser
install_webtty
install_cockpit
install_netdata

View File

@@ -11,6 +11,7 @@ HW_ENV="$CONFIG_DIR/hardware.env"
SRS_COMPOSE="$ROOT_DIR/services/srs/docker-compose.yml"
HOMEPAGE_COMPOSE="$ROOT_DIR/services/homepage/docker-compose.yml"
FILEBROWSER_COMPOSE="$ROOT_DIR/services/filebrowser/docker-compose.yml"
NEKO_COMPOSE="$ROOT_DIR/services/neko/docker-compose.yml"
BROWSER_LAUNCHER="$ROOT_DIR/scripts/linux/launch_browser.sh"
[ -f "$STACK_ENV" ] && set -a && . "$STACK_ENV" && set +a
@@ -39,6 +40,7 @@ ANDROID_UPLINK_IF="${ANDROID_UPLINK_IF:-eth0}"
ANDROID_DOWNLINK_IF="${ANDROID_DOWNLINK_IF:-}"
ANDROID_GATEWAY_CIDR="${ANDROID_GATEWAY_CIDR:-192.168.51.1/24}"
ANDROID_PANEL_PORT="${ANDROID_PANEL_PORT:-5000}"
NEKO_HTTP_PORT="${NEKO_HTTP_PORT:-9200}"
CONSOLE_BASE_URL="http://${HOSTNAME_ALIAS}.local:${PORT}"
kv() {
@@ -416,7 +418,7 @@ service_android_panel_status() {
kv host "${HOSTNAME_ALIAS}.local"
kv port "$ANDROID_PANEL_PORT"
kv url "${CONSOLE_BASE_URL}/android"
kv detail "android-center=${CONSOLE_BASE_URL}/android;raw-web-scrcpy=http://${HOSTNAME_ALIAS}.local:${ANDROID_PANEL_PORT}"
kv detail "android-center=${CONSOLE_BASE_URL}/android;ws-scrcpy=http://${HOSTNAME_ALIAS}.local:${ANDROID_PANEL_PORT};git=ANDROID_PANEL_GIT_URL"
}
service_android_panel_start() {
@@ -459,6 +461,66 @@ service_chromium_stop() {
kv message "Chromium stopped"
}
service_neko_status() {
if [ ! -f "$NEKO_COMPOSE" ]; then
kv available 0
kv running 0
kv status unavailable
kv detail "services/neko/docker-compose.yml missing"
return 0
fi
if ! have docker; then
kv available 0
kv running 0
kv status unavailable
kv detail "docker not installed"
return 0
fi
kv available 1
local state
state="$(docker_container_status live-neko-chromium || true)"
kv running "$(echo "$state" | grep -qi running && echo 1 || echo 0)"
kv status "$(echo "$state" | grep -qi running && echo online || echo stopped)"
kv host "${HOSTNAME_ALIAS}.local"
kv port "$NEKO_HTTP_PORT"
kv url "http://${HOSTNAME_ALIAS}.local:${NEKO_HTTP_PORT}"
kv detail "m1k1o/neko Chromium in Docker; ENABLE_NEKO=1 + install_neko_browser or Modules start"
}
service_neko_start() {
if [ ! -f "$NEKO_COMPOSE" ]; then
kv message "Neko compose missing"
return 0
fi
cmd="$(compose_bin)" || {
kv message "docker compose unavailable"
return 0
}
if [ "$cmd" = "docker compose" ]; then
docker compose -f "$NEKO_COMPOSE" up -d
else
docker-compose -f "$NEKO_COMPOSE" up -d
fi
kv message "Neko stack started"
}
service_neko_stop() {
if [ ! -f "$NEKO_COMPOSE" ]; then
kv message "Neko compose missing"
return 0
fi
cmd="$(compose_bin)" || {
kv message "docker compose unavailable"
return 0
}
if [ "$cmd" = "docker compose" ]; then
docker compose -f "$NEKO_COMPOSE" down
else
docker-compose -f "$NEKO_COMPOSE" down
fi
kv message "Neko stack stopped"
}
service_android_gateway_status() {
if ! have nmcli || [ -z "$ANDROID_DOWNLINK_IF" ]; then
kv available 0