Repolode
igniterealtime

igniterealtime/Openfire

A Java XMPP real-time collaboration server for instant messaging, licensed under Apache 2.0.

Open-source alternative to:Slack

Stars
3,074
Forks
1,399
Open issues
67
Last commit
21 hours ago

What is it?

Openfire is a real-time collaboration (RTC) server built on XMPP, also known as Jabber, the widely adopted open protocol for instant messaging. It lets organizations run their own chat and presence infrastructure rather than relying on a hosted messaging service.

The project is written in Java and is developed as an Ignite Realtime community project. The core server lives in a Maven module, and the build produces a runnable distribution that can be started from a shell script or batch file on different platforms. Its admin interface is internationalised, and the repository includes a plugin build setup for extending the server.

Developers working on the codebase can build the full project with Maven, or build only the core server and its dependencies for faster iteration. Bug reports go through the Ignite Realtime community forum.

Key features

  • 01Implements the XMPP protocol for instant messaging and presence.
  • 02Includes a web-based admin interface that is internationalised.
  • 03Supports a plugin system, with plugins built through Maven.
  • 04Runs on multiple platforms via shell and batch startup scripts.

Use cases

  • Hosting a self-managed internal chat server for a company or team.
  • Adding XMPP-based messaging to an existing application or service.
  • Studying or contributing to a large, long-running Java XMPP server codebase.

Quick start

  1. 1

    Build the project with Maven wrapper

    ./mvnw verify -pl distribution -am
  2. 2

    Start Openfire using the shell script

    ./distribution/target/distribution-base/bin/openfire.sh

Things to know

  • Building from source requires a Java toolchain and Maven, and the README covers only the source build path.
  • Running on Windows uses a separate batch file, and the IDE cannot launch the server directly.

In collections

Topics

FAQ

What is Openfire?
A Java XMPP real-time collaboration server for instant messaging, licensed under Apache 2.0. Openfire is a real-time collaboration (RTC) server built on XMPP, also known as Jabber, the widely adopted open protocol for instant messaging. It lets organizations run their own chat and presence infrastructure rather than relying on a hosted messaging service.
Is Openfire free to use? What license does it have?
Openfire is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is Openfire still maintained?
Actively maintained. The last commit to Openfire was on Nov 6, 2026.
What can I use Openfire for?
Hosting a self-managed internal chat server for a company or team. Adding XMPP-based messaging to an existing application or service. Studying or contributing to a large, long-running Java XMPP server codebase.
How do I install Openfire?
Build the project with Maven wrapper: ./mvnw verify -pl distribution -am Start Openfire using the shell script: ./distribution/target/distribution-base/bin/openfire.sh
Where can I get Openfire?
The source code and installation instructions are on GitHub: https://github.com/igniterealtime/Openfire

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects