Did anybody suceed in running jitsi in a chroot on an ubuntu/debian system so far?

Hi,

I am trying to run jitsi on an ubuntu 18.4 server were apache2 runs inside a chroot. I’ve put the services jicofo, jitsi-videobridge2 and prosody in the same chroot and they are starting and running without error. When I try to connect I keep getting the message: “unfortunately, something went wrong …” and it keeps reconnecting without any changes.

I seem to have problems formatting parts of my post as code… I hope it’ll turn out well.

This is the result of the browser console:
`GEThttps://JITSY.TESTSERVER.TLD/neu
[HTTP/1.1 200 OK 31ms]

GEThttps://JITSY.TESTSERVER.TLD/css/all.css?v=4025
[HTTP/1.1 200 OK 37ms]

GEThttps://JITSY.TESTSERVER.TLD/libs/do_external_connect.min.js?v=1
[HTTP/1.1 200 OK 131ms]

GEThttps://JITSY.TESTSERVER.TLD/libs/lib-jitsi-meet.min.js?v=4025
[HTTP/1.1 200 OK 239ms]

GEThttps://JITSY.TESTSERVER.TLD/libs/app.bundle.min.js?v=4025
[HTTP/1.1 200 OK 355ms]

(TIME) index.html loaded: 339 neu:22:17
2020-04-28T14:08:45.344Z [modules/browser/BrowserCapabilities.js] This appears to be firefox, ver: 75.0 Logger.js:154:22
2020-04-28T14:08:45.895Z [index.web] (TIME) document ready: 1084 Logger.js:154:22
GEThttps://JITSY.TESTSERVER.TLD/images/favicon.ico?v=1
[HTTP/1.1 200 OK 23ms]

GEThttps://JITSY.TESTSERVER.TLD/images/apple-touch-icon.png
[HTTP/1.1 200 OK 26ms]

2020-04-28T14:08:46.019Z [features/base/lastn] There is no active conference, not updating last N Logger.js:154:22
2020-04-28T14:08:46.020Z [modules/UI/videolayout/VideoLayout.js] : Missed avatar update - no small video yet for undefined Logger.js:154:22
2020-04-28T14:08:46.041Z [features/base/media] Start muted: Logger.js:154:22
2020-04-28T14:08:46.045Z [features/base/media] Start audio only set to false Logger.js:154:22
2020-04-28T14:08:46.051Z [features/analytics] <ne/</<>: Loaded 0 analytics handlers Logger.js:154:22
2020-04-28T14:08:46.053Z [modules/statistics/AnalyticsAdapter.js] : Disposing of analytics adapter. Logger.js:154:22
2020-04-28T14:08:46.053Z [features/analytics] <ne/<>: Error: “No analytics handlers created!”
ne functions.js:100
Logger.js:154:22
GEThttps://JITSY.TESTSERVER.TLD/images/watermark.png
[HTTP/1.1 200 OK 28ms]

2020-04-28T14:08:46.184Z [features/base/devices] setAudioOutputDevice: undefined[default] Logger.js:154:22
2020-04-28T14:08:46.190Z [features/base/devices] <O/</</<>: Failed to set audio output device.
Default audio output device will be used instead Error: Audio output device change is not supported Logger.js:154:22
GEThttps://JITSY.TESTSERVER.TLD/images/avatar.png
[HTTP/1.1 200 OK 24ms]

2020-04-28T14:08:46.795Z [modules/RTC/RTCUtils.js] <init/<>: Available devices:
Array(4) [ MediaDeviceInfo, MediaDeviceInfo, MediaDeviceInfo, MediaDeviceInfo ]
Logger.js:154:22
2020-04-28T14:08:46.799Z [features/base/devices] Device list updated:
audioInput:
[him1ntrOtdzrCzi2p85ZXc9PH65jhQcfcOjoCaAMzsM=]
[GVL5hvt0GkRydo8/CQfyVzZupnqfStOgS6gh5sHD0Vo=]
[IZKAv44twhwVA9qs4HXYjxV7OB8ybf/3yzy8LDkt2X0=]
[4RoJMWQYXKru6Vrbn7ny8NBqedLHCuafO5Nof5dPR1I=]
audioOutput:

videoInput:
Logger.js:154:22
2020-04-28T14:08:46.816Z [modules/xmpp/xmpp.js] <_initStrophePlugins>: P2P STUN servers:
Array [ {…} ]
Logger.js:154:22
2020-04-28T14:08:46.823Z [modules/xmpp/xmpp.js] : (TIME) Strophe connecting: 2013 Logger.js:154:22
2020-04-28T14:08:46.829Z [modules/RTC/RTCUtils.js] : Using the new gUM flow Logger.js:154:22
2020-04-28T14:08:46.830Z [modules/RTC/RTCUtils.js] <newObtainAudioAndVideoPermissions/i<>: Got media constraints:
Object { video: {…}, audio: {…} }
Logger.js:154:22
2020-04-28T14:08:46.850Z [modules/RTC/RTCUtils.js] <_newGetUserMediaWithConstraints/</<>: Failed to get access to local media. NotFoundError: The object can not be found here. [object Object] Logger.js:154:22
2020-04-28T14:08:46.852Z [features/base/tracks] <E/</<>: Failed to create local tracks
Array [ “audio”, “video” ]

Object { gum: {…}, name: “gum.not_found”, message: “Requested device(s) was/were not found: audio, video”, stack: “s@https://JITSY.TESTSERVER.TLD/libs/lib-jitsi-meet.min.js?v=4025:1:110290\n_newGetUserMediaWithConstraints/</<@https://JITSY.TESTSERVER.TLD/libs/lib-jitsi-meet.min.js?v=4025:1:91969\n” }
Logger.js:154:22
2020-04-28T14:08:46.854Z [modules/RTC/RTCUtils.js] : Using the new gUM flow Logger.js:154:22
2020-04-28T14:08:46.854Z [modules/RTC/RTCUtils.js] <newObtainAudioAndVideoPermissions/i<>: Got media constraints:
Object { video: false, audio: {…} }
Logger.js:154:22
2020-04-28T14:08:47.831Z [modules/xmpp/XmppConnection.js] <_maybeEnableStreamResume>: Stream resume enabled, but WebSockets are not enabled Logger.js:154:22
2020-04-28T14:08:47.833Z [modules/xmpp/xmpp.js] : (TIME) Strophe connected: 3022 Logger.js:154:22
2020-04-28T14:08:47.833Z [modules/xmpp/xmpp.js] : My Jabber ID: 7c4c1c5e-8f93-4f4a-8e5d-f4fe4a0c3b7c@guest.JITSY.TESTSERVER.TLD/8990193b-067d-4231-9546-277f5fa6285a Logger.js:154:22
2020-04-28T14:08:48.104Z [features/base/storage] : redux state persisted. 07ac8c0ae71e4df2d204f00823cb7879 -> adf518b54bd22ad140e917f69e8317ec Logger.js:154:22
2020-04-28T14:08:48.141Z [modules/xmpp/strophe.ping.js] : XMPP pings will be sent every 10000 ms Logger.js:154:22
2020-04-28T14:08:48.350Z [modules/RTC/RTCUtils.js] <_newGetUserMediaWithConstraints/</<>: onUserMediaSuccess Logger.js:154:22
2020-04-28T14:08:48.351Z [modules/RTC/JitsiLocalTrack.js] <_setStream>: Setting new MSID: {23563fc0-a723-4c72-88f1-bdec78633206} {47a32928-f3a3-474f-a7d7-3bfc9e81caf7} on LocalTrack[undefined,audio] Logger.js:154:22
2020-04-28T14:08:48.403Z [conference.js] <init/<>: initialized with 1 local tracks Logger.js:154:22
2020-04-28T14:08:48.417Z [modules/xmpp/xmpp.js] : JID 7c4c1c5e-8f93-4f4a-8e5d-f4fe4a0c3b7c@guest.JITSY.TESTSERVER.TLD/8990193b-067d-4231-9546-277f5fa6285a using MUC nickname 7c4c1c5e Logger.js:154:22
2020-04-28T14:08:48.417Z [modules/xmpp/ChatRoom.js] Joined MUC as neu@conference.JITSY.TESTSERVER.TLD/7c4c1c5e Logger.js:154:22
2020-04-28T14:08:48.419Z [modules/e2eping/e2eping.js] Initializing e2e ping; pingInterval=10000, analyticsInterval=60000. Logger.js:154:22
2020-04-28T14:08:48.420Z [modules/connectivity/ParticipantConnectionStatus.js] RtcMuteTimeout set to: 10000 Logger.js:154:22
2020-04-28T14:08:48.425Z [modules/statistics/AvgRTPStatsReporter.js] Avg RTP stats will be calculated every 15 samples Logger.js:154:22
2020-04-28T14:08:48.427Z [JitsiConference.js] : backToP2PDelay: 5 Logger.js:154:22
2020-04-28T14:08:48.427Z [modules/videosipgw/VideoSIPGW.js] creating VideoSIPGW Logger.js:154:22
2020-04-28T14:08:48.467Z [JitsiConference.js] <se.prototype._doReplaceTrack>: _doReplaceTrack - no JVB JingleSession Logger.js:154:22
2020-04-28T14:08:48.468Z [JitsiConference.js] <se.prototype._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession Logger.js:154:22
2020-04-28T14:08:48.471Z [modules/remotecontrol/RemoteControl.js] : Initializing remote control. Logger.js:154:22
2020-04-28T14:08:48.473Z [modules/UI/videolayout/SmallVideo.js] : Displaying avatar-with-name for 7c4c1c5e, data: [{“isCurrentlyOnLargeVideo”:true,“isHovered”:false,“isAudioOnly”:false,“tileViewEnabled”:false,“isVideoPlayable”:null,“hasVideo”:true,“connectionStatus”:null,“videoStream”:false,“isVideoMuted”:true,“videoStreamMuted”:“no stream”}] Logger.js:154:22
2020-04-28T14:08:48.481Z [modules/xmpp/moderator.js] <u.prototype.setFocusUserJid>: Focus jid set to: undefined Logger.js:154:22
2020-04-28T14:08:48.484Z [modules/xmpp/moderator.js] <u.prototype.createConferenceIq>: Session ID: e82bf18e-99c6-4b76-aa3d-72d2141ef654 machine UID: 5c8384b377f2e87277005b0c3ecce6ab Logger.js:154:22
2020-04-28T14:08:48.491Z [features/base/tracks] <Y/</</<>: Replace audio track - unmuted Logger.js:154:22
GEThttps://JITSY.TESTSERVER.TLD/libs/rnnoise-processor.min.js
[HTTP/1.1 200 OK 27ms]

2020-04-28T14:08:48.809Z [modules/UI/videolayout/LargeVideoManager.js] <scheduleLargeVideoUpdate/<>: hover in 7c4c1c5e Logger.js:154:22
2020-04-28T14:08:49.016Z [JitsiMeetJS.js] : UnhandledError: null Script: null Line: null Column: null StackTrace: Error: “Focus error, retry after 1000”
_allocateConferenceFocusError moderator.js:446
allocateConferenceFocus moderator.js:373
a strophe.umd.js:2716
run strophe.umd.js:1875
_dataRecv strophe.umd.js:3157
forEachChild strophe.umd.js:830
_dataRecv strophe.umd.js:3146
_onRequestStateChange strophe.umd.js:5012
Logger.js:154:22
2020-04-28T14:08:49.017Z [modules/xmpp/moderator.js] <u.prototype._allocateConferenceFocusError>: Focus error, retry after 1000

Logger.js:154:22
2020-04-28T14:08:49.036Z [features/overlay] : The conference will be reloaded after 26 seconds. Logger.js:154:22
2020-04-28T14:08:49.061Z [conference.js] <_onConferenceFailed>: CONFERENCE FAILED: conference.focusDisconnected focus.JITSY.TESTSERVER.TLD 1 Logger.js:154:22
2020-04-28T14:08:49.354Z [features/base/devices] Device list updated:
audioInput:
Built-in Audio Analogue Stereo[him1ntrOtdzrCzi2p85ZXc9PH65jhQcfcOjoCaAMzsM=]
Monitor of Built-in Audio Analogue Stereo[GVL5hvt0GkRydo8/CQfyVzZupnqfStOgS6gh5sHD0Vo=]
Monitor of ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) Analogue Stereo[IZKAv44twhwVA9qs4HXYjxV7OB8ybf/3yzy8LDkt2X0=]
ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) Analogue Stereo[4RoJMWQYXKru6Vrbn7ny8NBqedLHCuafO5Nof5dPR1I=]
audioOutput:

videoInput:
Logger.js:154:22
2020-04-28T14:08:49.361Z [features/local-recording] : Switch microphone to him1ntrOtdzrCzi2p85ZXc9PH65jhQcfcOjoCaAMzsM= Logger.js:154:22
wasm streaming compile failed: TypeError: Response has unsupported MIME type index.js:8:9333
falling back to ArrayBuffer instantiation index.js:8:9375
2020-04-28T14:08:49.608Z [modules/RTC/RTCUtils.js] : Using the new gUM flow Logger.js:154:22
2020-04-28T14:08:49.610Z [modules/RTC/RTCUtils.js] <newObtainAudioAndVideoPermissions/i<>: Got media constraints:
Object { video: false, audio: {…} }
Logger.js:154:22
2020-04-28T14:08:49.618Z [modules/RTC/RTCUtils.js] <_newGetUserMediaWithConstraints/</<>: onUserMediaSuccess Logger.js:154:22
2020-04-28T14:08:49.619Z [modules/RTC/JitsiLocalTrack.js] <_setStream>: Setting new MSID: {2fd80826-a1a8-472f-9275-8fbf06e49dcd} {af6a318d-ac3e-424e-8590-8c57067ffee8} on LocalTrack[undefined,audio] Logger.js:154:22
2020-04-28T14:08:49.620Z [modules/detection/VADAudioAnalyser.js] <_trackAdded/this._vadInitTracker<>: Created VAD emitter for track: Built-in Audio Analogue Stereo Logger.js:154:22
2020-04-28T14:08:50.070Z [modules/xmpp/moderator.js] <u.prototype.setFocusUserJid>: Focus jid set to: undefined Logger.js:154:22
2020-04-28T14:08:50.072Z [modules/xmpp/moderator.js] <u.prototype.createConferenceIq>: Session ID: e82bf18e-99c6-4b76-aa3d-72d2141ef654 machine UID: 5c8384b377f2e87277005b0c3ecce6ab Logger.js:154:22
2020-04-28T14:08:50.117Z [JitsiMeetJS.js] : UnhandledError: null Script: null Line: null Column: null StackTrace: Error: “Focus error, retry after 2000”
_allocateConferenceFocusError moderator.js:446
allocateConferenceFocus moderator.js:373
a strophe.umd.js:2716
run strophe.umd.js:1875
_dataRecv strophe.umd.js:3157
forEachChild strophe.umd.js:830
_dataRecv strophe.umd.js:3146
_onRequestStateChange strophe.umd.js:5012
Logger.js:154:22
2020-04-28T14:08:50.118Z [modules/xmpp/moderator.js] <u.prototype._allocateConferenceFocusError>: Focus error, retry after 2000

Logger.js:154:22
2020-04-28T14:08:50.128Z [conference.js] <_onConferenceFailed>: CONFERENCE FAILED: conference.focusDisconnected focus.JITSY.TESTSERVER.TLD 2 Logger.js:154:22
2020-04-28T14:08:52.140Z [modules/xmpp/moderator.js] <u.prototype.setFocusUserJid>: Focus jid set to: undefined Logger.js:154:22
2020-04-28T14:08:52.142Z [modules/xmpp/moderator.js] <u.prototype.createConferenceIq>: Session ID: e82bf18e-99c6-4b76-aa3d-72d2141ef654 machine UID: 5c8384b377f2e87277005b0c3ecce6ab Logger.js:154:22
2020-04-28T14:08:52.182Z [JitsiMeetJS.js] : UnhandledError: null Script: null Line: null Column: null StackTrace: Error: “Focus error, retry after 4000”
_allocateConferenceFocusError moderator.js:446
allocateConferenceFocus moderator.js:373
a strophe.umd.js:2716
run strophe.umd.js:1875
_dataRecv strophe.umd.js:3157
forEachChild strophe.umd.js:830
_dataRecv strophe.umd.js:3146
_onRequestStateChange strophe.umd.js:5012
Logger.js:154:22
2020-04-28T14:08:52.184Z [modules/xmpp/moderator.js] <u.prototype._allocateConferenceFocusError>: Focus error, retry after 4000

Logger.js:154:22
2020-04-28T14:08:52.192Z [conference.js] <_onConferenceFailed>: CONFERENCE FAILED: conference.focusDisconnected focus.JITSY.TESTSERVER.TLD 4 Logger.js:154:22`

