Skip to main content
Fluxer is a free and open source instant messaging and VoIP platform designed for self-hosting. When you run your own instance, every feature is unlocked with no vendor lock-in.

Why Self-Host?

Full Control

Own your data completely. No third-party access to your messages, files, or user information.

All Features Unlocked

Voice, video, search, custom emojis, and all premium features are available in self-hosted deployments.

Privacy First

Keep communications within your infrastructure. Perfect for sensitive communities and organizations.

Customizable

Modify and extend Fluxer to meet your specific needs. Licensed under AGPLv3.

What You Get

Core Features

  • Real-time messaging with typing indicators, reactions, and threaded replies
  • Voice & video calls powered by LiveKit with screen sharing support
  • Rich media including link previews, attachments, and GIF search
  • Communities and channels with granular permission controls
  • Custom expressions with emoji and sticker uploads
  • Full-text search via Meilisearch or Elasticsearch

Architecture Flexibility

Deployment Options

Docker Compose

Quick deployment with docker compose up. Recommended for most users.

Distributed Setup

Multi-node Cassandra cluster with regional LiveKit servers.

System Requirements

Minimum (Monolith Mode)

  • CPU: 2 cores
  • RAM: 4 GB
  • Storage: 20 GB SSD
  • OS: Linux (Ubuntu 22.04+, Debian 12+, or RHEL 9+)
  • Network: Public IP or reverse proxy with domain
  • CPU: 4-8 cores
  • RAM: 8-16 GB
  • Storage: 100 GB+ SSD (depends on media retention)
  • Network: 1 Gbps network, dedicated public IP for voice/video
Voice and video require UDP port access. If deploying behind Cloudflare Tunnels or similar HTTP-only proxies, you’ll need to expose UDP ports 3478, 7881, and 50000-50100 directly.

What’s Included

The Fluxer monolith (ghcr.io/fluxerapp/fluxer-server:stable) includes:
ComponentPurpose
HTTP APIREST endpoints for all application logic
WebSocket GatewayReal-time message delivery and presence (Erlang)
Media ProxyImage/video processing and CDN
Admin PanelWeb-based administration interface
Marketing SiteOptional public landing page
S3-compatible StorageBuilt-in object storage (filesystem-backed)
Job QueueBackground task processing

Technology Stack

  • TypeScript and Node.js for HTTP services
  • Hono web framework for all HTTP endpoints
  • Erlang/OTP for the WebSocket gateway (real-time messaging)
  • SQLite (default) or Cassandra for data persistence
  • Valkey (Redis-compatible) for caching and rate limiting
  • Meilisearch or Elasticsearch for full-text search
  • LiveKit for voice and video (optional)
  • NATS for message queuing in microservices mode
  • React and Electron for desktop/web
  • Rust compiled to WebAssembly for performance-critical code

License

Fluxer is licensed under AGPLv3. You are free to:
  • Run the software for any purpose
  • Study and modify the source code
  • Distribute copies and modified versions
If you modify Fluxer and provide it as a service over a network, you must make your modified source code available under AGPLv3.
See the LICENSE for full terms.

Next Steps

1

Quick Start

Follow the Quick Start Guide to deploy Fluxer with Docker Compose in under 10 minutes.
2

Configure

Learn about Configuration Options to customize your instance.
3

Add Voice

Set up LiveKit for voice and video to enable real-time calls.
4

Scale

Review Scaling Strategies when you’re ready to grow.

Getting Help

Build docs developers (and LLMs) love