Hi,
We need EU data residency for a deployment and we are looking to route traffic through the European endpoints of our providers. We tried passing base_url when instantiating the plugins:
stt=deepgram.STT(base_url="https://api.eu.deepgram.com", ...),
llm=openai.LLM(base_url="https://eu.api.openai.com/v1", ...),
tts=elevenlabs.TTS(base_url="https://api.eu.residency.elevenlabs.io/v1", ...),
Has anyone tackled this before? Would love to hear how you approached it.
Thanks!
Hi Benjamin, there is more to consider for a regional deployment than just where the model providers are located, I wrote this guide that details everything to consider: Checklist for Regional Deployments | LiveKit , hope that helps?
That base_url parameter isn’t for regional routing, it is for a different purpose.
Thanks for the guide Darryn, that was helpful.
Just to clarify our setup: we are self hosting LiveKit and already moved all of our infrastructure to a European region (compute, networking, etc.). Because of that, my understanding was that the remaining step is ensuring data residency at the model providers we use in the pipeline.
Right now our stack is:
-
Deepgram (STT)
-
OpenAI (LLM)
-
ElevenLabs (TTS)
We’re currently coordinating with each provider to enable EU data residency / EU workspaces on their side.
Given that the LiveKit infrastructure itself is already running in the EU, does that sound like the correct approach? Or is there anything else from the LiveKit side we should still consider to ensure the deployment is fully compliant with EU data residency requirements?
Also, one quick clarification: why isn’t the base_url parameter the correct way to route requests if a provider gives us a dedicated EU endpoint? What would be the recommended way to configure that when using the plugins?
Appreciate the help!
Got it! Yes, if you are self-hosting then it feels like you have everything in place.
If you have your own endpoint then base_url is also correct, I just misunderstood earlier