Add local Jitsi Docker staging setup
This commit is contained in:
57
local/README.md
Normal file
57
local/README.md
Normal 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
70
local/custom-config.js
Normal 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.'
|
||||
}
|
||||
};
|
||||
22
local/custom-interface_config.js
Normal file
22
local/custom-interface_config.js
Normal 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 = '';
|
||||
4
local/docker-compose.override.yml
Normal file
4
local/docker-compose.override.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
services:
|
||||
web:
|
||||
volumes:
|
||||
- ../../assets/public/politictalk:/usr/share/jitsi-meet/images/politictalk:ro
|
||||
Reference in New Issue
Block a user