#!/bin/bash # Deploy the LG TV bridge on steel141. Idempotent — safe to re-run. # Run as a user with sudo. Reads MQTT password from $HOMELAB_PASSWORD. set -euo pipefail cd "$(dirname "$0")" echo "Installing control script + bridge to /usr/local/bin ..." sudo install -m 0755 lgtv.sh /usr/local/bin/lgtv.sh sudo install -m 0755 lgtv_mqtt.py /usr/local/bin/lgtv_mqtt.py echo "Writing /etc/lgtv/lgtv.env (root:root 0600) ..." sudo mkdir -p /etc/lgtv if [[ -z "${HOMELAB_PASSWORD:-}" ]]; then echo " WARNING: \$HOMELAB_PASSWORD not set — leaving existing env untouched." >&2 [[ -f /etc/lgtv/lgtv.env ]] || { echo " ERROR: no /etc/lgtv/lgtv.env exists; set HOMELAB_PASSWORD and re-run." >&2; exit 1; } else printf 'MQTT_PASSWORD=%s\n' "$HOMELAB_PASSWORD" | sudo tee /etc/lgtv/lgtv.env >/dev/null sudo chmod 600 /etc/lgtv/lgtv.env fi echo "Installing systemd unit ..." sudo install -m 0644 lgtv-mqtt.service /etc/systemd/system/lgtv-mqtt.service sudo systemctl daemon-reload sudo systemctl enable --now lgtv-mqtt.service echo "Done. Status:" systemctl --no-pager --full status lgtv-mqtt.service | head -12