Jitsi Web

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

Building the sources

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

Install Jitsi Meet Note: The installer will check if Nginx or Apache are present (in that order) and configure a virtual host within the web server it finds to serve Jitsi Meet. If you are already running Nginx on port 443 on the same machine, turnserver configuration will. Jitsi Meet's web interface image. Pulls 10M+ Overview Tags. See Docker Pull Command. Here, you can download Jitsi Desktop, Jitsi Meet and Jitsi Videobridge. Use the stable builds for more consistent behaviour. Latest nightlies are also quite usable and contain all. Jitsi is an open-source web conferencing tool designed to help businesses of all sizes collaborate across teams via video conferencing in real-time. Key features of the platform include dial-in, simulcasting, call recording, screen sharing, and scalable video coding among others.

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

Converting UTC to IST This time zone converter lets you visually and very quickly convert UTC to IST and vice-versa. Simply mouse over the colored hour-tiles and glance at the hours selected by the column. UTC stands for Universal Time. Utc time to ist time converter.

  • Download 'Linux Binaries (x64)' from https://nodejs.org/en/download/
  • Install Node.js following these instructions: https://github.com/nodejs/help/wiki/Installation
Jitsi Web

Then go ahead:

Running with webpack-dev-server for development


Use the following command in your terminal:

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:

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

Jitsi Web Client

Certificate Error

Browsers may show a certificate error since the development certificate is self-signed. It's safe to disregard thosewarning and continue to your site.

Building .debs

Jitsi Webinar

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

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.

Running from source on existing deployment

Follow the document https://community.jitsi.org/t/how-to-how-to-build-jitsi-meet-from-source-a-developers-guide/75422

hosts: {
domain: 'prosody',
muc: 'conference.prosody',// FIXME: use XEP-0030
focus: 'focus.prosody',
disableSimulcast: false,
resolution: 720,
externalConnectUrl: '//localhost/http-pre-bind',
// analyticsScriptUrl: 'https://meet.jit.si/libs/jitsi-analytics-web-client.min.js',
// analyticsScriptUrls: [
// 'https://meet.jit.si/libs/analytics-ga.js',
// 'https://meet.jit.si/libs/jitsi-analytics-web-client.min.js',
// ],
p2pStunServers: [
{urls: 'stun:stun.l.google.com:19302'},
{urls: 'stun:stun1.l.google.com:19302'},
{urls: 'stun:stun2.l.google.com:19302'}
enableP2P: true,// flag to control P2P connections
// New P2P options
p2p: {
enabled: true,
preferH264: true,
disableH264: true,
useStunTurn: true,// use XEP-0215 to fetch STUN and TURN server for the P2P connection
stunServers: [
{urls: 'stun:stun.l.google.com:19302'},
{urls: 'stun:stun1.l.google.com:19302'},
{urls: 'stun:stun2.l.google.com:19302'}
useStunTurn: false,// use XEP-0215 to fetch STUN and TURN server for the JVB connection
useIPv6: false,// ipv6 support. use at your own risk
useNicks: false,
bosh: '//localhost/http-bind',// FIXME: use xep-0156 for that
etherpad_base: 'https://meet.jit.si/etherpad/p/',
clientNode: 'http://jitsi.org/jitsimeet',// The name of client node advertised in XEP-0115 'c' stanza
//deprecated desktop sharing settings, included only because older version of jitsi-meet require them
desktopSharing: 'ext',// Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable.
chromeExtensionId: 'kglhbbefdnlheedjiejgomgmfplipfeb',// Id of desktop streamer Chrome extension
desktopSharingSources: ['screen','window'],
//new desktop sharing settings
desktopSharingChromeExtId: 'kglhbbefdnlheedjiejgomgmfplipfeb',// Id of desktop streamer Chrome extension
desktopSharingChromeDisabled: false,
desktopSharingChromeSources: ['screen','window','tab'],
desktopSharingChromeMinExtVersion: '',// Required version of Chrome extension
desktopSharingFirefoxExtId: ',
desktopSharingFirefoxDisabled: false,
desktopSharingFirefoxMaxVersionExtRequired: '0',
desktopSharingFirefoxExtensionURL: ',
useRoomAsSharedDocumentName: false,
disableRtx: false,// Enables RTX everywhere
enableRtpStats: false,// Enables RTP stats processing
enableStatsID: true,
openSctp: true,// Toggle to enable/disable SCTP channels
channelLastN: -1,// The default value of the channel attribute last-n.
minHDHeight: 540,
startBitrate: '800',
disableAudioLevels: false,
useRtcpMux: true,
useBundle: true,
disableSuspendVideo: true,
enableLipSync: false,
stereo: false,
forceJVB121Ratio: -1,
enableTalkWhileMuted: true,
// callStatsCustomScriptUrl: 'https://api.callstats.io/static/callstats-ws.min.js',
// hiddenDomain: 'recorder.meet.jit.si',
// enableRecording: true,
// requireDisplayName: false,
// recordingType: 'jibri',
enableWelcomePage: true,
isBrand: false,
logStats: false,
// To enable sending statistics to callstats.io you should provide Applicaiton ID and Secret.
callStatsID: '347489791',//Application ID for callstats.io API
callStatsSecret: '169aw6v+hk9TbVuHN2SiDCgfkkU=',//Secret for callstats.io API
dialInNumbersUrl: 'https://jitsi-api.jitsi.net/phoneNumberList',
dialInConfCodeUrl: 'https://jitsi-api.jitsi.net/conferenceMapper',
dialOutCodesUrl: 'https://jitsi-api.jitsi.net/countrycodes',
dialOutAuthUrl: 'https://jitsi-api.jitsi.net/authorizephone',
peopleSearchUrl: 'https://jitsi-api.jitsi.net/directorySearch',
inviteServiceUrl: 'https://jitsi-api.jitsi.net/conferenceInvite',
peopleSearchQueryTypes: ['user','conferenceRooms'],
startAudioMuted: 9,
startVideoMuted: 9,
enableUserRolesBasedOnToken: false,
// atlassianAnalyticsEventUrl: 'https://analytics.atlassian.com/analytics/event',
// atlassianAnalyticsEvent: {
// product: 'lib-jitsi-meet',
// subproduct: 'hcv-meetjitsi',
// name: 'jitsi.page.load.failed',
// server: 'meet.jit.si'
// },
// deploymentInfo: {
// environment: 'hcv-meetjitsi',
// envType: 'prod',
// shard: 'hcv-meetjitsi-ap-se-1a-s4',
// region: 'ap-southeast-1',
// userRegion: 'ap-southeast-1',
// crossRegion: 'ap-southeast-1' 'ap-southeast-1' ? 0 : 1
// },
abTesting: {
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment