Files
odysseus/com.odysseus.ui.plist
T
yunggilja 3d4b6b2c7b Add launchd LaunchAgent for macOS (systemd equivalent)
com.odysseus.ui.plist + install-service-macos.sh run Odysseus at login
and restart on crash, the macOS counterpart to odysseus-ui.service. The
installer auto-fills paths from the venv, so there's no hand-editing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 20:24:38 -05:00

43 lines
1.3 KiB
Plaintext

<?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">
<!--
macOS launchd equivalent of odysseus-ui.service (systemd).
Do not edit the __PLACEHOLDERS__ by hand — run ./install-service-macos.sh,
which fills them in from your venv/install path and loads the agent. This is
a per-user LaunchAgent: it runs at login, needs no sudo, and restarts the
server if it crashes (KeepAlive). The app reads .env itself via python-dotenv,
so there's no EnvironmentFile to wire up.
-->
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.odysseus.ui</string>
<key>ProgramArguments</key>
<array>
<string>__UVICORN__</string>
<string>app:app</string>
<string>--host</string>
<string>__HOST__</string>
<string>--port</string>
<string>__PORT__</string>
</array>
<key>WorkingDirectory</key>
<string>__WORKDIR__</string>
<key>RunAtLoad</key>
<true/>
<!-- Restart on crash (systemd Restart=always equivalent). -->
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>__LOGDIR__/odysseus.out.log</string>
<key>StandardErrorPath</key>
<string>__LOGDIR__/odysseus.err.log</string>
</dict>
</plist>