#!/usr/bin/env bash # One-time install of the yaris-obd phone/home/local-hotspot auto-switch # watcher on the Pi. Run this ON THE PI as the `yaris` user (needs sudo): # cd /home/yaris/app/yaris-obd && bash deploy/install_netwatch.sh # # Prerequisite: the "home-wifi" and "Hotspot" NetworkManager profiles must # already exist (see PLAN.md Phase 6). The optional "phone-hotspot" profile is # created through the Settings page. set -euo pipefail REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" sudo systemctl stop yaris-uplink-wait.service 2>/dev/null || true sudo systemctl stop yaris-netwatch.timer yaris-netwatch.service 2>/dev/null || true sudo rm -f /usr/local/bin/yaris-netwatch.sh sudo install -m 755 "$REPO_DIR/deploy/yaris_uplink.py" /usr/local/bin/yaris-uplink sudo install -m 440 "$REPO_DIR/deploy/yaris-uplink.sudoers" /etc/sudoers.d/yaris-uplink sudo visudo -cf /etc/sudoers.d/yaris-uplink sudo install -m 644 "$REPO_DIR/deploy/yaris-hotspot-dns.conf" \ /etc/NetworkManager/dnsmasq-shared.d/yaris-hotspot-dns.conf sudo install -m 755 "$REPO_DIR/deploy/90-yaris-uplink" \ /etc/NetworkManager/dispatcher.d/90-yaris-uplink sudo nmcli connection modify Hotspot ipv4.method shared ipv4.addresses 10.42.0.1/24 if nmcli connection show phone-hotspot >/dev/null 2>&1; then sudo nmcli connection modify phone-hotspot \ ipv4.dhcp-send-hostname yes ipv4.dhcp-hostname yaris \ 802-11-wireless.mtu 1400 fi sudo cp "$REPO_DIR/deploy/yaris-netwatch.service" /etc/systemd/system/yaris-netwatch.service sudo cp "$REPO_DIR/deploy/yaris-netwatch.timer" /etc/systemd/system/yaris-netwatch.timer sudo cp "$REPO_DIR/deploy/yaris-uplink-wait.service" /etc/systemd/system/yaris-uplink-wait.service sudo systemctl daemon-reload sudo systemctl enable --now yaris-netwatch.timer echo "Done. Check status with: systemctl status yaris-netwatch.timer" echo "Logs: journalctl -t yaris-netwatch -f"