managarten/scripts/mac-mini/launchd
Till JS f4347032ca chore(mac-mini): remove all AI service infrastructure (moved to Windows GPU)
The Mac Mini hasn't run mana-llm/stt/tts/image-gen for a while — those
services live on the Windows GPU server now. The Mac-targeted
installers, plists, and platform-checking setup scripts have been
sitting in the repo as cargo-cult, suggesting Mac Mini deployment is
still a real option. It isn't.

Removed (Mac-Mini deployment infrastructure):

services/mana-stt/
- com.mana.mana-stt.plist            (LaunchAgent)
- com.mana.vllm-voxtral.plist        (LaunchAgent for the abandoned local Voxtral experiment)
- install-service.sh                 (single-service launchd installer)
- install-services.sh                (mana-stt + vllm-voxtral installer)
- setup.sh                           (Mac arm64 installer)
- scripts/setup-vllm.sh              (vLLM-Voxtral setup)
- scripts/start-vllm-voxtral.sh

services/mana-tts/
- com.mana.mana-tts.plist
- install-service.sh
- setup.sh                           (Mac arm64 installer)

scripts/mac-mini/
- setup-image-gen.sh                 (Mac flux2.c launchd installer)
- setup-stt.sh
- setup-tts.sh
- launchd/com.mana.image-gen.plist
- launchd/com.mana.mana-stt.plist
- launchd/com.mana.mana-tts.plist

setup-tts-bot.sh stays — it's the Matrix TTS bot installer (Synapse
side), not the mana-tts service.

Updated:
- services/mana-stt/CLAUDE.md, README.md — fully rewritten for the
  Windows GPU reality (CUDA WhisperX, Scheduled Task ManaSTT, .env keys
  matching the actual production .env on the box)
- services/mana-tts/CLAUDE.md, README.md — same treatment, documenting
  Kokoro/Piper/F5-TTS on the Windows GPU under Scheduled Task ManaTTS
- scripts/mac-mini/README.md — dropped the STT setup section, replaced
  with a pointer to docs/WINDOWS_GPU_SERVER_SETUP.md and the per-service
  CLAUDE.md files
- docs/MAC_MINI_SERVER.md — expanded the "deactivated launchagents"
  list to mention the now-removed plists, added the full GPU service
  port table with public URLs, added a cleanup snippet for any old plists
  still installed on a Mac Mini somewhere
2026-04-08 13:06:40 +02:00
..
com.mana.backup-databases.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.disk-check.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.docker-startup.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.ensure-containers.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.health-check.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.ssd-check.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.telegram-ollama-bot.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
com.mana.weekly-report.plist chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
README.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00

LaunchD Services for Mac Mini

These plist files configure automatic services on the Mac Mini server.

Installation

# Copy all plists to LaunchAgents
cp *.plist ~/Library/LaunchAgents/

# Load all services
for f in *.plist; do launchctl load ~/Library/LaunchAgents/$f; done

Services

Service Description Interval
docker-startup Starts Docker containers on boot At login
ensure-containers Detects and restarts stuck/crash-looping containers Every 5 min
health-check Checks all services and sends alerts Every 5 min
backup-databases PostgreSQL backup with daily/weekly rotation Daily 3 AM
disk-check Monitors disk space, alerts on thresholds Hourly
weekly-report Generates system health summary Sunday 10 AM
ssd-check Monitors SSD health Periodic
mana-stt Speech-to-text service (Whisper) At login
mana-tts Text-to-speech service (Kokoro) At login
image-gen Image generation service At login
telegram-ollama-bot Telegram bot with Ollama At login

Management Commands

# Check status
launchctl list | grep mana

# View logs
tail -f /tmp/mana-*.log

# Reload a service
launchctl unload ~/Library/LaunchAgents/com.mana.health-check.plist
launchctl load ~/Library/LaunchAgents/com.mana.health-check.plist

# Stop a service
launchctl unload ~/Library/LaunchAgents/com.mana.<service>.plist

Troubleshooting

Exit codes in launchctl list:

  • 0 = Running successfully
  • 1 = Last run had errors (check logs)
  • - = Not running / waiting for next interval
  • 78 = Configuration error

Check error logs:

cat /tmp/mana-<service>.error.log