PROSODYCTL(1)
β¨ PROSODYCTL(1) β the prosodyctl page, bestie edition β¨
okay so. prosodyctl is the manual page for... prosodyctl. shocking, i know. it's the control tool for your Prosody XMPP server and it's about to become your new best friend. section one of the manual, the PROSODYCTL(1) bit, that's us. hi. welcome. π
π NAME π
prosodyctl β manage a Prosody XMPP server
πΈ SYNOPSIS πΈ
prosodyctl command [--help]
π DESCRIPTION π
prosodyctl is the control tool for the Prosody XMPP server. it's giving "i run this whole operation". you can use it to control the server daemon and manage users. two jobs, zero complaints. π
prosodyctl needs to be executed with sufficient privileges to do its little tasks, which typically means running prosodyctl as the root user. BUT β plot twist β if a user named βprosodyβ is found, then prosodyctl will change to that user before executing its commands. it's polite like that. π«Ά
π COMMANDS π
π§ User Management
in the following commands, users are identified by a Jabber ID, jid, of the usual form: user@domain. no cap.
adduser jidβ adds a user with Jabber ID, jid, to the server. you will be prompted to enter the user's password. yes, it asks nicely. πpasswd jidβ changes the password of an existing user with Jabber ID, jid. you will be prompted to enter the user's new password. glow-up for your credentials. β¨deluser jidβ deletes an existing user with Jabber ID, jid, from the server. gone. deleted. not coming back. π
π Daemon Management
okay so even though prosodyctl has commands to manage the prosody daemon, it is recommended that you utilize your distribution's daemon management features if you attained Prosody through a package. like, use the thing your distro gave you. that's the vibe. π
to perform daemon control commands, prosodyctl needs a pidfile value specified in /etc/prosody/prosody.cfg.lua. failure to do so will cause prosodyctl to complain. and honestly? fair. π
startβ starts the prosody server daemon. if run as root,prosodyctlwill attempt to change to a user named βprosodyβ before executing. this operation will block for up to five seconds to wait for the server to execute. hold please. β³stopβ stops the prosody server daemon. this operation will block for up to five seconds to wait for the server to stop executing. also holding. β³restartβ restarts the prosody server daemon. equivalent to runningprosodyctl stopfollowed byprosodyctl start. it's both of them. back to back. periodt. π₯reloadβ signals the prosody server daemon to reload configuration and re-open log files. refresh, but for configs. πstatusβ prints the current execution status of the prosody server daemon. the vibe check, essentially. π¦
π Certificates
prosodyctl can create self-signed certificates, certificate requests and private keys for use with Prosody. commands are of the form prosodyctl cert subcommand. commands take a list of hosts to be included in the certificate. very demure, very mindful. β¨
request hostsβ create a certificate request (CSR) file for submission to a certificate authority. multiple hosts can be given, and sub-domains are automatically included. multitasking icon. πgenerate hostsβ generate a self-signed certificate. it makes its own. independent queen. πkey host [size]β generate a private key ofsizebits (defaults to2048). invoked automatically byrequestandgenerateif needed. lowkey does its own thing in the background. πconfig hostsβ produce a config file for the list of hosts. invoked automatically byrequestandgenerateif needed. also automatic. also iconic. πimport hosts pathsβ copy certificates for hosts into the certificate path and reload prosody. drop 'em in and refresh. π₯
π Debugging
prosodyctl can also show some information about the environment, dependencies and such to aid in debugging. detective mode: activated. π΅οΈ
aboutβ shows environment, various paths used by Prosody and installed dependencies. the full lore drop. πcheck [what]β performs various sanity checks on the configuration, DNS setup and configured TLS certificates. what can be one ofconfig,dns,certs,disabledandconnectivityto run only that check. pick your fighter. β
π Ejabberd Compatibility
ejabberd is another XMPP server which provides a comparable control tool, ejabberdctl, to control its server's operations. prosodyctl implements some commands which are compatible with ejabberdctl. for details of how these commands work you should see ejabberdctl(8). crossover episode, fr fr. π
register user server password
unregister user server
π OPTIONS π
--config filenameβ use the specified config file instead of the default. your file, your rules. π--rootβ don't drop root privileges (e.g. when invoked withsudo). stay in your power era. π--helpβ display help text for the specified command. it's got answers. π«Ά--verboseβ increase log level to show debug messages. give me everything. π’--quietβ reduce log level to only show errors. shhh. only the important stuff. π€«--silentβ disable logging completely, leaving only command output. total silence, just the results. π
π¦ FILES π¦
/etc/prosody/prosody.cfg.luaβ the main prosody configuration file.prosodyctlreads this to determine the process ID file of the prosody server daemon and to determine if a host has been configured. the source of truth, basically. π
π ONLINE π
more information may be found online at: <https://prosody.im/> β go, click, absorb. π
π AUTHORS π
Dwayne Bent <dbb.1@liqd.org>; Kim Alvefur.
and that's the whole page, bestie. this one's from 2022-02-02, part of the Prosody project β so shoutout to Prosody and to everyone who wrote it. slay, protect your XMPP server, and remember: every single detail above is exactly as the original intended. no cap. πβ¨ππ¦πΈπ π«Άππ₯ππβππππ§π
π¦ where this page comes from
- alpine 3.24: prosody-doc 13.0.6-r0 Β· MIT
- debian bookworm: prosody 0.12.3-1+deb12u1 Β· MIT
- epel 10: prosody 13.0.7-1.el10_3 Β· MIT
- epel 9: prosody 13.0.7-1.el9 Β· MIT
- fedora 43: prosody 13.0.2-4.fc43 Β· MIT
- fedora 43: prosody 13.0.7-1.fc43 Β· MIT
- fedora 44: prosody 13.0.4-1.fc44 Β· MIT
- fedora 44: prosody 13.0.7-1.fc44 Β· MIT
- nixos 26.05: prosody 13.0.6
- nixpkgs unstable: prosody 13.0.7
- opensuse-leap 16.0: prosody 0.12.4-bp160.1.12 Β· MIT
- opensuse-leap 16.0: prosody 0.12.4-bp160.1.12 Β· MIT
- opensuse-leap 16.0: prosody 0.12.4-bp160.1.12 Β· MIT
- opensuse-leap 16.0: prosody 0.12.4-bp160.1.12 Β· MIT
- ubuntu noble: prosody 0.12.4-1build3 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms