Ubuntu 22.04 安装 Fluxer 2026.1025.41605 指南

在 Ubuntu 22.04 上用 rexctl 从零安装 Fluxer 2026.1025.41605,含非交互参数、安装验证、升级回滚与卸载的完整实测。

FluxerFluxer即时通讯Ubuntu 22.04自托管2026/10/25

Ubuntu 22.04 安装 Fluxer 2026.1025.41605 指南

目标:在 Ubuntu 22.04 服务器上用官方运维工具 rexctl 从零安装一套可登录使用的 Fluxer 自托管实例(文字/语音频道 IM),含验证、开机自启、升级与卸载。所有命令与回显均来自 2026-10-25 的真实装机实测(Ubuntu 22.04.5 LTS / rexctl 2026.1025.41605 / Docker 29.1.3)。

一、环境信息

  • 操作系统:Ubuntu 22.04.5 LTS(amd64)
  • 组件版本:Fluxer 2026.1025.41605(rexctl 与实例同版本;日历化版本号「年.月日.构建号」)
  • 安装器:rexctl 2026.1025.41605(Go 编写的官方运维 CLI,单二进制)
  • 运行引擎:Docker 29.1.3(Ubuntu 22.04 仓库 docker.io 包,rexctl 要求 Docker ≥ 24.0.0,实测满足)
  • 实例目录:/opt/fluxer(编排文件、证书、备份、状态)
  • 监听端口:80/443(Web 与 API,本实测以 8080 纯 HTTP 形态验证)、7881/TCP 与 7882/UDP(语音视频)
  • 演示账号:管理员 root / 密码 q1w2e3r4
  • 最低硬件(官方口径):2 核 CPU / 4 GB 内存 / 20 GB 磁盘,约支撑 1000 人同时在线

⚠️ 交付形态说明:Fluxer 没有「编译装到裸机」的安装形态——服务端以一组官方构建的部署单元(镜像)交付,由 rexctl 在服务器上统一编排与托管。对管理员而言,日常操作对象是 rexctl 命令与 systemd 服务,而非逐个进程;这与 GitLab Omnibus「一个包装一切」的思路类似。想完全手工编排见本专栏《Fluxer 2026.1025.41605 Docker Compose 部署指南》。

二、前置条件

2.1 硬件与系统

  • 64 位 Ubuntu 22.04(amd64/arm64 均可),≥ 2 核 CPU、≥ 4 GB 内存、≥ 20 GB 可用磁盘;
  • root 或 sudo 权限;
  • 基础工具:curl、ca-certificates。
apt-get update && apt-get install -y curl ca-certificates

实测回显(节选):

Setting up ca-certificates (20230311ubuntu0.22.04.1) ...
...
Processing triggers for ca-certificates (20230311ubuntu0.22.04.1) ...

2.2 域名与端口

  • 正式使用:准备一个域名(如 chat.example.com),A 记录指向本机公网 IP;rexctl 会自动签发 Let's Encrypt 证书;
  • 防火墙/安全组放行:TCP 80、443、7881,UDP 443、7882;
  • 内网/评测环境:可用 .test、.local、.internal 等私有后缀域名(如 fluxer.test),rexctl 检测到私有域名会跳过公网 DNS 与证书签发检查(实测确认,见「九、常见问题」Q2)。

三、版本选型说明

Fluxer 不设传统的 LTS/稳定分支,采用日历化滚动发布(年.月日.构建号,如 2026.1025.41605 表示 2026-10-25 的第 41605 号构建),发布频率为每天多次。所有版本经同一通道滚动升级,rexctl 默认装最新版。

查询当前最新版本的官方接口(无需登录):

curl -fsSL https://fluxer.dev/rexctl/release.json

实测回显(节选,含各平台 rexctl 包地址与 sha256):

{"version":"2026.1025.41605","min_podman":"5.4.0","min_docker":"24.0.0","state_schema":2,"assets":[{"os":"linux","arch":"amd64","url":"https://github.com/fluxerapp/fluxer/releases/download/fluxer-release%402026.1025.41605/rexctl_2026.1025.41605_linux_amd64.tar.gz","sha256":"c8b795c41ed4d2b32616a79c087423dce688100f5c0d12694910b5946feb7ab2"}, ...],"compose_url":"https://github.com/fluxerapp/fluxer/releases/download/fluxer-release%402026.1025.41605/fluxer-compose-2026.1025.41605.tar.gz"}

