Openfire ${project.version}
Openfire provides comprehensive group chat and instant messaging (IM) services using the XMPP protocol.
Administrator Documentation
Basic Server Administration
Guides that are applicable to most administrators of an Openfire instance. These cover the basics.
- Installation Guide
- How to install Openfire.
- Database Installation Guide
- How to setup your database for use with Openfire.
- Upgrade Guide
- Instructions for upgrading an existing Openfire installation.
- Recovery of an Admin Password
- Instructions to recover an administrative account for which the password has been lost.
Advanced Server Administration
The following guides cover more specialized topics. These aren't necessarily applicable to every Openfire installation.
- Network Configuration Guide
- Describes how to make Openfire accessible to its users.
- TLS Guide
- A guide to setting up Openfire's TLS secure socket support.
- Separating Administrative Users Guide
- A guide to setting up Openfire to work with different user stores for admins and non-administrative users.
- Load Balancing Guide
- How to spread client and server connections over multiple instances of Openfire
- Clustered Database Guide
- Instructions on using Openfire with a database that consists of more than one server.
- Trunking (Gateway) Guide
- A guide to set up Openfire to mediate traffic that is exchanged between other XMPP domains
Integration with External Data Sources
Openfire is written to facilitate integration with existing data sources, such as external user directories or custom database. The guides in this section describe how such integration can be achieved.
- Active Directory and LDAP Integration Guide
- A guide to setting up Openfire to work with Active Directory or LDAP user stores.
- Custom Database Integration Guide
- A guide to integrating Openfire authentication, user, and group data with a custom database.
In-depth Analysis
At times, problems occur for which the cause is not immediately apparent. The follow section contains various guides that can help diagnose issues.
- Database Query Statistics Guide
- Describes how Openfire's database interaction can be analyzed to find inefficient database queries.
Developer Documentation
Generic Development Guides
Guides for developers that work with the Openfire source code.
- Building the Source
- Instructions for downloading and compiling the Openfire source code.
- Starting an auto-provisioned instance of Openfire (demoboot)
- Starting a running Openfire instance without running through the setup.
- Openfire Source Code in Visual Studio Code
- A short tutorial on how to work with the Openfire source code in the Visual Studio Code IDE.
- Plugin Developer Guide
- A guide to writing and installing plugins for Openfire.
- Translator Guide
- Information for those interested in translating the admin console of Openfire into other languages.
- Customization Guide
- Instructions on customization support within the build process for Openfire.
- Internal Networking Guide
- Guide to help developers understand Openfire's internal networking.
- Tips & tricks for working with Openfire
- Some collected tools, tips and useful links.
Data Provider / IAM Implementation Guides
Guides for implementors of custom integration of external authentication, users and other entities.
- Custom Authentication Provider Guide
- Describes how to integrate Openfire with an external authentication system.
- Custom Group Provider Guide
- Describes how to integrate Openfire with an external system that provides Group definitions.
- Custom User Provider Guide
- Describes how to integrate Openfire with an external system that provides User definitions
- Pluggable Roster Support Guide
- A guide to integrating Openfire rosters with an alternate store.
Guides for Client Developers
Openfire is an XMPP server. It can therefor be used by any application that implements this protocol. This section lists a number of minimal examples using various libraries (mostly third-party) that illustrate how they can be used to interact with Openfire. Note that there are many other libraries available than the ones listed here!
- Smack: A Minimal Working Example (in Java)
- Shows how to use a client implemented with the Smack library (Java) to connect to Openfire.
- Mellium: A Minimal Working Example (in Go)
- Shows how to use a client implemented with the Mellium library (Go) to connect to Openfire.
- moxxmpp: A Minimal Working Example (in Dart)
- Shows how to use a client implemented with the moxxmpp library (Dart) to connect to Openfire.
- StanzaJS: A Minimal Working Example (in Javascript/Typescript)
- Shows how to use a client implemented with the StanzaJS library (Javascript/Typescript) to connect to Openfire.
- Strophe.js: A Minimal Working Example (in Javascript)
- Shows how to use a client implemented with the Strophe.js library (Javascript) to connect to Openfire.
- Twisted Words: A Minimal Working Example (in Python)
- Shows how to use a client implemented with the Twisted Words library (Python) to connect to Openfire.
- XmppDotNet: A Minimal Working Example (in C# / .NET)
- Shows how to use a client implemented with the XmppDotNet library (.NET) to connect to Openfire.
- Whixp: A Minimal Working Example (in Dart)
- Shows how to use a client implemented with the Whixp library (Dart) to connect to Openfire.
Reference Documentation
- JavaDocs
- Openfire API documentation.
- Protocol Support
- Provides details on the XMPP support and XEPs that Openfire implements.
- Database Schema Guide
- A tour of the Openfire database schema for developers and database administrators.