Skip to content
Fluxer API

rexctl commands

This page is made from the help that rexctl prints, and rexctl <command> --help shows the same text in the terminal.

  • --dir string

    Folder with your instance.

  • -q, --quiet

    Print only errors and results.

  • --verbose

    Print every step and command.

  • -y, --yes

    Answer yes to every question and never prompt.

Choose who can manage your instance.

Make an account an admin.

Terminal window
rexctl admins add <user>

Remove admin access from an account.

Terminal window
rexctl admins remove <user>

Print a link that signs an admin in once.

Terminal window
rexctl admins sign-in-link <user>

Back up your instance. Fluxer pauses while uploads are copied.

Terminal window
rexctl backup

Show or change how many backups rexctl keeps. After each backup, rexctl deletes the oldest ones beyond this number, except the backup that rexctl rollback needs. Pass all to keep every backup.

Terminal window
rexctl backup keep [count|all] [flags]
  • --json

    Print JSON.

List your backups.

Terminal window
rexctl backup list [flags]
  • --json

    Print JSON.

Show the folder rexctl saves backups in, or pass a full path to save new backups there. Backups that are already saved stay where they are.

Terminal window
rexctl backup location [folder] [flags]
  • --json

    Print JSON.

Check that a backup is complete and readable.

Terminal window
rexctl backup verify <file>

Change your instance’s name, colour and images.

Change the name, colour, logo or icon.

Terminal window
rexctl branding set [flags]
  • --colour string

    Accent colour as a hex code, like #4641d9.

  • --icon string

    Image file for the icon.

  • --logo string

    Image file for the logo.

  • --name string

    Your instance’s name.

Read and change Fluxer’s settings.

Show one setting.

Terminal window
rexctl config get <key> [flags]
  • --json

    Print JSON.

  • --reveal

    Print a secret rexctl keeps.

List every setting with its value and help.

Terminal window
rexctl config list [flags]
  • --all

    Also list every raw setting and the secrets rexctl generated.

  • --json

    Print JSON.

Change one or more settings.

Terminal window
rexctl config set <key> <value> | <key>=<value>...

Go back to the default for one or more settings.

Terminal window
rexctl config unset <key>...

Check your instance and this machine for problems.

Terminal window
rexctl doctor [flags]
  • --fix

    Fix the problems rexctl can fix safely.

  • --json

    Print JSON.

Writes every setting into the instance folder for docker compose and stops rexctl from changing the instance. Fluxer keeps running. Run rexctl takeover to hand it back.

Terminal window
rexctl eject

Set up how your instance sends email.

Stop sending email.

Terminal window
rexctl email off

Set the SMTP server.

Terminal window
rexctl email set [flags]
  • --from string

    Sender, like Example Chat <noreply@chat.example.com>.

  • --host string

    The SMTP server.

  • --password-file string

    File with the SMTP password, or - for stdin.

  • --port int

    The SMTP port. The default is 587.

  • --tls string

    How the connection is encrypted (starttls, implicit, opportunistic or none). Picked from the port when left out.

  • --username string

    The username for the SMTP server.

Send a test email.

Terminal window
rexctl email test [address]

Install Fluxer on this machine, or take over an existing install.

Terminal window
rexctl install [flags]
  • --admin-email string

    Email address for your admin account.

  • --admin-password-file string

    File with your admin password, or - for stdin.

  • --admin-username string

    Username for your admin account.

  • --behind-proxy

    Serve plain HTTP for your own reverse proxy.

  • --bind string

    Address your proxy connects to, with —behind-proxy. The default is 127.0.0.1:8080.

  • --confirm string

    Your instance’s domain, to confirm without a prompt.

  • --delete-old-data

    Delete Fluxer data found on this machine and start fresh.

  • --domain string

    Address people will use to open your instance, like chat.example.com.

  • --dry-run

    Show what would happen without changing anything.

  • --engine string

    Container engine to use (docker or podman).

  • --install-docker

    Install Docker if it’s missing. The default is true.

  • --memory-profile string

    Pin small, medium or large instead of sizing Fluxer to this machine on every start.

  • --name string

    Your instance’s name.

  • --no-start

    Write the files without starting Fluxer.

  • --open-firewall

    Open the ports Fluxer needs in ufw or firewalld. The default is true.

  • --registration string

    Who can create an account (invite, approval, open or closed).

  • --setup string

    Where to create your admin account (terminal or browser).

  • --setup-podman

    Start Podman’s API socket and start Fluxer with the machine. The default is true.

  • --sign-in string

    How people sign in (email or username).

  • --skip-email

    Set up email later.

  • --smtp-from string

    Sender, like Example Chat <noreply@chat.example.com>.

  • --smtp-host string

    The SMTP server.

  • --smtp-password-file string

    File with the SMTP password, or - for stdin.

  • --smtp-port int

    The SMTP port. The default is 587.

  • --smtp-tls string

    How the connection is encrypted (starttls, implicit, opportunistic or none). Picked from the port when left out.

  • --smtp-username string

    The username for the SMTP server.

  • --storage-access-key string

    The object store access key.

  • --storage-bucket-prefix string

    Text to put before each bucket name, like chat- for chat-fluxer.

  • --storage-endpoint string

    Your own S3-compatible object store, like https://s3.example.com, instead of the bundled one.

  • --storage-path-style

    Put the bucket in the path of object store addresses instead of the host name. The default is true.

  • --storage-public-endpoint string

    The object store address browsers use, when it differs from —storage-endpoint.

  • --storage-region string

    The object store region (found from —storage-endpoint when it can be).

  • --storage-secret-key-file string

    File with the object store secret key, or - for stdin.

  • --take-over

    Take over Fluxer data found on this machine.

  • --voice-ip string

    Public IP address for voice and video (found automatically).