关键字段:version 为当前版本;min_docker 为引擎最低要求(24.0.0);assets 为 rexctl 各平台包;compose_url 为手工编排用的官方 Compose 包(B2 篇使用)。

四、在线安装方案 A:官方一键脚本(交互式向导,官方推荐)

适合首次接触、希望向导式回答问题的管理员。脚本完成「下载 rexctl → 校验 sha256 → 安装到 /usr/local/bin → 启动安装向导」四步:

curl -fsSL https://fluxer.dev/install.sh | sh

实测回显(在已装有 Fluxer 的机器上重跑该脚本时的真实输出,体现脚本的幂等与防呆——会拒绝对已有实例的重复安装):

ok Installed rexctl 2026.1025.41605
x Fluxer is already installed in /opt/fluxer.
  Run rexctl status to check it, or rexctl upgrade to upgrade it.

首次在全新机器上运行时,向导会依次询问:实例域名、实例名称、管理员账号在终端还是浏览器创建、注册策略(开放/审批/邀请/关闭)、SMTP 邮件(可跳过)。回答完毕后自动完成安装并打印实例地址。

⚠️ 网络说明(2026-10-25 实测):fluxer.dev 与 GitHub Releases 在本实测网络直连均被拒绝/重置,经代理(http_proxy/https_proxy 环境变量)后正常。若你的服务器直连 GitHub 正常则无需处理;不通时先 export https_proxy=http://<你的代理>:<端口> 再执行。

五、在线安装方案 B:手动二进制 + 非交互安装(实测主线)

适合自动化装机、Ansible/云初始化等无人值守场景:手动下载 rexctl 二进制,再用参数一次性给出向导的所有答案。本节为该形态完整实测。

5.1 安装 Docker 引擎

rexctl 需要 Docker ≥ 24.0.0(或 Podman ≥ 5.4.0)。带 --install-docker(默认开)时 rexctl 会尝试用 get.docker.com 脚本安装,实测该地址在本网络连接被重置,故改用 Ubuntu 仓库的 docker.io 包(29.1.3,满足最低版本):

apt-get install -y docker.io
systemctl enable --now docker
docker --version

实测回显:

Docker version 29.1.3, build 29.1.3-0ubuntu3~22.04.2

⚠️ 排障实录:首次直接运行 rexctl install 时,rexctl 自动安装引擎失败,输出 x Couldn't install Docker. ... Get "https://get.docker.com": read tcp ...: read: connection reset by peer。定位为 get.docker.com 直连被重置;改用 apt 仓库 docker.io 安装后重跑即通过。若你的网络同样受限,先装好 Docker 再跑 rexctl。

5.2 下载并校验 rexctl

从 GitHub Releases 下载 Linux amd64 包并做 sha256 校验(摘要值来自 三、版本选型说明 的 release.json):

cd /tmp
curl -fsSL -o rexctl.tar.gz "https://github.com/fluxerapp/fluxer/releases/download/fluxer-release%402026.1025.41605/rexctl_2026.1025.41605_linux_amd64.tar.gz"
echo "c8b795c41ed4d2b32616a79c087423dce688100f5c0d12694910b5946feb7ab2  rexctl.tar.gz" | sha256sum -c -
tar -xzf rexctl.tar.gz
install -m 0755 rexctl /usr/local/bin/rexctl
rexctl --version

实测回显:

rexctl.tar.gz: OK
rexctl version 2026.1025.41605 (4abd1a3)

5.3 预检(可选但推荐)

--dry-run 只检查不改动,提前暴露磁盘/端口/引擎问题:

rexctl install --dir /opt/fluxer --domain fluxer.test --dry-run --yes

实测回显(本机为评测环境,语音端口已被另一个测试实例占用, rexctl 如实报出):

ok This machine has 23 GB of memory.
ok This machine has 172 GB of free disk space.
ok Docker 29.1.3 is running.
x Ports 7881 and 7882 are already in use by containers.
  Stop the containers that use them, then run rexctl install.
x This machine isn't ready for Fluxer yet.
  Fix the problems above, then run rexctl install again.

