stocky-tailor-95498
08/13/2025, 11:29 AMtall-airline-16756
08/13/2025, 11:29 AMtall-airline-16756
08/13/2025, 11:29 AMwss://<your-project>.livekit.cloud
).
◦ `LIVEKIT_API_KEY`: Your API key from LiveKit Cloud.
◦ `LIVEKIT_API_SECRET`: Your API secret from LiveKit Cloud.
◦ `NEXT_PUBLIC_SITE_URL`: Your site’s URL (this one’s optional, but some demos need it).
1. Deploy the App: Vercel will take care of building and deploying your app. You can keep an eye on how it’s going right from the Vercel dashboard.
2. After Deployment: Give your app a test run to make sure everything—like audio and video streaming—is working smoothly.
If you’re using a particular LiveKit example or want a hand with anything else, just let me know—I’m here to help!
Sources: README.md | src/app/page.tsx | README.mdstocky-tailor-95498
08/13/2025, 11:30 AMtall-airline-16756
08/13/2025, 11:31 AMDockerfile
. If you want some examples, check out the LiveKit Examples repository—they’ve got you covered.
2. Clone the Deployment Example: Grab the LiveKit agent deployment examples repository by cloning it to your local setup.
3. Copy the render.yaml
File: Take the render.yaml
file from the <http://render.com|render.com>
folder in that repo and copy it into the root of your project—where your Dockerfile
lives.
4. Update Environment Variables: Head over to your Render dashboard and create an environment group named agent-example-env-group
. Then, add these variables:
◦ `LIVEKIT_URL`: Your LiveKit WebSocket URL (something like <wss://your-livekit-url.livekit.cloud>
).
◦ `LIVEKIT_API_KEY`: Your LiveKit API key.
◦ `LIVEKIT_API_SECRET`: Your LiveKit API secret.
1. Launch Your Service on Render: In your Render dashboard, create a new service by initializing a blueprint and pointing it to your repo. Render will spot the render.yaml
file and handle the setup for you.
If any of these steps feel tricky or if you want me to walk you through anything in more detail, just give me a shout—I’m here to help!
Sources: Deploying to production | LiveKit Docs | Deployment and scaling | LiveKit Docs | README.mdstocky-tailor-95498
08/13/2025, 11:31 AMtall-airline-16756
08/13/2025, 11:32 AMwss://<your-project>.livekit.cloud
).
◦ `LIVEKIT_API_KEY`: Your API key from LiveKit Cloud.
◦ `LIVEKIT_API_SECRET`: Your API secret from LiveKit Cloud.
◦ `NEXT_PUBLIC_SITE_URL`: Your site’s URL (this one’s optional but needed for some demos).
1. Deploy the App: Vercel will take it from here, building and deploying your app automatically. You can keep an eye on how things are going right in the Vercel dashboard.
2. After Deployment: Give your app a quick test to make sure everything, like audio and video streaming, is working smoothly.
If you’re using a specific LiveKit example or want a hand with any extra setup, just let me know—I’m here to help!stocky-tailor-95498
08/13/2025, 12:34 PMtall-airline-16756
08/13/2025, 12:35 PMLIVEKIT_API_KEY
◦ LIVEKIT_API_SECRET
◦ LIVEKIT_WS_URL
1. Test Your Application: Head over to your deployed app URL and give it a spin—try joining rooms, streaming video, and audio to see everything in action.
2. Monitor Application Logs: Keep an eye on Vercel’s logging tools to catch any errors or issues early, and troubleshoot as needed.
3. Set Up a Custom Domain (Optional): If you want a snazzy, professional URL, you can set up a custom domain through Vercel.
4. Test with LiveKit CLI (Optional): Using custom recording or egress templates? Give your app a test run with the LiveKit CLI to mimic real-world use.
5. Optimize Your Deployment: Take a look at Vercel’s Next.js deployment docs for handy tips on caching, performance, and other ways to make your app shine.
If you hit any bumps or want a hand with any of these steps, just let me know—I’m here to help!
Sources: README.md | agent-console/README.md | README.md | Custom Recording Template | LiveKit Docsstocky-tailor-95498
08/13/2025, 12:36 PMtall-airline-16756
08/13/2025, 12:37 PMstocky-tailor-95498
08/13/2025, 12:39 PMtall-airline-16756
08/13/2025, 12:40 PM/api/connection-details
is going through smoothly. You can also pop open {your_app_url}/api/connection-details
in your browser to double-check it’s returning the right connection details.
2. Verify Environment Variables: Make sure all the necessary environment variables (like NEXT_PUBLIC_CONN_DETAILS_ENDPOINT
) are set up correctly in your Vercel deployment settings.
3. Inspect Event Listeners: Take a look at your code to confirm that event listeners for media device errors are in place. Adding some error handling to catch and log any connection issues or unhandled rejections can really help here.
4. Test Device Permissions: Double-check that your browser has permission to use the microphone and camera. If there are any permission denials, you’ll usually see messages in the console.
5. Debugging Tips:
◦ Peek at the Console tab for any error messages popping up.
◦ Look in the Application tab to confirm your environment variables are loaded.
◦ Try adding error handling in your code to catch connection failures, like this: try {
// Your connection logic
} catch (error) {
console.error('Connection failed:', error);
}
1. Verify Vercel Deployment: Make sure your serverless functions are deployed correctly and that your domain settings are all good to go.
If you’re still stuck after trying these, just let me know what you see in the Network tab or share any other details you have—I’m here to help you get this sorted!
Sources: complex-agents/nova-sonic/nova-sonic-form-agent/components/app.tsxstocky-tailor-95498
08/13/2025, 12:42 PMtall-airline-16756
08/13/2025, 12:43 PMNEXT_PUBLIC_LIVEKIT_URL
(or LIVEKIT_WS_URL
): This is the WebSocket URL for your LiveKit server, usually looking like wss://<subdomain>.livekit.cloud
.
Make sure to add these variables in your Vercel project settings under "Environment Variables." Remember, use the NEXT_PUBLIC_
prefix for any variables that need to be accessible on the client side.
If you're using extra features like speech-to-text, you might need to add more variables, but these aren't necessary for a basic LiveKit setup. Feel free to reach out if you want a hand with any specific setup—I'm here to help!
Sources: Transcription Applications | livekit/livekit_composite | DeepWiki | .env.example | Transcription Applications | livekit/livekit_composite | DeepWikistocky-tailor-95498
08/13/2025, 12:59 PMtall-airline-16756
08/13/2025, 1:00 PM<ws://localhost:7880>
(just swap out 7880
for your backend port).
2. Cross-Origin Resource Sharing (CORS): Double-check that your local backend is set up to accept requests from your Vercel-hosted frontend. You might need to tweak your backend’s CORS settings to allow the Vercel domain.
3. Network Accessibility: Make sure your local backend is reachable from the internet. If it’s not, tools like ngrok can be super helpful to expose your local server with a public URL—then just update your frontend’s WebSocket URL accordingly.
4. Protocol Mismatch: Confirm your WebSocket URL is using the right protocol—`ws://` for local development or wss://
for secure connections.
5. Check Backend Logs: Take a peek at your backend logs to see if there are any errors or warnings that might shed light on the connection trouble.
If you’re still stuck after trying these, just share the exact error message and any setup details you have—I’m here to help you figure it out!stocky-tailor-95498
08/13/2025, 3:11 PMtall-airline-16756
08/13/2025, 3:14 PMrender.yaml
file into the root directory of your project, right where your Dockerfile
lives. If you want some examples to guide you, check out the LiveKit agent deployment examples repository.
2. Create an Environment Group:
◦ Head over to your Render dashboard and create an environment group called agent-example-env-group
.
◦ Then, add these environment variables: LIVEKIT_URL=<wss://your-livekit-url.livekit.cloud>
LIVEKIT_API_KEY=your-livekit-api-key
LIVEKIT_API_SECRET=your-livekit-api-secret
1. Launch Your Service:
◦ Create a new blueprint in Render and link it to your repository.
◦ Render will spot the render.yaml
file and automatically deploy your service with the settings you’ve specified.
Here’s a handy example of what your render.yaml
might look like:
services:
- type: pserv
repo: <https://github.com/livekit-examples/agent-deployment>
rootDir: python-agent-example-app
name: agent-example
runtime: image
plan: starter
envVars:
- fromGroup: agent-example-env
region: virginia
maxShutdownDelaySeconds: 300
scaling:
minInstances: 1
maxInstances: 4
targetCPUPercent: 60
targetMemoryPercent: 60
Make sure your project has a proper Dockerfile
, and feel free to tweak the rootDir
and other settings to fit your setup. If you hit any bumps or want a hand, just let me know—I’m here to help!
Sources: README.md | Deploying to production | LiveKit Docs