Archived
1
0
Fork 0
This repository has been archived on 2024-01-27. You can view files and clone it, but cannot push or open issues or pull requests.
dockerfiles/prosody
Joerg Elfring 9e66475149 init
2017-12-09 16:46:17 +01:00
..
assets init 2017-12-09 16:46:17 +01:00
Dockerfile init 2017-12-09 16:46:17 +01:00
README.md init 2017-12-09 16:46:17 +01:00

Prosody Docker image

Create an image for running prosody XMPP server version 0.10 http://prosody.im/ on Alpine Linux.

HINT: This is not an official image. Builds might not happen regularly.

You will need to configure a vhost inside the config volume (prosody.cfg.lua).

The certificate generation with prosodyctl does not work. However, certificates can be put into the config volume or be linked in from an other volume (like letsencrypt). I suggest acme.sh for communication with Letsencrypt. https://github.com/Neilpang/acme.sh/wiki/Run-acme.sh-in-docker You need to configure the certificates location inside prosodys config.

IPORTANT: You really should add TLS.

Usage

Start the container with volumes for config, database and maybe additional certificates. Do not forget to customize your configuration!

$ docker run -d \
    -p 5222:5222 \
    -p 5269:5269 \
    -p 5280:5280 \
    -p 5281:5281 \
    --restart always \
    --name prosody \
    -v /etc/localtime:/etc/localtime:ro \
    -v prosody-acme:/usr/local/etc/prosody/certs:ro \
    -v prosody-cfg:/usr/local/etc/prosody:ro \
    -v prosody-data:/usr/local/var/lib/prosody \
    elfrinjo/prosody

To create the first user, exec into the running container and use prosodyctl.

$ docker exec -ti prosody bash
/ $ prosodyctl adduser JID

To Create a certificate for you host:

docker run --rm  -it \
    --volume prosody-acme:/acme.sh \
    --net=host \
    neilpang/acme.sh --issue  -d example.com -d conference.example.com --standalone

To renew the certificate:

docker run --rm  -it \
    --volume prosody-acme:/acme.sh \
    --net=host \
    neilpang/acme.sh --cron --standalone