5.4 非交互安装

准备管理员密码文件,然后一条命令给出全部向导答案(参数含义见命令后逐项说明):

install -m 600 /dev/null /root/.adminpw && printf 'q1w2e3r4' > /root/.adminpw
rexctl install \
  --domain fluxer.test \
  --name "Rex Lab" \
  --setup terminal \
  --admin-username root \
  --admin-email root@fluxer.test \
  --admin-password-file /root/.adminpw \
  --registration invite \
  --sign-in username \
  --skip-email \
  --behind-proxy --bind 0.0.0.0:8080 \
  --open-firewall=false \
  --yes

参数逐项说明:

参数取值含义
--domain fluxer.test实例对外地址的域名;评测环境用私有后缀域名跳过公网 DNS/证书检查,生产换成真实域名如 chat.example.com
--name "Rex Lab"实例名称(客户端里显示的社区名)
--setup terminal管理员账号在终端直接创建(另一选项 browser:首次打开网页时凭 setup token 创建)
--admin-username root / --admin-password-file管理员账号 root,密码从文件读(文件内容即 q1w2e3r4)
--registration invite注册策略:邀请制(另有 open/approval/closed)
--sign-in username登录方式:用户名+密码(另一选项 email)
--skip-email暂不配 SMTP,事后用 rexctl email set 补配
--behind-proxy --bind 0.0.0.0:8080不由 Fluxer 自己签发证书,以纯 HTTP 监听 8080,交给自有反向代理终结 TLS;生产若用 Fluxer 自带证书则去掉这两个参数
--open-firewall=false不改动 ufw/firewalld(评测机无防火墙服务;生产可保持默认 true 让 rexctl 代开端口)
--yes非交互,不再提问

实测回显(拉取与启动过程较长,节选首尾):

Continuing the install in /opt/fluxer.
Starting Fluxer
...
ok Started Fluxer.
Creating your admin account
ok Created your admin account.
ok Saved your recovery kit to /opt/fluxer/recovery-kit-root.txt.
  Keep a copy somewhere safe. You'll need it if you lose your password.
Your instance is ready.
https://fluxer.test
ok Made a link that signs you in. It works once, until 07:38 on 25 October.
https://fluxer.test/login#sign_in_link=eMaI0lEfHMkJY3gEDTTI3yr0SBDhBaDNr9Qjo53FJ7g

要点解读:

  • 安装结果三件套:实例就绪地址、恢复包(/opt/fluxer/recovery-kit-root.txt,丢密码时的救命文件,务必另存)、一次性管理员登录链接(有时效,实测为 1 小时);
  • 首次启动会拉取全部部署单元并做健康检查,21 个服务全部 ready 才宣告成功。

5.5 验证安装

rexctl status
rexctl doctor

实测回显:

ok Fluxer is running.
Address   https://fluxer.test
Version   2026.1025.41605
Folder    /opt/fluxer
ok This machine has 23 GB of memory.
ok This machine has 190 GB of free disk space.
ok rexctl keeps all of your instance's settings.
ok Fluxer's files are all in place.
ok Fluxer starts with this machine.
ok Your instance's address is https://fluxer.test everywhere.
ok Browser notifications are set up.
ok Fluxer is running.
ok Every Fluxer service runs the version on this machine.
ok Fluxer answers on this machine.
ok Apps are told to connect to fluxer.test.
ok The web app loads.
ok Fluxer can sign in to its database.
ok The database password works with this release.
ok Voice calls can find this machine's public IP address.

