Prosody: Difference between revisions
domain and disco config |
rm redundant config |
||
(One intermediate revision by the same user not shown) | |||
Line 11: | Line 11: | ||
* Domain of the xmpp address is the bare top level domain example.org. The bare top level domain has SRV records pointing to XMPP server xmpp.example.org. | * Domain of the xmpp address is the bare top level domain example.org. The bare top level domain has SRV records pointing to XMPP server xmpp.example.org. | ||
* XMPP server is hosted | * XMPP server is hosted on xmpp.example.org. | ||
* XMPP services, such as STUN/TURN server, Multi-User Chat and HTTP upload are hosted at *.xmpp.example.org. As *.xmpp.example.org is not a direct subdomain of example.org, we need to set mod_disco to let XMPP client to discover the services. | * XMPP services, such as STUN/TURN server, Multi-User Chat and HTTP upload are hosted at *.xmpp.example.org. As *.xmpp.example.org is not a direct subdomain of example.org, we need to set mod_disco to let XMPP client to discover the services. | ||
Line 19: | Line 19: | ||
description = "http upload"; | description = "http upload"; | ||
url = "upload.xmpp.${domainName}"; | url = "upload.xmpp.${domainName}"; | ||
} | } | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* STUN/TURN server is hosted | * STUN/TURN server is hosted on turn.xmpp.example.org. | ||
* Multi-User Chat is hosted | * Multi-User Chat is hosted on muc.xmpp.example.org. | ||
* HTTP upload server is hosted | * HTTP upload server is hosted on upload.xmpp.example.org. | ||
= SSL Certificate with ACME = | = SSL Certificate with ACME = | ||
Line 101: | Line 97: | ||
} | } | ||
]; | ]; | ||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 121: | Line 111: | ||
# xmpp server for "@example.org" is hosted on "xmpp.example.org" | # xmpp server for "@example.org" is hosted on "xmpp.example.org" | ||
# use SRV records. | # use SRV records. | ||
" | "myvhost0" = { | ||
domain = "${domainName}"; | domain = "${domainName}"; | ||
enabled = true; | enabled = true; | ||
Line 200: | Line 190: | ||
== Connect to prosody == | == Connect to prosody == | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
services.prosody.virtualHosts." | services.prosody.virtualHosts."myvhost0".extraConfig = '' | ||
turn_external_host = "turn.xmpp.${domainName}" | turn_external_host = "turn.xmpp.${domainName}" | ||
turn_external_secret = "unfortunately this is a inline password" | turn_external_secret = "unfortunately this is a inline password" | ||
Line 282: | Line 272: | ||
http_upload_external_base_url = "https://upload.xmpp.${domainName}/upload/" | http_upload_external_base_url = "https://upload.xmpp.${domainName}/upload/" | ||
http_upload_external_file_size_limit = 52428800 | http_upload_external_file_size_limit = 52428800 | ||
''; | ''; | ||
services.prosody.disco_items = [ | services.prosody.disco_items = [ |