Skip to content

anguzo/livekit-self-hosted

Repository files navigation

livekit-self-hosted

There are several examples available for launching your own LiveKit server:

This example focuses on launching self-hosted LiveKit server not accessible from the Internet while also providing proper HTTPS, WSS using DNS-01 challenge propagation using awesome acme-dns server.

Background

The contents of this repository were generated using:

docker run --rm -it -v$PWD:/output livekit/generate

And modified to account for an on-premise set-up using:

to provide proper HTTPS/WSS addresses in your local network.

Usage

  1. Acquire a domain name for which you are be able to create CNAME records.

  2. Set up acme-dns:

  3. Replace myhost.com in all files with you domain name.

  4. Point subdomains using local DNS to the IP address of your server.

  5. Replace Livekit API key and secret in all files with your custom one.

  6. Use either init_script.sh or cloud_init.ubuntu.yaml for automated set-up of LiveKit server.

    Note: Make sure that the contens of files that will be created by the init_script.sh or cloud_init.ubuntu.yaml correspond to the ones you modified - caddy.yaml, acme-dns-cred.json, livekit.yaml, ingress.yaml.

    Note: For a set-up in a VirtualBox you can refer to these materials: #1, #2.

  7. Develop your own LiveKit frontend and add it to the setup. For example:

    1. Fork LiveKit Meet.
    2. Add a corresponding Dockerfile to it.

      Note: don't forget to copy env.local with the right API key and secret COPY --from=builder /app/.env.local ./.env.local

    3. Deploy to Docker Hub.
    4. Modify docker-compose.yaml and caddy.yaml to include your frontend.

TODO

  • Test out WHIP and URL ingress.

Known issues and solutions

  • Caddy: DNS-01 challenge takes long. No solution yet, it might take really long sometimes.

  • Redis: "WARNING Memory overcommit must be enabled!" Solution

  • Ingress: "UDP receive buffer is too small for a production set-up." Solution

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published