openfire-docker-compose/proxy
Matthew Vivian 9d99ddbc8c refactor: rename openfire.sql to clarify execution order
Renamed openfire.sql to 000-init-openfire.sql to make the initialisation order explicit in the filename. This helps when adding additional SQL scripts that need to run after the schema is created, as PostgreSQL executes files in /docker-entrypoint-initdb.d alphabetically.

The new openfire-integration-test repo uses this openfire-docker-compose repository as a base (using git submodules) for its tests but needs to reconfigure Openfire via the database before startup. To do this it overlays additional SQL files into this openfire-docker-compose repository's sql folders so they are run on startup. It has had to prefix its new SQL file with zz- to make sure it runs after the initialisation SQL file in our repository. This change should make future similar uses less complex/error-prone.
2025-01-07 13:41:20 +00:00
..
nginx Fix IPv6 configuration in nginx.conf files 2024-11-07 12:22:48 +01:00
plugins Add proxy configuration 2022-08-04 23:23:28 +01:00
sql refactor: rename openfire.sql to clarify execution order 2025-01-07 13:41:20 +00:00
xmpp/conf Add proxy configuration 2022-08-04 23:23:28 +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 [chore] Remove obsolete version attribute from docker-compose yml files 2024-12-03 10:36:38 +00:00
start.sh Add dualstack support 2024-11-05 09:47:10 +00:00

README.md

Proxy configuration

Running ./start.sh will perform some cleanup then start the containers with an optional proxy. When running, the system looks like this:

                    +--------------------------+
                    |                          |
                    |      172.60.0.99         |
                    |      +--------+          |
(XMPP-C2S)   55222 -|      |        |          |
(XMPP-S2S)   55269 -|------|  Nginx +          |
(HTTP-Admin) 59090 -|      |        |          |
(BOSH)       57070 -|      +----+---+          |
                    |           |              |
                    |           |              |
                    |      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::99]    |
                    |      172.60.0.99         |
                    |      +--------+          |
(XMPP-C2S)   55222 -|      |        |          |
(XMPP-S2S)   55269 -|------|  Nginx +          |
(HTTP-Admin) 59090 -|      |        |          |
(BOSH)       57070 -|      +----+---+          |
                    |           |              |
                    |           |              |
                    |   [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