openfire-docker-compose/simple
Matthew Vivian 711a23b073 feat: enable Java remote debugging on all Openfire containers
Adds JDWP debug agent configuration to all deployment options, exposing
debug ports on localhost (5005 for xmpp1, 5006 for xmpp2, etc.). The
agent runs in non-blocking mode (suspend=n) so containers start normally
without waiting for a debugger - there's no impact on regular usage.

This reduces friction for developers who frequently need to debug
Openfire, eliminating the need to maintain local uncommitted changes
or remember JDWP syntax.
2025-12-04 12:55:43 +00:00
..
plugins Update jsxc plugin 2025-08-28 11:04:52 +02:00
sql refactor: rename openfire.sql to clarify execution order 2025-01-07 13:41:20 +00:00
xmpp/conf
README.md Add dualstack support 2024-11-05 09:47:10 +00:00
docker-compose-network-dualstack.yml Add dualstack support 2024-11-05 09:47:10 +00:00
docker-compose-network-ipv4-only.yml Add dualstack support 2024-11-05 09:47:10 +00:00
docker-compose.yml feat: enable Java remote debugging on all Openfire containers 2025-12-04 12:55:43 +00:00
start.sh Add dualstack support 2024-11-05 09:47:10 +00:00

README.md

Simple configuration

Running ./start.sh will perform some cleanup then start the containers in a simple configuration. When running, the system looks like this:

                   +--------------------------+
                   |                          |
                   |      172.60.0.10         |
                   |      +--------+          |
(XMPP-C2S)   5222 -|      |        |          |
(XMPP-S2S)   5269 -|------| XMPP 1 +          |
(HTTP-Admin) 9090 -|      |        |          |
(BOSH)       7070 -|      +----+---+          |
                   |           |              |
                   |           |              |
                   |       +---+--+           |
                   |       |      |           |
(Database)   5432 -|-------|  DB  +           |
                   |       |      |           |
                   |       +------+           |
                   |      172.60.0.11         |
                   |                          |
                   +-----172.60.0.0/24--------+

Openfire is configured with the following XMPP domain:

  • xmpp.localhost.example

Openfire is configured with the following FQDN:

  • xmpp1.localhost.example

The following users are configured:

  • admin admin
  • user1 password
  • user2 password

The following MUC rooms are configured:

  • muc1
  • muc2

Network

The Docker compose file defines a custom bridge network with a single subnet of 172.60.0.0/24.

When the -6 argument to ./start.sh is provided, then an additional subnet of fd23:0d79:d076::/64 is configured. Then, IPv6 is preferred for internal networking. Note that the IPv4 network remains in place, as Docker does not support IPv6-only containers.

When running with the optional -6 flag (that adds IPv6 support) the system looks like this:

                   +--------------------------+
                   |                          |
                   |   [fd23:d79:d076::10]    |
                   |      172.60.0.10         |
                   |      +--------+          |
(XMPP-C2S)   5222 -|      |        |          |
(XMPP-S2S)   5269 -|------| XMPP 1 +          |
(HTTP-Admin) 9090 -|      |        |          |
(BOSH)       7070 -|      +----+---+          |
                   |           |              |
                   |           |              |
                   |       +---+--+           |
                   |       |      |           |
(Database)   5432 -|-------|  DB  +           |
                   |       |      |           |
                   |       +------+           |
                   |      172.60.0.11         |
                   |   [fd23:d79:d076::11]    |
                   |                          |
                   +-----172.60.0.0/24--------+
                       fd23:0d79:d076::/64