Git Product home page Git Product logo

docker-openfire's Introduction

Docker Repository on Quay.io

sameersbn/openfire:3.10.3-19

Introduction

Dockerfile to create a Docker container image for Openfire.

Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.

Contributing

If you find this image useful here's how you can help:

  • Send a pull request with your awesome features and bug fixes
  • Help users resolve their issues.
  • Support the development of this image with a donation

Issues

Before reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker installation guide for instructions.

SELinux users should try disabling SELinux using the command setenforce 0 to see if it resolves the issue.

If the above recommendations do not help then report your issue along with the following information:

  • Output of the docker version and docker info commands
  • The docker run command or docker-compose.yml used to start the image. Mask out the sensitive bits.
  • Please state if you are using Boot2Docker, VirtualBox, etc.

Getting started

Installation

Automated builds of the image are available on Dockerhub and is the recommended method of installation.

Note: Builds are also available on Quay.io

docker pull sameersbn/openfire:3.10.3-19

Alternatively you can build the image yourself.

docker build -t sameersbn/openfire github.com/sameersbn/docker-openfire

Quickstart

Start Openfire using:

docker run --name openfire -d --restart=always \
  --publish 9090:9090 --publish 5222:5222 --publish 7777:7777 \
  --volume /srv/docker/openfire:/var/lib/openfire \
  sameersbn/openfire:3.10.3-19

Alternatively, you can use the sample docker-compose.yml file to start the container using Docker Compose

Point your browser to http://localhost:9090 and follow the setup procedure to complete the installation. The Build A Free Jabber Server In 10 Minutes video by HAKK5 should help you with the configuration and also introduce you to some of its features.

Persistence

For the Openfire to preserve its state across container shutdown and startup you should mount a volume at /var/lib/openfire.

The Quickstart command already mounts a volume for persistence.

SELinux users should update the security context of the host mountpoint so that it plays nicely with Docker:

mkdir -p /srv/docker/openfire
chcon -Rt svirt_sandbox_file_t /srv/docker/openfire

Logs

To access the Openfire logs, located at /var/log/openfire, you can use docker exec. For example, if you want to tail the logs:

docker exec -it openfire tail -f /var/log/openfire/info.log

Maintenance

Upgrading

To upgrade to newer releases:

  1. Download the updated Docker image:
docker pull sameersbn/openfire:3.10.3-19
  1. Stop the currently running image:
docker stop openfire
  1. Remove the stopped container
docker rm -v openfire
  1. Start the updated image
docker run -name openfire -d \
  [OPTIONS] \
  sameersbn/openfire:3.10.3-19

Shell Access

For debugging and maintenance purposes you may want access the containers shell. If you are using Docker version 1.3.0 or higher you can access a running containers shell by starting bash using docker exec:

docker exec -it openfire bash

References

docker-openfire's People

Contributors

lordfpl avatar paimpozhil avatar solidnerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-openfire's Issues

Admin console locking out

Hello, there were problems in older versions of OF that prevented login into the admin console even when the right credentials were used. I am having that problem with your docker image even though you are running the latest version of OF. Can you shed any light on 1) have other people had this problem recently 2) is there a fix that you know of.

For context - running the servers on coreos in AWS with a MySQL back end using RDS. I've tried

update ofUser set plainPassword='passwd', encryptedPassword = null where username ='admin';

