Jitsi Meet Handbook

Jitsi Meet Handbook

  • Docs
  • Help

›Web

Getting Started

  • Introduction
  • Architecture
  • Security
  • FAQ
  • Community-run Jitsi Meet instances

User Guide

  • Overview
  • Join a Jitsi Meeting
  • Start a Jitsi Meeting
  • Share a Jitsi Meeting
  • Use Jitsi Meet on Mobile
  • Jitsi Meet for Google Calendar
  • Basic options
  • Advanced options

Developer Guide

  • Overview
  • Contributing Guidelines
  • Web

    • Start
    • Integrations
    • IFrame API

    Mobile

    • Start
    • Android SDK
    • iOS SDK

Self-Hosting Guide

  • Overview
  • Deployment

    • Debian/Ubuntu server
    • Docker
    • Manual installation

    Configuration

    • Authentication (Secure Domain)
    • Scalable setup
    • TURN setup
    • Speaker Stats
    • Video SIP gateway
    • Cloud API
  • Video Tutorials
  • FAQ
Edit

Developer Guide (Web)

Welcome to the developers guide for web! This guide will help you setup a development environment to start working on the Jitsi Meet codebase.

Building the sources

note

Node.js >= 12 and npm >= 6 are required.

On Debian/Ubuntu systems, the required packages can be installed with:

download linux-binaries(x64) from  https://nodejs.org/en/download/
install the downlaoded file node*.tar.xz
follow the document https://community.jitsi.org/t/how-to-how-to-build-jitsi-meet-from-source-a-developers-guide/75422

To build the Jitsi Meet application, just type

make

Working with the library sources (lib-jitsi-meet)

By default the library is built from its git repository sources. The default dependency path in package.json is:

"lib-jitsi-meet": "jitsi/lib-jitsi-meet",

To work with local copy you must change the path to:

"lib-jitsi-meet": "file:///Users/name/local-lib-jitsi-meet-copy",

To make the project you must force it to take the sources as 'npm update':

npm install lib-jitsi-meet --force && make

Or if you are making only changes to the library:

npm install lib-jitsi-meet --force && make deploy-lib-jitsi-meet

Alternative way is to use npm link. It allows to link lib-jitsi-meet dependency to local source in few steps:

cd lib-jitsi-meet

#### create global symlink for lib-jitsi-meet package
npm link

cd ../jitsi-meet

#### create symlink from the local node_modules folder to the global lib-jitsi-meet symlink
npm link lib-jitsi-meet

After changes in local lib-jitsi-meet repository, you can rebuild it with npm run install and your jitsi-meet repository will use that modified library. Note: when using node version 4.x, the make file of jitsi-meet do npm update which will delete the link. It is no longer the case with version 6.x.

If you do not want to use local repository anymore you should run

cd jitsi-meet
npm unlink lib-jitsi-meet
npm install

Running with webpack-dev-server for development

Use it at the CLI, type

make dev

By default the backend deployment used is alpha.jitsi.net. You can point the Jitsi-Meet app at a different backend by using a proxy server. To do this, set the WEBPACK_DEV_SERVER_PROXY_TARGET variable:

export WEBPACK_DEV_SERVER_PROXY_TARGET=https://your-example-server.com
make dev

The app should be running at https://localhost:8080/

Chrome Privacy Error

Newer versions of Chrome may block localhost under https and show NET::ERR_CERT_INVALID on the page. To solve this open chrome://flags/#allow-insecure-localhost and select Enable, then press Relaunch or quit and restart Chrome.

Building .debs

To make a deb you can easily deploy to a public test server, ensure you have the lib-jitsi-meet sources you wish, then:

make
dpkg-buildpackage -A -rfakeroot -us -uc -tc

You'll have a bunch of .deb files in the parent directory, and can push the updated source to your server and install it with the jitsi-meet-web deb file.

Last updated on 1/21/2021
← Contributing GuidelinesIntegrations →
  • Building the sources
    • Working with the library sources (lib-jitsi-meet)
    • Running with webpack-dev-server for development
Jitsi Meet Handbook
Docs
IntroductionUser GuideDeveloper GuideSelf-Hosting Guide
Community
Project Forum
More
Jitsi Meet on GitHubStarHandbook on GitHub
Follow @jitsinews
Copyright © 2021