Skip to content

Prosody

services.prosody.admins

List of administrators of the current host Type: list of string

Default

[ ]

Example

["admin1@example.com""admin2@example.com"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.allowRegistration

Allow account creation Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.authentication

Authentication mechanism used for logins. Type: one of "internal_plain", "internal_hashed", "cyrus", "anonymous"

Default

"internal_hashed"

Example

"internal_plain"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.c2sRequireEncryption

Force clients to use encrypted connections? This option will prevent clients from authenticating unless they are using encryption.

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.dataDir

The prosody home directory used to store all data. If left as the default value this directory will automatically be created before the prosody server starts, otherwise you are responsible for ensuring the directory exists with appropriate ownership and permissions.

Type: path

Default

"/var/lib/prosody"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.disco_items

List of discoverable items you want to advertise. Type: list of (submodule)

Default

[ ]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.disco_items.*.description

A short description of the endpoint you want to advertise Type: string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.disco_items.*.url

URL of the endpoint you want to make discoverable Type: string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.enable

Whether to enable the prosody server Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.extraConfig

Additional prosody configuration Type: strings concatenated with "\n"

Default

""

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.extraModules

Enable custom modules Type: list of string

Default

[ ]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.extraPluginPaths

Additional path in which to look find plugins/modules Type: list of path

Default

[ ]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.group

Group account under which prosody runs.

::: {.note} If left as the default value this group will automatically be created on system activation, otherwise you are responsible for ensuring the group exists before the prosody service starts. :::

Type: string

Default

"prosody"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpFileShare

Configures the http_file_share module to handle user uploads.

Type: null or (int, bool, string or list of them)

Default

null

Example

{domain = "uploads.my-xmpp-example-host.org";}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpFileShare.domain

Domain name for a http_file_share service. Type: null or string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpInterfaces

Interfaces on which the HTTP server will listen on. Type: list of string

Default

["*""::"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpPorts

Listening HTTP ports list for this service. Type: list of signed integer

Default

[5280]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpsInterfaces

Interfaces on which the HTTPS server will listen on. Type: list of string

Default

["*""::"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.httpsPorts

Listening HTTPS ports list for this service. Type: list of signed integer

Default

[5281]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.log

Logging configuration. See for more details Type: strings concatenated with "\n"

Default

"\"*syslog\""

Example

'' { { min = "warn"; to = "*syslog"; }; }''

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.admin_adhoc

Allows administration via an XMPP client that supports ad-hoc commands Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.admin_telnet

Opens telnet console interface on localhost port 5582 Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.announce

Send announcement to all online users Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.blocklist

Allow users to block communications with other users Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.bookmarks

Allows interop between older clients that use XEP-0048: Bookmarks in its 1.0 version and recent clients which use it in PEP Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.bosh

Enable BOSH clients, aka 'Jabber over HTTP' Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.carbons

Keep multiple clients in sync Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.cloud_notify

Push notifications to inform users of new messages or other pertinent information even when they have no XMPP clients online Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.csi

Implements the CSI protocol that allows clients to report their active/inactive state to the server Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.dialback

s2s dialback support Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.disco

Service discovery Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.groups

Shared roster support Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.http_files

Serve static files from a directory over HTTP Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.legacyauth

Legacy authentication. Only used by some old clients and bots Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.limits

Enable bandwidth limiting for XMPP connections Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.mam

Store messages in an archive and allow users to access it Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.motd

Send a message to users when they log in Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.pep

Enables users to publish their mood, activity, playing music and more Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.ping

Replies to XMPP pings with pongs Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.private

Private XML storage (for room bookmarks, etc.) Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.proxy65

Enables a file transfer proxy service which clients behind NAT can use Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.register

Allow users to register on this server using a client and change passwords Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.roster

Allow users to have a roster Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.saslauth

Authentication for clients and servers. Recommended if you want to log in. Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.server_contact_info

Publish contact information for this service Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.smacks

Allow a client to resume a disconnected session, and prevent message loss Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.time

Let others know the time here on this server Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.tls

Add support for secure TLS on c2s/s2s connections Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.uptime

Report how long server has been running Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.vcard

Allow users to set vCards Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.vcard_legacy

Converts users profiles and Avatars between old and new formats Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.version

Replies to server version requests Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.watchregistrations

Alert admins of registrations Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.websocket

Enable WebSocket support Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.modules.welcome

Welcome users who register accounts Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc

Multi User Chat (MUC) configuration Type: list of (submodule)

Default

[ ]

Example

[{domain = "conference.my-xmpp-example-host.org";}]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.domain

Domain name of the MUC Type: string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.extraConfig

Additional MUC specific configuration Type: strings concatenated with "\n"

Default

""

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.maxHistoryMessages

Specifies a limit on what each room can be configured to keep Type: signed integer

Default

20

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.name

The name to return in service discovery responses for the MUC service itself Type: string

Default

"Prosody Chatrooms"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.restrictRoomCreation

Restrict room creation to server admins Type: one of true, false, "admin", "local"

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultChangeSubject

If set, the rooms will display the public JIDs by default. Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultHistoryLength

Number of history message sent to participants by default. Type: signed integer

Default

20

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultLanguage

Default room language. Type: string

Default

"en"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultMembersOnly

If set, the MUC rooms will only be accessible to the members by default. Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultModerated

If set, the MUC rooms will be moderated by default. Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultPublic

If set, the MUC rooms will be public by default. Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomDefaultPublicJids

If set, the MUC rooms will display the public JIDs by default. Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomLockTimeout

Timeout after which the room is destroyed or unlocked if not configured, in seconds

Type: signed integer

Default

300

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.roomLocking

Enables room locking, which means that a room must be configured before it can be used. Locked rooms are invisible and cannot be entered by anyone but the creator

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.tombstoneExpiry

This settings controls how long a tombstone is considered valid. It defaults to 31 days. After this time, the room in question can be created again.

Type: signed integer

Default

2678400

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.tombstones

When a room is destroyed, it leaves behind a tombstone which prevents the room being entered or recreated. It also allows anyone who was not in the room at the time it was destroyed to learn about it, and to update their bookmarks. Tombstones prevents the case where someone could recreate a previously semi-anonymous room in order to learn the real JIDs of those who often join there.

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.muc.*.vcard_muc

Adds the ability to set vCard for Multi User Chat rooms Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.package

The prosody package to use. Type: package

Default

pkgs.prosody

Example

pkgs.prosody.override {withExtraLibs = [ pkgs.luaPackages.lpty ];withCommunityModules = [ "auth_external" ];};

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.s2sInsecureDomains

Some servers have invalid or self-signed certificates. You can list remote domains here that will not be required to authenticate using certificates. They will be authenticated using DNS instead, even when s2s_secure_auth is enabled.

Type: list of string

Default

[ ]

Example

["insecure.example.com"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.s2sRequireEncryption

Force servers to use encrypted connections? This option will prevent servers from authenticating unless they are using encryption. Note that this is different from authentication.

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.s2sSecureAuth

Force certificate authentication for server-to-server connections? This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates. For more information see https://prosody.im/doc/s2s#security

Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.s2sSecureDomains

Even if you leave s2s_secure_auth disabled, you can still require valid certificates for some domains by specifying a list here.

Type: list of string

Default

[ ]

Example

["jabber.org"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.ssl

Paths to SSL files Type: null or (submodule)

Default

null

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.ssl.cert

Path to the certificate file. Type: path

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.ssl.extraOptions

Extra SSL configuration options. Type: attribute set

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.ssl.key

Path to the key file. Type: path

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp

Configures the old Prosody builtin HTTP server to handle user uploads.

Type: null or (submodule)

Default

null

Example

{domain = "uploads.my-xmpp-example-host.org";}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp.domain

Domain name for the http-upload service Type: null or string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp.httpUploadPath

Directory where the uploaded files will be stored when the http_upload module is used. By default, uploaded files are put in a sub-directory of the default Prosody storage path (usually /var/lib/prosody).

Type: string

Default

"/var/lib/prosody"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp.uploadExpireAfter

Max age of a file before it gets deleted, in seconds. Type: string

Default

"60 * 60 * 24 * 7"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp.uploadFileSizeLimit

Maximum file size, in bytes. Defaults to 50MB. Type: string

Default

"50 * 1024 * 1024"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.uploadHttp.userQuota

Maximum size of all uploaded files per user, in bytes. There will be no quota if this option is set to null.

Type: null or signed integer

Default

null

Example

1234

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.user

User account under which prosody runs.

::: {.note} If left as the default value this user will automatically be created on system activation, otherwise you are responsible for ensuring the user exists before the prosody service starts. :::

Type: string

Default

"prosody"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts

Define the virtual hosts Type: attribute set of (submodule)

Default

{localhost = {domain = "localhost";enabled = true;};}

Example

{myhost = {domain = "my-xmpp-example-host.org";enabled = true;};}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.domain

Domain name Type: string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.enabled

Whether to enable the virtual host Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.extraConfig

Additional virtual host specific configuration Type: strings concatenated with "\n"

Default

""

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.ssl

Paths to SSL files Type: null or (submodule)

Default

null

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.ssl.cert

Path to the certificate file. Type: path

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.ssl.extraOptions

Extra SSL configuration options. Type: attribute set

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.virtualHosts.<name>.ssl.key

Path to the key file. Type: path

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix

services.prosody.xmppComplianceSuite

The XEP-0423 defines a set of recommended XEPs to implement for a server. It's generally a good idea to implement this set of extensions if you want to provide your users with a good XMPP experience.

This NixOS module aims to provide a "advanced server" experience as per defined in the XEP-0423[1] specification.

Setting this option to true will prevent you from building a NixOS configuration which won't comply with this standard. You can explicitly decide to ignore this standard if you know what you are doing by setting this option to false.

[1] https://xmpp.org/extensions/xep-0423.html

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/prosody.nix