Difference between revisions of "Prosody"

From Organic Design wiki
m (See also)
(Chatrooms: conf)
Line 1: Line 1:
 
{{stub}}
 
{{stub}}
 
[https://prosody.im Prosody] is a light-weight, easy to configure, [[XMPP]] server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the [[Semantic Web]] movement which is all about achieving the functionality we need using open standards instead of specific applications.
 
[https://prosody.im Prosody] is a light-weight, easy to configure, [[XMPP]] server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the [[Semantic Web]] movement which is all about achieving the functionality we need using open standards instead of specific applications.
 +
 +
== Configuration ==
 +
The ''prosody'' configuration is in ''/etc/prosody'' with a similar style to ''Apache'' or ''Nginx'' where individual site's configuration each exist in their own file in the ''conf.avail'' sub-directory usually having a filename matching the domain name. Sites are then enabled by creating sym-links in the ''conf.d'' sub-directory pointing to the available sites.
 +
 +
Here's an example configurtion file for a specific domain which is set up as a chatroom server starting with the familiar ''VirtualHost'' directive to indicate the domain that this configuration covers.
 +
<source lang="lua">
 +
VirtualHost "xmpp.dharma.casa"
 +
 +
ssl = {
 +
key = "/etc/prosody/certs/xmpp.dharma.casa.key";
 +
certificate = "/etc/prosody/certs/xmpp.dharma.casa.crt";
 +
}
 +
 +
admins = { "aran@xmpp.dharma.casa" }
 +
 +
Component "conference.xmpp.dharma.casa" "muc"
 +
name = "The dharma.casa XMPP chatrooms server"
 +
restrict_room_creation = true
 +
allow_registration = false
 +
c2s_require_encryption = true
 +
s2s_require_encryption = true
 +
modules_enabled = {
 +
"tls",
 +
"roster",
 +
"register"
 +
}
 +
</source>
  
 
== Chatrooms ==
 
== Chatrooms ==

Revision as of 23:58, 8 May 2020

Cone.png This article or section is a stub. Stubs are articles that have not yet received substantial attention from the authors. They are short or insufficient pieces of information and require additions to further increase the article's usefulness. The project values stubs as useful first steps toward complete articles.

Prosody is a light-weight, easy to configure, XMPP server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the Semantic Web movement which is all about achieving the functionality we need using open standards instead of specific applications.

Configuration

The prosody configuration is in /etc/prosody with a similar style to Apache or Nginx where individual site's configuration each exist in their own file in the conf.avail sub-directory usually having a filename matching the domain name. Sites are then enabled by creating sym-links in the conf.d sub-directory pointing to the available sites.

Here's an example configurtion file for a specific domain which is set up as a chatroom server starting with the familiar VirtualHost directive to indicate the domain that this configuration covers.

VirtualHost "xmpp.dharma.casa"

	ssl = { 
		key = "/etc/prosody/certs/xmpp.dharma.casa.key";
		certificate = "/etc/prosody/certs/xmpp.dharma.casa.crt";
	}

admins = { "aran@xmpp.dharma.casa" }

Component "conference.xmpp.dharma.casa" "muc"
	name = "The dharma.casa XMPP chatrooms server"
	restrict_room_creation = true
	allow_registration = false
	c2s_require_encryption = true
	s2s_require_encryption = true
	modules_enabled = {
		"tls",
		"roster",
		"register"
	}

Chatrooms

SSL

Todo: import script needed for LE certs, can use LE's hook

Using the Prosody server that ships with Jitsi

See also