Run multiple Openfire servers & DBs in Docker for local testing Federation or Cluster configurations/management
Go to file
Matthew Vivian 4c608f22f8 fix: Use unique IP for OCSP
Prior to this the OCSP responder used 172.50.0.30. This conflicts with an example given in the readme, which uses the same IP address describing how to add a third node to the setup.

This change avoids confusion, and keeps things consistent if we ever decide to copy this to the other configurations (eg clustering_with_federation).
2024-11-21 14:09:03 +01:00
_common Add dependency check for docker & compose 2022-07-27 14:47:41 +02:00
cluster Merge pull request #68 from guusdk/hazelcast-5.5.0 2024-11-12 10:16:26 +00:00
cluster_with_federation Merge pull request #68 from guusdk/hazelcast-5.5.0 2024-11-12 10:16:26 +00:00
federation fix: Use unique IP for OCSP 2024-11-21 14:09:03 +01:00
proxy Fix IPv6 configuration in nginx.conf files 2024-11-07 12:22:48 +01:00
scripts Add script to prune _data directories with sudo 2022-07-27 14:47:41 +02:00
simple Add dualstack support 2024-11-05 09:47:10 +00:00
.gitignore Update scripts to ignore fixed name formats 2021-12-20 11:28:33 +00:00
README.md Fix READMEs 2022-07-27 14:47:41 +02:00
stop.sh Drop use of old style "docker-compose" in favour "docker compose" everywhere 2022-07-27 14:47:41 +02:00

README.md

Multiple Openfires in Docker

Quickly create multiple Openfire servers with associated PostgreSQL DBs in Docker containers for local testing.

Data and config snapshots have been taken of each DB and Openfire server so that a known desired state is configured on start. See the "How it's built" section below if you want to understand how this was done or need to add more nodes.

Prerequisites

Quick Start

  1. Make sure you have docker and docker-compose installed
  2. Create a local Openfire docker image, tagged openfire:latest that contains the version of Openfire that you want to run
    1. run docker build --tag openfire:latest . in the root of the Openfire repository (https://github.com/igniterealtime/Openfire)
  3. Launch the environment using the start.sh in the directory of your choice.

How it's built

To recreate the known good state for the system we first create base Openfire and relevant database containers. We then perform the manual setup and any other configuration that we require, such as adding users and MUC rooms. Once the setup is complete we dump the database from the container to the Docker host and copy the Openfire config files from the container to the Docker host. These are then used with Docker volumes for creating the same state in subsequent Openfire and database containers.