openfire-docker-compose/simple
Guus der Kinderen 3b4862328b Add dualstack support
This adds support for IPv6, by giving all `start.sh` scripts an `-6` argument, that causes a dualstack configuration to be loaded.

Each individual docker-compose file has been split out. Now, each file no longer defines any networking. Instead, one of two networking fragments is expected to be merged in.

When starting Openfire, a Hazelcast configuration option is passed through to the Openfire process to denote preference for IPv4 or IPv6. This passing through depends on the change in Openfire, that is introduced by 2634d4a83a

Minor other changes have been applied, that mostly make the start scripts more consistent amongst each-other.

fixes #61
2024-11-05 09:47:10 +00:00
..
plugins Add simple configuration 2022-08-04 23:23:13 +01:00
sql Add simple configuration 2022-08-04 23:23:13 +01:00
xmpp/conf Add simple configuration 2022-08-04 23:23:13 +01:00
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 Add dualstack support 2024-11-05 09:47:10 +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