← back to Mp3 Agentabrams

launchd/com.steve.mp3-agentabrams-tailscale-bridge.plist

53 lines

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
  com.steve.mp3-agentabrams-tailscale-bridge

  Mirrors the same pattern as com.steve.ollama-tailscale-bridge: bind socat on
  the Tailscale IP and forward to the loopback server. Lets devices on the
  tailnet (e.g. Steve's iPhone in Tucson) reach the mp3 catalog without
  exposing it to the home LAN or the public internet.

  OPT-IN:
    cp launchd/com.steve.mp3-agentabrams-tailscale-bridge.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/com.steve.mp3-agentabrams-tailscale-bridge.plist

  To disable:
    launchctl unload -w ~/Library/LaunchAgents/com.steve.mp3-agentabrams-tailscale-bridge.plist
    rm ~/Library/LaunchAgents/com.steve.mp3-agentabrams-tailscale-bridge.plist

  CHECK if Mac2's Tailscale IP ever changes:
    tailscale ip -4
  If the IP differs from 100.65.187.120, update bind= below.
-->
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.steve.mp3-agentabrams-tailscale-bridge</string>

  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/bin/socat</string>
    <string>TCP-LISTEN:9696,bind=100.65.187.120,fork,reuseaddr</string>
    <string>TCP:127.0.0.1:9696</string>
  </array>

  <key>RunAtLoad</key>
  <true/>

  <key>KeepAlive</key>
  <true/>

  <key>StandardOutPath</key>
  <string>/Users/macstudio3/Projects/mp3-agentabrams/logs/socat.stdout.log</string>
  <key>StandardErrorPath</key>
  <string>/Users/macstudio3/Projects/mp3-agentabrams/logs/socat.stderr.log</string>

  <key>EnvironmentVariables</key>
  <dict>
    <key>PATH</key>
    <string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
  </dict>
</dict>
</plist>