Add LiteLLM section to README covering: service startup, credential and
model registration (including FORCE=1 for re-runs), adding new models via
API, maintenance scripts, systemd timer, and a troubleshooting guide for
the 429/cooldown and duplicate-entry failure modes encountered in practice.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
litellm-dedup.sh: removes duplicate model DB entries (idempotent, supports
--dry-run). Root cause of duplicates was litellm-init running multiple times
before the DB was populated, causing all entries to be inserted concurrently.
litellm-health-check.sh: runs every 6 hours via systemd user timer; checks
liveness (auto-restarts container if unresponsive) and duplicate entries
(auto-dedups when DEDUP=1). Logs to litellm-maintenance.log.
Systemd units: litellm-health-check.{service,timer} installed under
~/.config/systemd/user/.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Register gpt-5.4 (OpenAI codex auth), glm-4.7-flash, and glm-5 (ZAI)
- Add early-exit guard to litellm-init-models.sh: skips registration if
gpt-4o already exists in the DB, preventing duplicate entries on re-runs;
set FORCE=1 to bypass and add any missing models
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e2scrub_all.timer runs Sundays at 03:10. The previous 03:30 reboot
window gave only 20 minutes. 04:00 gives a safe 50-minute buffer
after both the 03:00 config backup and the filesystem scrub.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enable unattended-upgrades with auto-reboot at 03:30 (after the
03:00 config backup). Includes kernel package cleanup and removal
of unused dependencies.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>