Add local Jitsi Docker staging setup

This commit is contained in:
2026-05-14 23:35:52 +05:30
parent e35fd60cc5
commit 8997f4804f
12 changed files with 407 additions and 0 deletions

57
local/README.md Normal file
View File

@@ -0,0 +1,57 @@
# Local PoliticTalk Jitsi
This folder contains the tracked overrides used to test PoliticTalk Jitsi locally with the official Docker Jitsi stack.
The downloaded Docker stack and generated runtime config are intentionally ignored by Git:
```text
local/docker-jitsi-meet/
local/.jitsi-meet-cfg/
```
## First Run
Install Docker Desktop first if `docker --version` is not available.
Then run:
```bash
cd /Users/amardeep/work/pg/jitsi
./scripts/local-jitsi-setup.sh
./scripts/local-jitsi-start.sh
```
Open:
```text
https://localhost:8443/pt-local-test
```
The browser may warn about a self-signed certificate. That is expected for local Docker testing.
## After Editing Overrides
When you edit `local/custom-config.js`, `local/custom-interface_config.js`, or local assets, run:
```bash
./scripts/local-jitsi-sync.sh
./scripts/local-jitsi-restart-web.sh
```
## Stop
```bash
./scripts/local-jitsi-stop.sh
```
## What This Tests
- PoliticTalk branding assets
- prejoin behavior
- audio-only policy
- muted microphone/camera startup
- toolbar restrictions
- chat, polls, raise hand, fullscreen, noise suppression
- E2EE UI availability
Final production verification still happens on the VPS because real WebRTC networking, domain, HTTPS, and future JWT auth depend on the server environment.

70
local/custom-config.js Normal file
View File

@@ -0,0 +1,70 @@
// PoliticTalk local Docker overrides.
// Docker Jitsi appends this file after generating /config/config.js.
config.defaultLogoUrl = '/images/politictalk/pgLogo.svg';
config.dynamicBrandingUrl = '/images/politictalk/branding.json';
config.startAudioOnly = true;
config.startAudioMuted = 0;
config.startWithAudioMuted = true;
config.startVideoMuted = 0;
config.startWithVideoMuted = true;
config.disableSelfView = true;
config.disableSelfViewSettings = true;
config.disableLocalVideoFlip = true;
config.disableChat = false;
config.disablePolls = false;
config.disableInviteFunctions = true;
config.doNotStoreRoom = true;
config.enableEncodedTransformSupport = true;
config.enableNoisyMicDetection = true;
config.disableRemoteMute = false;
config.prejoinConfig = {
enabled: true,
hideDisplayName: false,
hideExtraJoinButtons: ['no-audio', 'by-phone'],
preCallTestEnabled: false,
preCallTestICEUrl: '',
showHangUp: true
};
config.toolbarButtons = [
'microphone',
'chat',
'raisehand',
'fullscreen',
'noisesuppression',
'participants-pane',
'hangup'
];
config.hiddenPremeetingButtons = [
'microphone',
'camera',
'select-background',
'invite',
'settings'
];
config.participantsPane = {
enabled: true,
hideModeratorSettingsTab: false,
hideMoreActionsButton: false,
hideMuteAllButton: false
};
config.e2ee = {
externallyManagedKey: false,
disabled: false,
labels: {
label: 'End-to-end encryption',
description: 'End-to-end encryption protects media between participants.',
tooltip: 'End-to-end encryption',
warning: 'Some features may be limited while encryption is enabled.'
}
};

View File

@@ -0,0 +1,22 @@
// PoliticTalk local Docker interface overrides.
// Docker Jitsi appends this file after generating /config/interface_config.js.
interfaceConfig.APP_NAME = 'PoliticTalk';
interfaceConfig.NATIVE_APP_NAME = 'PoliticTalk';
interfaceConfig.PROVIDER_NAME = 'ParallelGlobe';
interfaceConfig.DEFAULT_WELCOME_PAGE_LOGO_URL = '/images/politictalk/pgLogo.svg';
interfaceConfig.SHOW_JITSI_WATERMARK = false;
interfaceConfig.SHOW_BRAND_WATERMARK = true;
interfaceConfig.BRAND_WATERMARK_LINK = 'https://parallelglobe.io/';
interfaceConfig.SHOW_POWERED_BY = false;
interfaceConfig.MOBILE_APP_PROMO = false;
interfaceConfig.DISPLAY_WELCOME_FOOTER = false;
interfaceConfig.DISPLAY_WELCOME_PAGE_CONTENT = false;
interfaceConfig.DISPLAY_WELCOME_PAGE_ADDITIONAL_CARD = false;
interfaceConfig.DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT = false;
interfaceConfig.JITSI_WATERMARK_LINK = '';
interfaceConfig.SUPPORT_URL = '';

View File

@@ -0,0 +1,4 @@
services:
web:
volumes:
- ../../assets/public/politictalk:/usr/share/jitsi-meet/images/politictalk:ro