Overview
This repo contains a small VOIP application built using SvelteKit, LiveKit, and TailwindCSS. The application allows users to set up and connect to a LiveKit instance for video and voice communication. In order to get started, there are a few setup steps involved.
Features
- SvelteKit integration: The application is built using SvelteKit, a modern frontend framework that provides an easy and efficient development experience.
- LiveKit integration: LiveKit is used as the underlying infrastructure for video and voice communication. It provides powerful features for real-time communication.
- TailwindCSS styling: The application’s UI is styled using TailwindCSS, a utility-first CSS framework that allows for easy customization and responsiveness.
Installation
To install and set up the application, follow these steps:
- Place the IP for the host you are running on into the
docker-compose.ymlandconfig.jsonfiles. This IP should be added to thecommandproperty for thesfuservice in thedocker-compose.ymlfile. - Generate an access token/secret pair by running the following command:
docker run --rm livekit/livekit-server generate-keys
- Place the generated access token into
/secret/lk_access_tokenand the secret key into/secret/lk_access_key. - Add both the access token and secret key as a key-value pair (
access_token: secret_key) in the/server-config.ymlfile. - Run
docker-compose upand connect to the instance atlocalhost:3000. - If you want to make changes to the Svelte code, you can use
docker-compose up sfuandnpm run devto start the sfu in Docker and the frontend in development mode. - If you are connecting to a local instance (e.g., from one machine to another via LAN), you will need to configure your browser to allow access to your microphone and camera on a specific insecure host. For Google Chrome, you can do this with the
--unsafely-treat-insecure-origin-as-secureflag, followed by the insecure host URL (e.g.,http://x.x.x.x:3000).
Summary
This VOIP application is built using SvelteKit, LiveKit, and TailwindCSS. It provides users with a simple interface for video and voice communication. The installation process involves setting up the necessary IP configurations, generating access tokens, and running the application through Docker. This application offers an efficient and customizable solution for real-time communication needs.