This provides a docker image for running Openfire Server. This particular image is a litle unique in that in a couple ways:
There are a few environment variables that should be set whenever running this image; by setting them the configuration is updated correctly for the database:
DB_HOST - the host of the database to connect to; it will
default to DATABASE_PORT_5432_TCP_ADDR if set.DB_PORT - the port of the database to connect to; it will
default to DATABASE_PORT_5432_TCP_PORT if set.DB_NAME - the name of the database for holding openfire data; it will
default to openfire if not set.DB_USERNAME - the username to connect to the database.DB_PASSWORD - the password to connect to the database.You can run this locally by staring up a database container and then linking into this image; NOTE: We use the Aptible postgresql image as it supports SSL which is required in the Openfire config now.
# Create a data volume for the data
docker create --name data quay.io/aptible/postgresql
# Initialize the DB's username, password and database
docker run --volumes-from data -e USERNAME=user1 -e PASSPHRASE=password1 -e DATABASE=openfire quay.io/aptible/postgresql --initialize
# Run the postgres server (we use the aptible image because it has SSL support)
docker run --name postgres1 --volumes-from data -d quay.io/aptible/postgresql
# Run once to prepare the db with required Openfire schema using a postgres image
docker run --rm --link postgres1:postgres --env PGPASSWORD=password1 --volume $(pwd)/openfire_postgresql.sql:/tmp/openfire_postgresql.sql postgres sh -c 'psql -h postgres -U user1 -d openfire -f /tmp/openfire_postgresql.sql'
# Run to start the server with ports exposed (use -p to expose to specific host ports)
docker run -d -P --link postgres1:database -e DB_NAME=openfire -e DB_USERNAME=user1 -e DB_PASSWORD=password1 prevailhs/openfire
TODO: Add info about how to connect here.
To run in production you should setup a database server in whatever methods you prefer, then use the db Openfire schema to pre-load it; after that is complete you can startup your server:
PGPASSWORD=password1 psql -h postgres -U user1 -d openfire -f openfire_postgresql.sql
docker run -d -P -e DB_HOST=1.2.3.4 -e DB_PORT=5432 -e DB_NAME=openfire -e DB_USERNAME=postgres -e DB_PASSWORD=mysecretpassword prevailhs/openfire
You should then be able to access (after a brief startup time) the XMPP ports via whatever routing layer you're using.
Fork this repo and make PRs as normal. Feel free to knock off anything on the TODO list.
Content type
Image
Digest
sha256:a3aef7781…
Size
228 MB
Last updated
about 10 years ago
docker pull prevailhs/openfire