There’s nothing showing up in any of the logs other then this line in prosody.log
Apr 28 16:23:00 focus.JITSY.TESTSERVER.TLD:component warn Component not connected, bouncing error for: <iq id='7f2afb5a-d137-4a7b-86c8-55bb15ee5d74:sendIQ' type='set' to='focus.JITSY.TESTSERVER.TLD' from='68de3563-4492-49b7-83e0-967e8570fecb@guest.JITSY.TESTSERVER.TLD/6c4b2605-e594-454e-8a8d-db5a6ccc04eb'>

I can’t make anything out of this. This part seems significant to me:
2020-04-28T14:08:52.182Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: "Focus error, retry after 4000" _allocateConferenceFocusError moderator.js:446 allocateConferenceFocus moderator.js:373 a strophe.umd.js:2716 run strophe.umd.js:1875 _dataRecv strophe.umd.js:3157 forEachChild strophe.umd.js:830 _dataRecv strophe.umd.js:3146 _onRequestStateChange strophe.umd.js:5012 Logger.js:154:22
But I can’t make anything out of it. I’m pretty sure that I made all folders of the installation available in the chroot environment and I have no more ideas where to start digging now.

This is my prosody configuration looks like
`plugin_paths = { “/usr/share/jitsi-meet/prosody-plugins/” }

– domain mapper options, must at least have domain base set to use the mapper
muc_mapper_domain_base = “JITSY.TESTSERVER.TLD”;

turncredentials_secret = “dnGGyR9pI0yha5PX”;

turncredentials = {
{ type = “stun”, host = “JITSY.TESTSERVER.TLD”, port = “4446” },
{ type = “turn”, host = “JITSY.TESTSERVER.TLD”, port = “4446”, transport = “udp” },
{ type = “turns”, host = “JITSY.TESTSERVER.TLD”, port = “443”, transport = “tcp” }
};

cross_domain_bosh = false;
consider_bosh_secure = true;

VirtualHost “JITSY.TESTSERVER.TLD”
– enabled = false – Remove this line to enable this host
authentication = “internal_plain”
– Properties below are modified by jitsi-meet-tokens package config
– and authentication above is switched to “token”
–app_id=“example_app_id”
–app_secret=“example_app_secret”
– Assign this host a certificate for TLS, otherwise it would use the one
– set in the global section (if any).
– Note that old-style SSL on port 5223 only supports one certificate, and will always
– use the global one.
ssl = {
key = “/etc/prosody/certs/JITSY.TESTSERVER.TLD.key”;
certificate = “/etc/prosody/certs/JITSY.TESTSERVER.TLD.crt”;
}
speakerstats_component = “speakerstats.JITSY.TESTSERVER.TLD”
conference_duration_component = “conferenceduration.JITSY.TESTSERVER.TLD”
– we need bosh
modules_enabled = {
“bosh”;
“pubsub”;
“ping”; – Enable mod_ping
“speakerstats”;
“turncredentials”;
“conference_duration”;
}
c2s_require_encryption = false

Component “conference.JITSY.TESTSERVER.TLD” “muc”
storage = “none”
modules_enabled = {
“muc_meeting_id”;
“muc_domain_mapper”;
– “token_verification”;
}
admins = { “admin@JITSY.TESTSERVER.TLD” }
muc_room_locking = false
muc_room_default_public_jids = true

– internal muc component
Component “internal.auth.JITSY.TESTSERVER.TLD” “muc”
storage = “none”
modules_enabled = {
“ping”;
}
admins = { “admin@JITSY.TESTSERVER.TLD”, “jvb@auth.JITSY.TESTSERVER.TLD” }
muc_room_locking = false
muc_room_default_public_jids = true

VirtualHost “auth.JITSY.TESTSERVER.TLD”
ssl = {
key = “/etc/prosody/certs/auth.JITSY.TESTSERVER.TLD.key”;
certificate = “/etc/prosody/certs/auth.JITSY.TESTSERVER.TLD.crt”;
}
authentication = “internal_plain”

VirtualHost “guest.JITSY.TESTSERVER.TLD”
authentication = “anonymous”
c2s_require_encryption = false

Component “focus.JITSY.TESTSERVER.TLD”
component_secret = “Pjxe9Qwh”

Component “speakerstats.JITSY.TESTSERVER.TLD” “speakerstats_component”
muc_component = “conference.JITSY.TESTSERVER.TLD”

Component “conferenceduration.JITSY.TESTSERVER.TLD” “conference_duration_component”
muc_component = “conference.JITSY.TESTSERVER.TLD”`

I am running out of ideas and I start wondering if I’m wasting my time on this. Did any of you tried running jitsi in a chroot? Is it even possible?

Kind regards