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. |
||
---|---|---|
.. | ||
nginx | ||
plugins | ||
sql | ||
xmpp/conf | ||
README.md | ||
docker-compose-network-dualstack.yml | ||
docker-compose-network-ipv4-only.yml | ||
docker-compose.yml | ||
start.sh |
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