Manage invite links for new accounts.

Create an invite link.

Terminal window
rexctl invites create [flags]
  • --expires string

    How long the link works, like 12h, 7d or never. The default is 7d.

  • --label string

    A note to help you recognise the link.

  • --uses int

    How many people can use the link, or 0 for no limit. The default is 1.

List invite links.

Terminal window
rexctl invites list [flags]
  • --json

    Print JSON.

Stop an invite link from working.

Terminal window
rexctl invites revoke <id>

Show logs from your instance.

The services are web, api, worker, gateway, voice, media, edge, admin, push, database, search, storage, cache, queue and internal. Without a service, rexctl shows every service.

Terminal window
rexctl logs [service] [flags]
  • -f, --follow

    Keep printing new lines.

  • --since string

    Show lines newer than this, like 10m or 2h.

Use your own reverse proxy in front of Fluxer.

Serve HTTPS directly with a certificate from Let’s Encrypt.

Terminal window
rexctl proxy off

Serve plain HTTP for your own proxy.

Terminal window
rexctl proxy on [flags]
  • --bind string

    Address your proxy connects to. The default is 127.0.0.1:8080.

Choose who can create an account.

Approve a person waiting for approval.

Terminal window
rexctl registration approve <id>

Turn down a person waiting for approval.

Terminal window
rexctl registration deny <id>

List people waiting for approval.

Terminal window
rexctl registration pending [flags]
  • --json

    Print JSON.

Set who can create an account.

Terminal window
rexctl registration set <open|approval|invite|closed>

Restart your instance.

Terminal window
rexctl restart

Restore your instance from a backup. This works on a new machine too. Copy the backup file there and run this command.

Terminal window
rexctl restore <file> [flags]
  • --confirm string

    Your instance’s domain, to confirm without a prompt.

  • --engine string

    Move the instance to another engine while restoring (docker).

Go back to the release you ran before the last upgrade.

Terminal window
rexctl rollback [flags]
  • --confirm string

    Your instance’s domain, to confirm without a prompt.

  • --dry-run

    Show what would happen without changing anything.

  • --restore-database

    Also restore the database from the backup taken before the upgrade.

Create the admin account and finish setup in the terminal.

Terminal window
rexctl setup [flags]
  • --admin-email string

    Email address for your admin account.

  • --admin-password-file string

    File with your admin password, or - for stdin.

  • --admin-username string

    Username for your admin account.

  • --name string

    Your instance’s name.

  • --registration string

    Who can create an account (invite, approval, open or closed).

  • --sign-in string

    How people sign in (email or username).

  • --skip-email

    Set up email later.

  • --smtp-from string

    Sender, like Example Chat <noreply@chat.example.com>.

  • --smtp-host string

    The SMTP server.

  • --smtp-password-file string

    File with the SMTP password, or - for stdin.

  • --smtp-port int

    The SMTP port. The default is 587.

  • --smtp-tls string

    How the connection is encrypted (starttls, implicit, opportunistic or none). Picked from the port when left out.

  • --smtp-username string

    The username for the SMTP server.

Show the setup token for the browser.

Terminal window
rexctl setup token

Start your instance.

Terminal window
rexctl start

Show whether your instance is running.

Terminal window
rexctl status [flags]
  • --json

    Print JSON.

Stop your instance.

Terminal window
rexctl stop

Hands an instance made by the old installer, by hand with docker compose, or released with rexctl eject over to rexctl. Fluxer keeps running as it is.

Terminal window
rexctl takeover [flags]
  • --dry-run

    Show what would change without changing anything.

Remove Fluxer from this machine.

Terminal window
rexctl uninstall [flags]
  • --confirm string

    Your instance’s domain, to confirm without a prompt.

  • --keep-data

    Keep your data and backups.

Upgrade rexctl and Fluxer to the latest release.

Terminal window
rexctl upgrade [flags]
  • --check

    Show whether an upgrade is available without changing anything.

  • --dry-run

    Show what would happen without changing anything.

  • --json

    Print JSON.

  • --no-backup

    Skip the backup before upgrading.

  • --prefetch

    Download the new version and upgrade later.

  • --to string

    Upgrade to this version, not the latest.

Manage accounts on your instance.

Ban an account.

Terminal window
rexctl users ban <user> [flags]
  • --delete-messages

    Also delete their messages.

  • --reason string

    Why you’re banning them, one of spam, scam, harassment, hate, threats, raids, automation, ban-evasion, impersonation, malware, doxxing, intimate-images, explicit-content, adult-content, violence, self-harm, illegal, deception, exploits or report-abuse.

Create an account and print a link to set its password.

Terminal window
rexctl users create <username> [flags]
  • --admin

    Make the account an admin.

  • --email string

    Email address for the account.

Delete an account and its data.

Terminal window
rexctl users delete <user> [flags]
  • --confirm string

    Your instance’s domain, to confirm without a prompt.

Turn off two-factor authentication for an account.

Terminal window
rexctl users disable-mfa <user>

List accounts.

Terminal window
rexctl users list [flags]
  • --admins

    Only show admins.

  • --json

    Print JSON.

  • --search string

    Only show accounts that match this text.

Print a link to set a new password.

Terminal window
rexctl users reset-link <user>

Show one account.

Terminal window
rexctl users show <user> [flags]
  • --json

    Print JSON.

Sign an account out everywhere.

Terminal window
rexctl users sign-out <user>

Lift a ban.

Terminal window
rexctl users unban <user>

Show the rexctl and Fluxer versions.

Terminal window
rexctl version [flags]
  • --json

    Print JSON.