Management
Palpo supports management and auditing through command-line tools. Plans are in place to support administrator APIs and a UI interface in the future.
Launching the Management Interface
To start the command-line interactive interface, run the following command in the directory where the Palpo executable is located:
Here, --config palpo.toml specifies the configuration file to use. If it is the default configuration file palpo.toml in the current directory, this option can be omitted.
--server false indicates that the server should not be started, while --console launches the command-line interactive interface.
You can run palpo --help to view detailed usage instructions.
Note: On Windows, the executable file is named palpo.exe.
Once inside the command-line interactive interface, you can still run the help command to view available management commands.
Command Categories
Palpo supports the following management commands:
appservice: Manage Application Services (bridges)user: Manage local usersroom: Manage roomsfederation: Manage federation with other serversserver: Manage server settings and operationsmedia: Manage media files
User Commands
Create User
Create a new local user account.
<username>: Username for the new user[password]: Optional password; if not provided, a 25-character password is auto-generated
Note: The first user created is automatically granted admin privileges.
Reset Password
Reset a user's password.
<username>: Username of the user[password]: New password; if not provided, one is auto-generated
List Users
List all local user accounts.
Deactivate User
Deactivate a single user account.
<user_id>: Full Matrix ID (e.g.,@username:example.com)--no-leave-rooms: Do not remove user from joined rooms
Deactivate All Users
Bulk deactivate users from a list.
--no-leave-rooms: Do not remove users from joined rooms--force: Also deactivate admin accounts (normally skipped)
The command body must contain a code block with one username per line:
List Joined Rooms
List all rooms where a user is joined.
Force Join Room
Force a local user to join a room.
<user_id>: Username or full Matrix ID<room_id>: Room ID or alias (e.g.,!roomid:example.comor#alias:example.com)
Force Leave Room
Force a local user to leave a room.
Make User Admin
Grant server admin privileges to a local user.
Put Room Tag
Set a room tag for a user.
<tag>: Tag name (e.g.,m.server_noticefor "System Alerts" in Element)
Delete Room Tag
Remove a room tag.
Get Room Tags
List all tags for a user in a room.
Redact Event
Forcefully redact an event sent by a local user.
Force Join List of Local Users
Force a list of local users to join a room.
The command body must contain a code block with usernames.
Force Join All Local Users
Force all local users to join a room.
Room Commands
List Rooms
List all rooms the server knows about.
[page]: Page number (default: 1, 100 rooms per page)--exclude-disabled: Skip rooms with federation disabled--exclude-banned: Skip banned rooms--no-details: Output only room IDs
Room Exists
Check if the server knows about a room.
List Joined Members
List members joined in a room.
View Room Topic
Display the room topic.
Ban Room
Ban a room from local users.
<room>: Room ID or alias
This will:
- Prevent local users from joining
- Evict all local users
- Block invites
- Disable federation with the room
- Unpublish from room directory
Ban List of Rooms
Bulk ban multiple rooms.
The command body must contain a code block with room IDs/aliases.
Unban Room
Unban a room.
List Banned Rooms
List all banned rooms.
Set Room Alias
Create a room alias.
<room_alias_localpart>: Alias name (e.g.,lobbynot#lobby:example.com)--force: Overwrite if alias already in use
Remove Room Alias
Delete a room alias.
Which Room (Alias Lookup)
Find which room an alias points to.
List Aliases
List current local aliases.
Publish Room
Publish a room to the directory.
Unpublish Room
Remove a room from the directory.
List Published Rooms
List rooms in the directory.
Federation Commands
Disable Room Federation
Disable federation for a room.
Enable Room Federation
Re-enable federation for a room.
Fetch Support Well-Known
Fetch /.well-known/matrix/support from a server.
Remote User in Rooms
List rooms shared with a remote user.
Media Commands
Delete Single Media
Delete a media file.
--mxc: MXC URL (e.g.,mxc://example.com/abcd1234)--event-id: Event ID containing media
Delete Media List
Bulk delete MXC URLs.
The command body must contain a code block with MXC URLs.
Delete Past Remote Media
Delete remote media by age.
<duration>: Time duration (e.g.,30s,5m,7d,2w)--before: Delete media created before duration ago--after: Delete media created after duration ago--yes-i-want-to-delete-local-media: Also delete local media
Get File Info
Look up metadata for a media file.
Server Commands
Show Configuration
Display current server configuration.
Reload Configuration
Reload configuration from file.
List Features
Show server features and their status.
--available: Show all available features--enabled: Show only enabled features--comma: Use comma delimiter
Admin Notice
Send a message to the admin room.
Reload Mods
Hot-reload the server.
Restart Server
Restart the server.
--force: Force restart even if executable has changed
Shutdown Server
Shutdown the server.
Appservice Commands
Register Appservice
Register a bridge/appservice.
The command body must contain YAML registration:
Unregister Appservice
Unregister an appservice.
Show Appservice Config
Display appservice registration.
List Appservices
List all registered appservices.
Command Input Formats
Code Block Format
Many commands accept bulk input via code blocks:
Duration Format
Time durations use these units:
s- secondsm- minutesh- hoursd- daysw- weeks
Example: 7d for 7 days, 2w for 2 weeks.
Safety Features
- Confirmation flags for dangerous operations (
--yes-i-want-to-do-this) - Cannot deactivate the server service account
- Cannot ban the admin room
- Prevents overwriting aliases without
--force