Skip to content

EndMove/openfire-docker

Repository files navigation

openfire-docker

Openfire version: 4.6.4

GitHub license GitHub last commit

Donate Website

openfire-docker is a docker image based on Ubuntu 18.04 that implements Openfire from Ignite Realtime.

Requirements

You only need a stable version of docker docker.

Installing Docker

To begin updating the system if necessary:

sudo apt-get update && sudo apt-get upgrade

Install Docker at the latest stable version:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Installation

Step One

To start download or build the "openfire-docker" image (the recommended method is to do a pull request to Dockerhub).

  • Methode 1 : Pull from Dockerhub
docker pull endmove/openfire:latest
  • Methode 2 : build from Github
docker build -t endmove/openfire:latest github.com/EndMove/openfire-docker

Step Two

Create the Docker container, open the ports and connect the volumes.

docker create -i -t \
  --name=openfire \
  --publish 9090:9090 \
  --publish 5222:5222 \
  --publish 7777:7777 \
  --volume /home/openfire/data:/var/lib/openfire \
  --restart unless-stopped \
  endmove/openfire:latest

Step Three

Command to start the container

docker start openfire

Command to stop the container

docker stop openfire

Command to remove openfire

docker rm -f openfire

Utilities

This Openfire installation script provides two important volume locations to track and keep the installation up to date and in a safe place.

Openfire - db, conf, plugins

To access the configuration files and store the users, data and plugins (during an update for example) it is important to store these files outside the container in a safe and secure space.

# in container location:
/var/lib/openfire

# recommended docker volume:
--volume /home/openfire:/var/lib/openfire

Openfire - log

To benefit from error tracking it is recommended to keep an access to the folder containing all log files of Openfire.

# in container location:
/var/log/openfire

# recommended docker volume:
--volume /home/openfire/log:/var/log/openfire

Openfire - SSL Certificate (Doesn't work)

Try to use the 'Certificate Manager Plugin', automatically installed during installation.

To benefit from the SSL certificate of your server under Openfire place it under the name ssl.pem in this volume. Note: all communications between Openfire and users except those from the web interface ports: 9091 & 9090 are managed and encrypted using RSA, by Openfire automatically.

# in container location:
/usr/share/openfire/ssl

# recommended docker volume:
--volume /home/certificate/cert:/usr/share/openfire/ssl:ro

This is an example of the contents of the file /home/certificate/cert

.
└── ssl.pem

Update ?

When an update of Openfire is available and I updated the repository you just have to remove and install again the container to migrate to the new version.

WARNING: this requires that you store the Openfire data as recommended above.

Available features

  • Log file available out of container.
  • Configuration file, security and embedded-database available out of the container.
  • Makes available all the ports available in Openfire version 4.6.2.
  • Includes certificate manager plugin with hotdeploy.
  • Allows the import of SSL certificates that are external to the container (By using certificate manager).