Skip to content
Fluxer API

Run your instance

Run these commands on the machine where you installed Fluxer. The command reference lists every flag for each one.

Terminal window
rexctl upgrade

This upgrades rexctl and Fluxer together. It backs up your instance before Fluxer switches to the new version, and if the new version doesn’t start, it goes back to the version you had before.

To see whether there’s a new version without upgrading, run rexctl upgrade --check.

Terminal window
rexctl rollback

This goes back to the version you had before your last upgrade and keeps your database as it is. To also restore the backup rexctl made before the upgrade, add --restore-database.

Terminal window
rexctl backup

This saves your settings, database and uploads in one file in the backups folder of your instance. Fluxer pauses while it copies uploads. Keep a copy of your backups on another machine.

rexctl keeps the newest 3 backups and deletes older ones after each backup, but it always keeps the one rexctl rollback needs. To keep more, run rexctl backup keep 10, or rexctl backup keep all to keep every backup. To save backups on another drive, run rexctl backup location /mnt/backups/fluxer.

To put your instance back the way it was when a backup was made, find the file with rexctl backup list and pass its path to rexctl restore.

Terminal window
rexctl restore /opt/fluxer/backups/fluxer-chat.example.com-20261105-120000.tar.zst

Back up your instance on the old machine and copy the backup file to the new one. On the new machine, install rexctl and restore the backup with one command, run from the folder you copied the backup to.

Terminal window
curl -fsSL https://fluxer.dev/install.sh | sh -s -- restore fluxer-chat.example.com-20261105-120000.tar.zst

Then change your domain’s A record to the new machine’s address.

Create an invite link that 10 people can use within a week.

Terminal window
rexctl invites create --uses 10 --expires 7d

Choose who can create an account with open, approval, invite or closed.

Terminal window
rexctl registration set approval

When registration needs approval, rexctl registration pending lists the people waiting and rexctl registration approve <id> approves one of them.

Make someone an admin.

Terminal window
rexctl admins add alex

Ban an account and delete its messages.

Terminal window
rexctl users ban spammer42 --reason spam --delete-messages

When someone has lost their password and can’t reset it themselves, create a reset link for them.

Set up email for your instance, then send yourself a test email.

Terminal window
rexctl email set
rexctl email test you@example.com

Change your instance’s name, color, logo or icon.

Terminal window
rexctl branding set --name "Example Chat" --logo logo.png

You can also change email and branding in the admin panel, at your instance’s address followed by /admin.

Terminal window
rexctl config list

This lists every setting with its value and a line of help, and says which settings restart Fluxer when you change them. To change one, pass its name and the new value to rexctl config set.

Terminal window
rexctl config set <key> <value>

Each time rexctl starts Fluxer, it sizes memory limits, database connections and thread counts to the machine’s memory and CPUs, so a resized machine needs no changes. The memory.profile setting pins a fixed size instead.

On a machine with little memory, rexctl config set FLUXER_API_EMBEDDED_WORKER true runs background jobs inside the api service instead of a separate worker service. rexctl then removes the worker and adds half of its memory limit to the api.

Terminal window
rexctl doctor

This checks your instance and the machine, and tells you how to fix each problem it finds. rexctl doctor --fix fixes the problems rexctl can fix safely.

rexctl status shows whether each Fluxer service is running, and rexctl logs shows their logs.

To run your instance yourself with docker compose, run rexctl eject. Fluxer keeps running, and rexctl takeover hands it back to rexctl.