Newbie Question on FSH/MUC

7 views
Skip to first unread message

Jürgen Barthel

unread,
May 25, 2026, 7:07:32 AM (6 days ago) May 25
to Prosody IM Users
I am setting up Prosody and questions arose.

File Sharing + Group Chats. We cover users from several domains on our server. In the lua file, there is one setting in the file for the main VirtualHost and I am being told, this covers all domains. But on prosodyctl check features, it raises (!) for the other domains. My system support tells me
" If you have already configured any of these components, they may not be linked correctly to [domain]", that would be the "may". Now I distrust from experience when a warning is ignored.
The secondary domains are to set up users with their respective domain. So do they need their own fileshare and MUC crt/key-pair and address? Or is it true the fileshare/MUC is automatically used by the secondary domains? Can I tell in the .cfg.lua to use the main fileshare/MUC address?
Suggesting to copy simply over to the other (secondary) .cfg.lua I was warned: "Prosody's config loader treats all .cfg.lua files as one merged configuration. If you define Component "conf.c-orbis.org" or Component "xmppfsh.c-orbis.org" a second time in a different file, Prosody will either error on startup or produce undefined/conflicting behavior. Components must be defined exactly once globally." Such seeking help here to avoid mistakes before we go live.

# cat [maindomain].cfg.lua
VirtualHost "[maindomain]"
    ssl = {
        certificate = "/etc/prosody/certs/[maindomain].crt";
        key = "/etc/prosody/certs/[maindomain].key";
    }
Component "conf.[maindomain]" "muc"
    name = "[MainDomainName] Chatrooms"
    ssl = {
        certificate = "/etc/prosody/certs/conf.[maindomain].crt";
        key = "/etc/prosody/certs/conf.[maindomain].key";
    }
    modules_enabled = {
        "muc_mam";
        "mam";
    }
Component "xmppfsh.[maindomain]" "http_file_share"
    ssl = {
        certificate = "/etc/prosody/certs/xmppfsh.[maindomain].crt";
        key = "/etc/prosody/certs/xmppfsh.[maindomain].key";
    }
    http_file_share_expires_after = "1w"
    http_file_share_path = "/mnt/warehouse14/prosody/fileshare"


# cat [secondarydomain].cfg.lua
VirtualHost "[secondarydomain]"
    ssl = {
        certificate = "/etc/prosody/certs/[secondarydomain].crt";
        key = "/etc/prosody/certs/[secondarydomain].key";
    }
[no Components]
Reply all
Reply to author
Forward
0 new messages