Running Kokoro TTS, Whisper STT, Ollama LLM, and ChromaDB on a Raspberry Pi 5 — architecture, permissions, and production hardening.
Running Kokoro TTS (8880), Whisper STT (8881), Audio Converter (8882), Ollama (11434), and ChromaDB (8000) on a Raspberry Pi 5 — port planning, resource constra…
The nohup + disown pattern, the stdin redirect requirement (< /dev/null), why simple & fails, and how to verify service health after SSH logout.
Apache runs as www-data, not your user. SSH key ownership requirements (600 = owner only), file permission strategies (groups, ACLs), and why your CLI test pass…
Kokoro always outputs WAV regardless of requested format. FFmpeg converts WAV → OGG/OPUS at 48kHz mono 48kbps. The exact command, bitrate choices, codec availab…
Zero-dependency Python HTTP server using stdlib http.server: handles multipart file upload, FFmpeg subprocess with timeout, and temp file cleanup — all in ~100 …
Nginx routing /tts → 8880, /stt → 8881, /llm → 11434. TLS termination, API key auth at the proxy layer, and per-service rate limiting.