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