rexctl is the setup tool for self-hosting Fluxer. It installs Fluxer with one command on a 64-bit Linux, macOS or Windows machine and then keeps your instance running.
How do I install Fluxer with rexctl?
On Linux or macOS, run this command in a terminal.
curl -fsSL https://fluxer.dev/install.sh | sh
On Windows, run this command in PowerShell.
irm https://fluxer.dev/install.ps1 | iex
The script downloads and starts rexctl, which asks you a few questions about your instance, gets a certificate for your domain and shows your instance's address when it's done.
Your machine needs at least 4 GB of memory, a domain name that points to it and a few open ports. On macOS and Windows, you need to install Docker Desktop before you run the script, and on Linux, rexctl installs Docker for you if it's missing.
How does rexctl upgrade my instance?
rexctl upgrade updates rexctl and Fluxer to the latest release. It backs up your instance first by default, and it goes back to the release you had if the new one doesn't start. You can also go back to your previous release later with rexctl rollback.
With rexctl auto-upgrade on, rexctl upgrades your instance by itself every day or once a week. It can post a notice to a webhook, such as one in Slack, Discord or Gotify, when an upgrade installs a new release or when an upgrade fails.
How do I back up and restore my instance?
rexctl backup saves your instance in one file with the database, search data and uploads. You can restore that file with rexctl restore on the same machine or on a new one, and rexctl backup verify checks that a backup is complete and readable.
What else can rexctl do?
You can manage accounts and admins with rexctl users and rexctl admins, create invite links with rexctl invites and choose who can sign up with rexctl registration. rexctl voice adds voice servers on the same machine or on other machines, and rexctl doctor checks your instance and the machine for problems.
Running rexctl <command> --help shows the help for a command in your terminal, and the operator docs have the same help for every rexctl command.
Do I need rexctl to self-host Fluxer?
No. You can also run Fluxer with Docker Compose or on Kubernetes.
If you installed with rexctl and want to manage the instance yourself, rexctl eject writes every setting into the instance folder for Docker Compose and stops rexctl from changing it. rexctl takeover hands the instance back to rexctl whenever you want.