Files
avc-phone-ai/avc-phone.service
2026-06-23 22:38:22 +00:00

35 lines
1.2 KiB
Desktop File

[Unit]
Description=AVC optometry phone agent (Pipecat + Twilio, local GPU)
Documentation=file:///home/tocmo0nlord/avc-phone/README.md
# Needs the network up and Ollama serving the activeblue-avc model. Docker (Odoo) is
# only a soft dependency — the agent falls back to JSONL if Odoo is down — so it is
# ordered after but not required.
Wants=network-online.target
After=network-online.target ollama.service docker.service
# Restart rate limit (these are [Unit]-level directives).
StartLimitIntervalSec=300
StartLimitBurst=5
[Service]
Type=simple
User=tocmo0nlord
Group=tocmo0nlord
WorkingDirectory=/home/tocmo0nlord/avc-phone
# run.sh loads .env, sets LD_LIBRARY_PATH for the CUDA libs, and execs the server.
ExecStart=/home/tocmo0nlord/avc-phone/run.sh
# A phone line should always come back up.
Restart=always
RestartSec=5
# Give model loads time before a failed start counts against the restart limit.
TimeoutStartSec=120
# Light hardening. Home is left writable on purpose: the app reads the shared venv +
# Kokoro models + HF Whisper cache under /home and writes the JSONL fallback, so a
# read-only home would risk breaking model-cache locks. /usr,/etc stay read-only.
NoNewPrivileges=true
ProtectSystem=full
PrivateTmp=true
[Install]
WantedBy=multi-user.target