And running a new container thru the setup process, but still cannot get it. One note is that
It does not seem that the ``/etc/init.d/openfire stop` is not working so I bounce the whole container - which sometimes corrupts the container and it has to be removed.

Thanks

'com.mysql.jdbc.drive' unable to load

Hi, I am trying to config and to get authentication information from linked mysql database, but the error "org.jivesoftware.openfire.auth.JDBCAuthProvider - Unable to load JDBC driver: null" occurs. Do I miss some path configuration or just need to rebuild the image based on the Dockfile in this repository?

How to use another certificate?

I have a certificate from StartSSL for my domain. Is it possible to use it with your openfire-Docker-container? If so: how? :)

Use Debian as base image

It may be worth switching the base image from Ubuntu to Debian.

Generally Debian's packages are a lot more thoroughly tested than Ubuntu and the base image is significantly smaller.

Help :)

Hi!
First of all, thanks a lot for sharing this dockfile! I hope I can help one day!

Looks like, the server isn't getting up... or something else is happing and I clearly don't know what's it.

image error

Here's the stdout, after I ran the command.

Starting openfire...
Openfire 3.9.3 [Nov 3, 2014 5:40:25 PM]
Admin console listening at http://1ea7243b78a6:9090

The question is, is this http://1ea7243b78a6:9090 normal?
I mean, shouldn't be showed localhost instead of 1ea7243b78a6??

openfire 4.0.1 slow performance

Hi,

I have used this docker succesfully to initialize a working openfire 4.0.1 container.
Works great but ...

I have really bad performance.

I have opened a threat on the openfire forum here but maybe someone here can also point me in the right direction to tune the docker container.

The JVM uses 120MB of the claimed 880 MB which according to the openfire docs would be sufficient for well over 500 concurrent users.

If I look at docker stats

CONTAINER              CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O             PIDS
sccsstest_sccof401_1   0.22%               375.4 MB / 4.145 GB   9.06%               14.91 MB / 31.42 MB   367.9 MB / 13.83 MB   0
sccsstest_scctc100_1   0.00%               6.042 MB / 4.145 GB   0.15%               25.14 kB / 648 B      491.5 kB / 0 B        0
sccsstest_sccml804_1   0.27%               1.831 GB / 4.145 GB   44.18%              9.596 MB / 8.481 MB   8.278 GB / 48.55 GB   0
sccsstest_sccnr100_1   0.00%               42.86 MB / 4.145 GB   1.03%               24.45 kB / 648 B      5.894 MB / 0 B        0
sccsstest_sccmt100_1   64.57%              170.4 MB / 4.145 GB   4.11%               648 B / 648 B         53.64 MB / 376.8 kB   0
sccsstest_scccluey_1   2.94%               189.3 MB / 4.145 GB   4.57%               1.252 MB / 26.84 MB   11.29 MB / 131.1 kB   0

I can see the openfire container (first line) actually uses 367 MB so no swapping or anything wierd afaik.

The tail of the log tries to close sessions which are no lionger used not sure how to get ride of these.

Tail log:

2016.06.08 10:03:30 org.jivesoftware.openfire.http.HttpSessionManager - Closing idle session: [email protected]/7ljbb8wp6a
2016.06.08 10:06:38 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: sccss-test.sensingclues.com to proxy.eu.jabber.org] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2016.06.08 10:07:02 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: sccss-test.sensingclues.com to proxy.eu.jabber.org] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.

Performance is 30 seconds + up to minutes...

Any clue or direction how to tackle this?

Regards,

hugo

The server keeps restarting

After i finished the configuration, the server just keeps restarting for some reason i dont know.

i used the latest branch.

started container/ entered the 9090 admin console.. after all the setup..

now looking at the docker logs [container] shows this..

2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for File Transfer Cache
2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Clearspace SSO Nonce
2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Offline Presence Cache
2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Last Activity Cache
2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for User
2014.06.10 22:10:24 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Remote Users Existence
2014.06.10 22:10:24 org.jivesoftware.openfire.XMPPServer - Shutting down 50 modules ...
2014.06.10 22:10:24 org.jivesoftware.openfire.XMPPServer - Shutting down plugins ...
2014.06.10 22:10:24 org.jivesoftware.openfire.XMPPServer - Openfire stopped
2014.06.10 22:10:24 org.jivesoftware.openfire.XMPPServer - Server halted
2014.06.10 22:10:26 org.jivesoftware.openfire.XMPPServer - Registering shutdown hook (standalone mode)
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Servers Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Components Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Users Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing AnonymousUsers Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing User Sessions
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Roster
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Multicast Service
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Offline Message Size
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for VCard
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Privacy Lists
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for File Transfer Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Clearspace SSO Nonce
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Offline Presence Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Last Activity Cache
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for User
2014.06.10 22:10:26 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Remote Users Existence
2014.06.10 22:10:26 org.jivesoftware.openfire.XMPPServer - Shutting down 50 modules ...
2014.06.10 22:10:26 org.jivesoftware.openfire.XMPPServer - Shutting down plugins ...
2014.06.10 22:10:26 org.jivesoftware.openfire.XMPPServer - Openfire stopped
2014.06.10 22:10:26 org.jivesoftware.openfire.XMPPServer - Server halted
2014.06.10 22:10:28 org.jivesoftware.openfire.XMPPServer - Registering shutdown hook (standalone mode)
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Servers Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Components Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing Users Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing AnonymousUsers Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Routing User Sessions
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Roster
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Multicast Service
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Offline Message Size
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for VCard
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Privacy Lists
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for File Transfer Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Clearspace SSO Nonce
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Offline Presence Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Last Activity Cache
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for User
2014.06.10 22:10:29 org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Remote Users Existence
2014.06.10 22:10:29 org.jivesoftware.openfire.XMPPServer - Shutting down 50 modules ...
2014.06.10 22:10:29 org.jivesoftware.openfire.XMPPServer - Shutting down plugins ...
2014.06.10 22:10:29 org.jivesoftware.openfire.XMPPServer - Openfire stopped
2014.06.10 22:10:29 org.jivesoftware.openfire.XMPPServer - Server halted

Failing to add the admin account

I run a fresh instance of the component and goes to the port 9090 to configure, final stage is to add the admin account. Which I now have tried to add in endless variants. When reloading to login, the server says "Login failed" make sure you are an admin..

I add my own domain for the server and all other configuration and a username password
specialcase: Using domain names with "-" they are removed for default admin

Openfire 3.9.3 [Jun 12, 2015 1:58:54 AM]
Admin console listening at http://02fbe406ad71:9090
Missing database schema for openfire. Attempting to install...
Database update successful.

after restart the domain name is right but I cannot login

and after changing the true to false in openfire.xml I get an error trying to change the admin password.

Outdated

Openfire version 3.10 is released. Please update your Dockerfile.

Announcements

Subscribe to this issue to get notified about project announcements.
This is mainly created so that you can keep up with the changes in the application.
Please do not use this thread to report issues.

After container restart, no longer able to connect to DB

Configured and initially setup with MySQL connection. Was able to connect and run through Openfire setup initially. Persistent volume is mounted at /data

After a "docker stop openfire" it then would not start. docker logs output below:

docker logs openfire
Starting openfire...
Openfire 3.9.3 [May 19, 2015 11:07:08 PM]
Admin console listening at http://b5753eac9308:9090
Missing database schema for openfire. Attempting to install...
Database update successful.
...
Database setup or configuration error: Please verify your database settings and check the logs/error.log file for detailed error messages.
java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Access denied for user 'imuser'@'x.x.x.x' (using password: YES)
    at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:759)
    at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:472)
    at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:197)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:113)
    at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:58)
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Access denied for user 'imuser'@'x.x.x.x' (using password: YES)
    at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:151)
    at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:749)
    ... 9 more
Error starting the server. Please check the log files for more information.
Server halted
Starting openfire...
Database setup or configuration error: Please verify your database settings and check the logs/error.log file for detailed error messages.
java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Access denied for user 'imuser'@'66.162.157.233' (using password: YES)
    at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:759)
    at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:472)
    at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:197)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:113)
    at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:58)
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Access denied for user 'imuser'@'X.X.X.X' (using password: YES)
    at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:151)
    at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:749)
    ... 9 more
Error starting the server. Please check the log files for more information.
Server halted

Host info:
Ubuntu 14.04

docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.