fix it !
mkdir -p /etc/janus/ssl/
cp /opt/zextras/conf/domaincerts/mydomen.org.crt /etc/janus/ssl/commercial.crt
cp /opt/zextras/conf/domaincerts/mydomen.org.key /etc/janus/ssl/commercial.key
chown -R videoserver:videoserver /etc/janus/ssl/
chmod 700 /etc/janus/ssl/
chmod 600 /etc/janus/ssl/*
nano /etc/janus/janus.jcfg
certificates: { cert_pem = "/etc/janus/ssl/commercial.crt" cert_key = "/etc/janus/ssl/commercial.key" }
systemctl restart carbonio-videoserver
systemctl restart carbonio-ws-collaboration
systemctl status carbonio-videoserver | grep Active:
Active: active (running)
reboot
I have found a solution.
Indeed one of the issue was the database ownership as @Sharif pointed out
sudo -u postgres psql -d carbonio-message-dispatcher-db -c 'REASSIGN OWNED BY carbonio_adm TO "carbonio-message-dispatcher-db";'
This solved most of the services issue, but the "xmpp_server" was still down.
During some of the past apt upgrades, the installer detected that /etc/carbonio/message-dispatcher/mongooseim.toml had been modified at some point. When prompted whether to overwrite it with the new maintainer's version or keep the existing one, the system defaulted to keeping the old file.
Because Carbonio CE updated the MongooseIM binary to version 6.6 but left behind the old 5.x configuration file, the engine is now trying to parse deprecated TOML arrays and instantly crashing.
The FIX:
We need to replace the outdated configuration file with the correct version shipped by the package distributor, and then let Carbonio re-inject your database credentials into it.
Step 1: Locate and replace the configuration file Navigate to the configuration directory and look for the package manager's fresh copy (usually appended with .dpkg-dist or .dpkg-new).
cd /etc/carbonio/message-dispatcher/ # Backup the broken file mv mongooseim.toml mongooseim.toml.broken # Overwrite it with the fresh distributor template cp mongooseim.toml.dpkg-dist mongooseim.toml # Ensure correct permissions chown carbonio-message-dispatcher:carbonio-message-dispatcher mongooseim.toml
But now manually edit the file to copy over the credentials:
I have copied over the following:
password = "<db-password>" username = "<api-username>" password = "<api-password>"
...but this is still not all - we need to instruct mongooseim how to listen
Edit the mongooseim.toml remove line rdbms_server_type = "pgsql" overwrite [listen.http.handlers.mod_websockets] with [listen.http.handlers.mongoose_websocket_handler] Save the file and test your new config systemctl restart carbonio-message-dispatcher systemctl restart carbonio-ws-collaboration # Wait 10 seconds for the mesh network to sync, then run: curl -s http://127.78.0.4:10000/health | jq
It worked for me
root@carbonio:/etc/carbonio/message-dispatcher# curl -s http://127.78.0.4:10000/health | jq
{
"isLive": true,
"status": "ok",
"dependencies": [
{
"name": "database",
"isHealthy": true
},
{
"name": "authentication_service",
"isHealthy": true
},
{
"name": "profiling_service",
"isHealthy": true
},
{
"name": "xmpp_server",
"isHealthy": true
},
{
"name": "event_dispatcher",
"isHealthy": true
},
{
"name": "storage_service",
"isHealthy": true
},
{
"name": "previewer_service",
"isHealthy": true
},
{
"name": "videoserver_service",
"isHealthy": true
}
]
}
...and this solved the chat issue
sudo nano /etc/systemd/system/carbonio-restart.service
[Unit]
Description=Restart Carbonio Video and Collaboration Services\
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl restart carbonio-message-dispatcher
ExecStart=/usr/bin/systemctl restart carbonio-videoserver
ExecStart=/usr/bin/systemctl restart carbonio-ws-collaboration
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/carbonio-restart.timer
[Unit]
Description=Timer to restart Carbonio services 3 minutes after boot
[Timer]
OnBootSec=3min
Unit=carbonio-restart.service
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now carbonio-restart.timer
systemctl status carbonio-restart.timer
reboot
journalctl -u carbonio-restart.service

