jitsi / docker-jitsi-meet

Jitsi Meet on Docker
https://hub.docker.com/u/jitsi/
Apache License 2.0
3.08k stars 1.37k forks source link

Prosody was unable to find the configuration file. #948

Open T-101 opened 3 years ago

T-101 commented 3 years ago

Procedures to replicate on Ubuntu 20.04 server:

  1. git pull
  2. cp env.example .env
  3. ./gen-passwords.sh
  4. mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
  5. docker-compose up

and you find yourself with loops of jicofo crashing and prosody telling:

prosody_1  | Prosody was unable to find the configuration file.
prosody_1  | We looked for: /etc/prosody//config/prosody.cfg.lua
saghul commented 3 years ago

That's odd. Any chance you ran the containers as root?

T-101 commented 3 years ago

I never run docker as root. And that machine where I tested is already running a few unrelated django docker projects.

I went even further, and copied a working docker-jitsi-meet directory from another machine, and tried building that. It failed on the same error.

Sounds like a possible upstream error to me.

saghul commented 3 years ago

I'll try to repro later. Can you check what Prosody version you're running in that container?

T-101 commented 3 years ago

jitsi/prosody:latest

saghul commented 3 years ago

I just tried it but couldn't reproduce it:

``` prosody_1 | startup info Hello and welcome to Prosody version 0.11.7 prosody_1 | saslauthd[255] :num_procs : 5 prosody_1 | saslauthd[255] :mech_option: /etc/saslauthd.conf prosody_1 | saslauthd[255] :run_path : /var/run/saslauthd prosody_1 | saslauthd[255] :auth_mech : ldap prosody_1 | saslauthd[255] :mmaped shared memory segment on file: /var/run/saslauthd/cache.mmap prosody_1 | saslauthd[255] :bucket size: 96 bytes prosody_1 | saslauthd[255] :stats size : 36 bytes prosody_1 | saslauthd[255] :timeout : 28800 seconds prosody_1 | saslauthd[255] :cache table: 985828 total bytes prosody_1 | saslauthd[255] :cache table: 1711 slots prosody_1 | saslauthd[255] :cache table: 10266 buckets prosody_1 | saslauthd[255] :flock file opened at /var/run/saslauthd/cache.flock prosody_1 | saslauthd[255] :using accept lock file: /var/run/saslauthd/mux.accept prosody_1 | saslauthd[255] :master pid is: 0 prosody_1 | saslauthd[255] :listening on socket: /var/run/saslauthd/mux prosody_1 | saslauthd[255] :using process model prosody_1 | saslauthd[255] :forked child: 271 prosody_1 | saslauthd[271] :acquired accept lock prosody_1 | saslauthd[255] :forked child: 272 prosody_1 | saslauthd[255] :forked child: 273 prosody_1 | saslauthd[255] :forked child: 274 prosody_1 | startup info Prosody is using the epoll backend for connection handling prosody_1 | general info Starting conference duration timer for muc.meet.jitsi prosody_1 | conferenceduration.meet.jitsi:conference_duration_component info No muc component found, will listen for it: muc.meet.jitsi prosody_1 | conferenceduration.meet.jitsi:tls info Certificates loaded prosody_1 | portmanager info Activated service 'c2s' on [::]:5222, [*]:5222 prosody_1 | portmanager info Activated service 'legacy_ssl' on no ports prosody_1 | auth.meet.jitsi:tls info Certificates loaded prosody_1 | general info Starting speakerstats for muc.meet.jitsi prosody_1 | speakerstats.meet.jitsi:speakerstats_component info No muc component found, will listen for it: muc.meet.jitsi prosody_1 | speakerstats.meet.jitsi:tls info Certificates loaded prosody_1 | lobby.meet.jitsi:tls info Certificates loaded prosody_1 | internal-muc.meet.jitsi:tls info Certificates loaded prosody_1 | conferenceduration.meet.jitsi:conference_duration_component info Hook to muc events on muc.meet.jitsi prosody_1 | speakerstats.meet.jitsi:speakerstats_component info Hook to muc events on muc.meet.jitsi prosody_1 | muc.meet.jitsi:tls info Certificates loaded prosody_1 | meet.jitsi:tls info Certificates loaded prosody_1 | meet.jitsi:muc_lobby_rooms info Lobby component loaded lobby.meet.jitsi prosody_1 | portmanager info Activated service 'http' on [::]:5280, [*]:5280 prosody_1 | portmanager info Activated service 'https' on no ports prosody_1 | portmanager info Activated service 'component' on [*]:5347 prosody_1 | focus.meet.jitsi:tls info Certificates loaded prosody_1 | guest.meet.jitsi:auth_token warn WARNING - empty tokens allowed prosody_1 | guest.meet.jitsi:tls info Certificates loaded prosody_1 | recorder.meet.jitsi:tls info Certificates loaded prosody_1 | c2s5578ca10b1f0 info Client connected prosody_1 | c2s5578c9da5dd0 info Client connected prosody_1 | c2s5578ca10b1f0 info Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384) prosody_1 | c2s5578ca10b1f0 info Authenticated as jvb@auth.meet.jitsi prosody_1 | c2s5578c9da5dd0 info Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384) prosody_1 | c2s5578c9da5dd0 info Authenticated as focus@auth.meet.jitsi prosody_1 | jcp5578c9d94210 info Incoming Jabber component connection prosody_1 | focus.meet.jitsi:component info External component successfully authenticated ```

Can you get the full output of the Prosody container?

T-101 commented 3 years ago

Allright, this seems to be an issue in docker, automatically putting files inside the container as owned by root. (I am still not running docker as root)

I went for the nuclear option an went into each container and chmod the files inside to prosody/jicofo/jvb and got a little further. Frontpage still not loading though, and I probably shouldn't chmod ALL files starting from container root

EDIT: got it to open the front page, when trying to enter a room, it is stuck in a "You have been disconnected loop" EDIT2: the same exact thing happens on the mac btw

Papillon6814 commented 1 year ago

Hello, I have a same issue on ECS service. Anyone has ever resolved this?