再验证 Web 可达(评测机按 8080 纯 HTTP 验证;生产为 https://<域名>/):

curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: fluxer.test' http://127.0.0.1:8080/
curl -s -H 'Host: fluxer.test' http://127.0.0.1:8080/.well-known/fluxer

实测回显:

200
{"api_code_version":1,"endpoints":{"api":"http://fluxer.test:8080/api","gateway":"ws://fluxer.test:8080/gateway","media":"http://fluxer.test:8080/media","webapp":"http://fluxer.test:8080", ...},"captcha":{"provider":"altcha"},"features":{"voice_enabled":true, ...}}

浏览器打开实例地址,用上一步的一次性链接或 root + q1w2e3r4 登录即可进入。

六、方案对比与选择建议

维度方案 A:一键脚本方案 B:手动二进制 + 参数
命令数1 条约 5 步
交互交互式向导全非交互
适用首次手动装机、边装边定参数自动化/无人值守、CI、云初始化
可重复性中(答案靠人记)高(参数即文档,可入 Ansible)
网络要求同(都要能下 GitHub Releases 与引擎包)同

选择建议:第一次装、想被引导 → 方案 A;要可复现、要进自动化 → 方案 B。两者装出的实例完全一致(同一 rexctl、同一实例目录布局)。

七、配置说明

  • 实例目录 /opt/fluxer:docker-compose.yml/docker-compose.proxy.yml/Caddyfile(编排与边缘配置,由 rexctl 渲染,勿手改)、certs/(自带证书模式时的证书)、backups/(rexctl backup 产物)、.rexctl/(状态 state.json、密钥、按版本归档的编排文件);安装器自身复制到 /usr/local/libexec/rexctl/rexctl;
  • 开机自启:rexctl 已装 fluxer.service(oneshot,ExecStart=/usr/local/libexec/rexctl/rexctl start --boot --dir /opt/fluxer),实测 systemctl list-unit-files | grep fluxer 为 enabled,重启机器自动拉起;
  • 改参数:一律用 rexctl config set <键> <值>(如 rexctl config set registration.mode open),改完 rexctl 会按参数标注自动重启相关服务;完整参数清单见本专栏《Fluxer 2026.1025.41605 配置参数详解》;命令速查见《Fluxer 2026.1025.41605 常用 CLI 命令与工具详解》;
  • 改端口:edge.http_port/edge.https_port(Web)、voice.tcp_port/voice.udp_port(语音)。

八、升级与回滚

rexctl upgrade --check     # 只查不升
rexctl upgrade             # 升级 rexctl 与 Fluxer 到最新版(默认先自动备份)
rexctl rollback            # 回滚到升级前的版本

实测回显(--check):

ok Fluxer 2026.1025.41605 is up to date.

升级前 rexctl 会自动备份(可用 --no-backup 跳过,不建议);rollback 回到上一发布,--restore-database 可连数据库一起回滚(谨慎,升级后产生的数据会丢)。

九、常见问题

Q1:安装时报 x Couldn't install Docker. ... get.docker.com ... connection reset by peer? 引擎自动安装脚本地址被网络阻断。先用 apt 装 docker.io(≥24.0.0 即满足),再重跑 rexctl install(实测通过)。Podman 用户可选 --engine podman(要求 ≥5.4.0)。

Q2:没有公网域名/证书能装吗? 能。用私有后缀域名(fluxer.test、.local、.internal 等)安装,rexctl 跳过公网 DNS 校验与证书签发;再配 --behind-proxy 以纯 HTTP 对外,由你自己的反向代理终结 TLS。实测此形态安装、登录、发现接口全部正常。

Q3:rexctl users create alice --email ... 报 x People on your instance sign in with a username and don't have an email address on their account.? 安装时 --sign-in username 选定用户名登录后,账号不挂邮箱,创建用户时不要带 --email。要邮箱登录就在安装时选 --sign-in email。

Q4:安装/启动卡在拉取部署单元? 确认服务器能访问 ghcr.io 与 Docker Hub;受限网络给引擎配代理或镜像加速器后重跑同一命令即可(rexctl 幂等续装)。也可用 rexctl config set images.registry <镜像加速地址> 为基础设施类镜像(数据库/缓存/搜索/存储/语音/边缘)指定 mirror。

Q5:管理员密码忘了? 用安装时保存的恢复包 /opt/fluxer/recovery-kit-root.txt;或现场生成重置链接:rexctl users reset-link root。一次性登录链接:rexctl admins sign-in-link root。

十、卸载与清理

rexctl uninstall --yes                # 卸载实例(保留询问以确认域名)
rexctl uninstall --keep-data          # 想保留数据与备份时加此参数

卸载会移除实例目录、自启服务与编排产物;加 --keep-data 时数据库与备份保留,之后可用 rexctl install --take-over 重新接管。按需再卸载引擎:apt-get purge docker.io(仅当本机不再跑其他容器化服务)。

十一、参考链接