Hello, on this topic I was wondering how you saw the situation for local models (whether vocal or text), given that the containers for external integrations are limited in CPU/RAM. Would the user have to launch a TTS server on their machine and then launch an external integration that connects to it? So it wouldn’t be a one-click integration anymore.
Or could we make an exception for isolation for these integrations?
Thank you for the question, it is legitimate, and I think we need to distinguish between two levels.
The limits you mention only concern the main integration container, the one that communicates with the core via WebSocket. It is indeed limited to 0.5 CPU and 256 MB, and this is intentional: an integration should never be able to starve Gladys on a mini-PC.
But the framework already provides, in the manifest, sub-containers with their own limits, originally designed for the Frigate case:
memory_mb: from 32 to 4096 MB
cpu: from 0.1 to 2 CPUs
shm_mb: from 64 to 512 MB
devices: access to gpu, coral-usb, coral-pcie, or video, each class being granted (or denied) individually by the user and revocable at any time
These values are displayed on the installation screen, and it is the user who accepts them knowingly before installation.
In concrete terms, an integration like “Piper TTS” or “Kokoro TTS” would therefore be a lightweight main container (the bridge with Gladys) plus a sub-container that runs the model, with 1 or 2 GB of RAM and the GPU if the user grants it. One-click installation, no server to launch manually, and no isolation exceptions to expect: the mechanism already exists.
For what exceeds these limits (a large vocal model that wants 8 GB and 4 cores), yes, the assumed model is “the integration is a client to a server that you host yourself”. This is exactly how local AI works today with Ollama or an OpenAI-compatible endpoint, and I find it consistent: someone who runs this type of model at home has the hardware and knows how to launch a container. This is not aimed at the average user.
And for the general public, the path remains Gladys Plus: zero configuration, zero hardware, and the PR keeps the automatic fallback to Gladys Plus if no local provider is configured
Okay thanks, I’ll try with the sub-container for simplified user access and then we’ll see for more. We’ll just need an external integration compatible with the OpenAI API and almost all AI services will be managed — it’s too cool