Docker image building system for the Prosody XMPP server
Find a file
2014-11-14 13:36:44 +00:00
.gitignore Ignore copied in file 2014-11-13 20:34:35 +00:00
build-docker.sh Clean up 2014-11-13 20:34:19 +00:00
Dockerfile Daemonize = false 2014-11-14 13:36:44 +00:00
README.md Add building details to the readme 2014-11-14 09:12:07 +00:00

Prosody Docker

This is the Prosody Docker image building repository. Its only really designed to be used on the Prosody build server for pushing to the Docker registry.

It works by coping in a recently built deb file and running the install on the system.

Running

Docker images are built off an Ubuntu 14.04 LTS base.

docker run -d prosody/prosody --name prosody -p 5222:5222

Ports

The image exposes the following ports to the docker host:

  • 80: HTTP port
  • 5222: c2s port
  • 5269: s2s port
  • 5347: XMPP component port
  • 5280: BOSH / websocket port

Note: These default ports can be changed in your configuration file. Therefore if you change these ports will not be exposed.

Volumes

Volumes can be mounted at the following locations for adding in files:

  • /etc/prosody:
    • Prosody configuration file(s)
    • SSL certificates
  • /var/log/prosody:
    • Log files for prosody - if not mounted these will be stored on the system
    • Note: This location can be changed in the configuration, update to match
  • /usr/lib/prosody-modules (suggested):

Example

docker run -d prosody/prosody:0.9 \
   -p 5222:5222 \
   -p 5269:5269 \
   -p localhost:5347:5347 \
   -v /etc/prosody /data/prosody/configuration \
   -v /var/log/prosody /logs/prosody \
   -v /usr/lib/prosody-modules /data/prosody/modules

Building

Use the build-docker.sh script as follows:

./build-docker.sh /path/to/built-image.deb version_tag

Where argument 1 is a pointer to the build deb file that you'd like to make an image from and 'version_tag' is the tag you'd like to push to the Docker registry with. After running the script will clean up any images generated (but not the base images - for efficiency purposes).