ai: Settings → AI (local endpoints only, with tests), the AI stack, voicemail transcripts
ci / check (push) Successful in 1m0s
ci / images (push) Successful in 26s

This commit is contained in:
iamdoubz committed 2026-10-21 18:37:13 -05:00
1 parent 274242ce32
commit a26a5ca740
25 files changed
+4889 -5

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# Local AI for SelfPhoneNG (spec 10, admin guide: AI). Its own stack beside the PBX, on the same
# server: speech to text and text to speech (Speaches: Whisper and Kokoro). Bring your own Ollama
# for the language model, or uncomment the one below.
#
# docker compose -f deploy/ai/compose.yml up -d
#
# Everything listens on 127.0.0.1 only: the PBX (host networking) reaches it, nothing else does.
# Then Settings → AI (or AI_* in .env) points at http://127.0.0.1:8000/v1.
#
# The GPU needs the NVIDIA Container Toolkit on the host. No NVIDIA GPU: use the
# 0.8.3-cpu image and remove the `deploy` blocks.
services:
speaches:
image: ghcr.io/speaches-ai/speaches:0.8.3-cuda
restart: unless-stopped
ports: ['127.0.0.1:8000:8000']
volumes:
- speaches-models:/home/ubuntu/.cache/huggingface/hub
deploy:
resources:
reservations:
devices: [{ driver: nvidia, count: all, capabilities: [gpu] }]
logging:
driver: json-file
options: { max-size: 10m, max-file: '3' }
# ollama:
# image: ollama/ollama:0.40.8
# restart: unless-stopped
# ports: ['127.0.0.1:11434:11434']
# environment:
# OLLAMA_KEEP_ALIVE: '-1' # keep the model loaded: the first call doesn't wait for it
# volumes: [ollama-models:/root/.ollama]
# deploy:
# resources:
# reservations:
# devices: [{ driver: nvidia, count: all, capabilities: [gpu] }]
volumes:
speaches-models:
# ollama-models: