LinuxCommandLibrary

prosodyctl

Manage the Prosody XMPP server

TLDR

Show the status of the Prosody server

$ sudo prosodyctl status
copy

Reload the server's configuration files
$ sudo prosodyctl reload
copy

Add a user to the Prosody XMPP server
$ sudo prosodyctl adduser [user@example.com]
copy

Set a user's password
$ sudo prosodyctl passwd [user@example.com]
copy

Permanently delete a user
$ sudo prosodyctl deluser [user@example.com]
copy

SYNOPSIS

prosodyctl [options] command [args]

PARAMETERS

--config <path>
    Specify alternative configuration file path

--root <path>
    Change root directory (default: /usr/lib/prosody)

--pidfile <path>
    Specify PID file location

--syslog
    Log to syslog instead of stderr

-n, --nodaeon
    Do not daemonize (run in foreground)

-y, --yes
    Answer yes to all confirmation prompts

--verbose
    Increase logging verbosity

-h, --help
    Show command help

--version
    Display Prosody version

DESCRIPTION

prosodyctl is the command-line administration tool for Prosody, a lightweight and flexible XMPP (Jabber) server written in Lua. It provides essential management functions for server operators, including starting, stopping, restarting, and reloading the server process; checking configuration syntax; managing virtual hosts; and handling user accounts.

Designed for production use, prosodyctl supports daemonization, foreground operation, and integration with init systems like systemd or SysV. It performs safety checks, such as verifying config before restarts, and offers verbose logging for troubleshooting. Common workflows include adding/deleting users, listing accounts per domain, changing passwords, and enabling/disabling modules.

prosodyctl requires appropriate privileges (often root or dedicated user) and assumes Prosody is installed via package manager or source. It reads from /etc/prosody/prosody.cfg.lua by default but allows overrides. Ideal for self-hosted chat servers, it emphasizes simplicity and security.

CAVEATS

Requires Prosody user privileges; use systemctl on systemd systems for service management. Always test configs with check before applying.

COMMON COMMANDS

start: Start server daemon
stop: Graceful shutdown
restart: Stop then start
reload: Reload config/host
adduser user@domain: Add user interactively
check: Validate config syntax

USER MANAGEMENT

Supports adduser, deluser, passwd, listusers domain for account ops per virtual host.

HISTORY

Part of Prosody since 0.5.0 (2009), developed by Matthew Wild. Evolved with server versions; modern releases (0.12+) enhance systemd support and security.

SEE ALSO

prosody(8), systemctl(1), service(8)

Copied to clipboard