managarten/scripts/mac-mini/launchd
Till JS b1b9bbc269
Some checks are pending
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
Docker Validate / Validate Dockerfiles (push) Waiting to run
Docker Validate / Build calendar-web (push) Blocked by required conditions
Docker Validate / Build quotes-web (push) Blocked by required conditions
Docker Validate / Build todo-backend (push) Blocked by required conditions
Docker Validate / Build todo-web (push) Blocked by required conditions
Docker Validate / Build mana-auth (push) Blocked by required conditions
Docker Validate / Build mana-sync (push) Blocked by required conditions
Docker Validate / Build mana-media (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run
chore: rename repo mana-monorepo → managarten
Phase-3-Rename des ehemaligen Multi-App-Monorepos zum eigenständigen
Produkt-Repo. Verein heißt mana e.V., Plattform-Domain bleibt mana.how,
apps/mana/ bleibt unverändert — nur der Repo-Container kriegt den
neuen Namen "managarten" (Garten der mana-Apps).

Geändert:
- package.json#name + #description
- README.md (Titel + erster Absatz)
- TROUBLESHOOTING.md
- alle Mac-Mini-Skripte (Pfade ~/projects/mana-monorepo → ~/projects/managarten)
- COMPOSE_PROJECT_NAME-default in scripts/mac-mini/status.sh
- .github/workflows/cd-macmini.yml + mirror-to-forgejo.yml
- apps/docs (astro.config.mjs + content)
- .claude/settings.local.json (Bash-Permission-Pfade)
- alle docs/*.md Pfad-Referenzen
- launchd plists, .env.macmini.example, infrastructure/

Forgejo-Repo + GitHub-Repo bereits via API umbenannt. Lokales
Verzeichnis-Rename + Mac-Mini-Cutover folgen separat.
2026-05-09 01:16:02 +02:00
..
com.mana.backup-databases.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +02:00
com.mana.disk-check.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +02:00
com.mana.docker-startup.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +02:00
com.mana.ensure-containers.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +02:00
com.mana.health-check.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +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: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +02:00
com.mana.weekly-report.plist chore: rename repo mana-monorepo → managarten 2026-05-09 01:16:02 +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