A free and open source instant messaging and VoIP chat app built for friends, groups, and communities. https://fluxer.app
  • TypeScript 66.6%
  • Rust 14.2%
  • Erlang 8.3%
  • CSS 4%
  • MDX 3.9%
  • Other 2.9%
Find a file
Cameron Jolly 66f313aded
Merge pull request #1 from CameronJolly/self-hosted
add my self hosted instance as the destination URL
2026-09-22 14:14:26 -06:00
.devcontainer fix(workspace): point the Erlang extension at the repo root (#2871) 2026-09-20 19:49:06 +02:00
.github add my self hosted instance 2026-09-22 10:02:14 -06:00
config/env add my self hosted instance 2026-09-22 10:02:14 -06:00
deploy/self-hosting add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_admin add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_api add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_app add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_app_proxy add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_common feat(media-proxy): sign attachment URLs and gate origins (#2830) 2026-09-18 15:57:32 +02:00
fluxer_desktop add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_docs add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_gateway chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
fluxer_gifs add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_media_proxy add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_messages feat(media-proxy): sign attachment URLs and gate origins (#2830) 2026-09-18 15:57:32 +02:00
fluxer_snowflakes chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
fluxer_static chore(static): update marketing screenshots and readme cover (#2839) 2026-09-19 16:44:32 +02:00
fluxer_svc chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
fluxer_unfurl add my self hosted instance 2026-09-22 10:02:14 -06:00
fluxer_users chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
packages fixing a few that were missed 2026-09-22 19:54:40 +00:00
patches chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
tools add my self hosted instance 2026-09-22 10:02:14 -06:00
tsconfigs chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
.dockerignore chore(marketing): remove the private marketing submodule (#2732) 2026-09-13 16:37:55 +02:00
.editorconfig initial commit 2026-01-01 21:05:54 +00:00
.envrc workspace: reconcile latest Fluxer into the open source release and continue development there 2026-06-16 06:41:37 +02:00
.gitattributes refactor: bundle fonts (#1569) 2026-08-12 13:21:50 +02:00
.gitignore chore(tooling): Ignore .vscode/ in .gitignore (#2868) 2026-09-21 13:29:33 +02:00
.ignore chore: clean up repository metadata (#1571) 2026-08-12 14:50:00 +02:00
biome.json chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
Cargo.lock refactor(app-proxy): remove the stable time freeze (#2856) 2026-09-20 04:02:47 +02:00
Cargo.toml refactor(app-proxy): remove the stable time freeze (#2856) 2026-09-20 04:02:47 +02:00
deny.toml chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
eslint.config.mjs fix(app): do not crash when the browser translates the page (#2624) 2026-09-09 01:24:14 +02:00
knip.json feat(voice): rework screen share delivery behind an experiment (#2859) 2026-09-20 06:10:20 +02:00
LICENSE chore: use the correct license template 2026-01-06 14:40:10 +00:00
package.json chore(deps): pin pnpm 11 so the lockfile parses for packagers (#2864) 2026-09-20 15:30:50 +02:00
pnpm-lock.yaml chore(deps): pin pnpm 11 so the lockfile parses for packagers (#2864) 2026-09-20 15:30:50 +02:00
pnpm-workspace.yaml chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
README.md add my self hosted instance 2026-09-22 10:02:14 -06:00
tsconfig.json refactor progress 2026-02-17 12:22:36 +00:00

Fluxer logo

Download Documentation Donate AGPLv3 License

Fluxer

Fluxer is a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.

Fluxer running side by side on a desktop monitor and a phone

Download

Windows macOS Linux Android iOS
Installer (x64) Disk image Flatpak APK TestFlight
Installer (ARM64) deb (x64) Obtainium
Portable (x64) deb (ARM64)
Portable (ARM64) rpm (x64)
rpm (ARM64)
AppImage (x64)
AppImage (ARM64)
tar.gz (x64)
tar.gz (ARM64)

The macOS disk image is universal and runs on both Apple silicon and Intel. Windows and Linux need the build that matches your processor.

On Linux, prefer a package repository over a file. Fluxer then updates with the rest of your system.

Linux package repositories

All four repositories serve stable and canary. The package is fluxer for stable and fluxer-canary for canary.

Flatpak

Opening this reference file hands the install to your desktop software manager. Some desktops also accept flatpak+https://fluxer.cameronjolly.com/flatpak/fluxer.flatpakref pasted into the address bar.

From a terminal:

flatpak install https://fluxer.cameronjolly.com/flatpak/fluxer.flatpakref

Debian and Ubuntu

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/fluxer-archive-keyring.gpg https://fluxer.cameronjolly.com/keys/fluxer-archive-keyring.gpg
sudo curl -fsSL -o /etc/apt/sources.list.d/fluxer.sources https://fluxer.cameronjolly.com/deb/fluxer.sources
sudo apt update && sudo apt install fluxer

Fedora and RHEL

sudo curl -fsSL -o /etc/yum.repos.d/fluxer.repo https://fluxer.cameronjolly.com/rpm/fluxer.repo
sudo dnf install fluxer

RHEL, Rocky, Alma and CentOS Stream need sudo dnf install epel-release first, because the base repositories do not ship libXScrnSaver. Fedora does not need this.

Arch Linux

The repository is signed, so pacman needs the key in its own keyring once:

sudo pacman-key --init
curl -fsSL -o /tmp/fluxer-archive-keyring.asc https://fluxer.cameronjolly.com/keys/fluxer-archive-keyring.asc
sudo pacman-key --add /tmp/fluxer-archive-keyring.asc
sudo pacman-key --lsign-key 09D01339EE128925F75E675C855C5BDE34D205D2

--lsign-key is the step that makes pacman trust the key. Then add the repository:

sudo tee -a /etc/pacman.conf >/dev/null <<'REPO'

[fluxer]
SigLevel = Required TrustedOnly
Server = https://fluxer.cameronjolly.com/arch/$repo/os/$arch
REPO
sudo pacman -Syu fluxer

Write $repo and $arch literally. Both are pacman variables, not shell ones, which is why the heredoc above is quoted.

Full setup notes, including the canary channel, live in the Linux repositories documentation.

Other ways to run it

Documentation

License

The source is licensed under the AGPL-3.0-or-later license.

Fluxer branding, icons, default avatars, badge artwork, screenshots and marketing imagery are copyright Fluxer and all rights reserved, as set out in fluxer_static/LICENSE. Third-party material keeps its own terms, listed in fluxer_static/THIRD_PARTY_LICENSES.md.

Public availability of this repository does not grant trademark, brand, or endorsement rights.