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-0.11
2019-03-01 22:07:09 +01:00
..
assets Prosody: Small changes to default config 2019-03-01 22:07:09 +01:00
Dockerfile Prosody: Enable admin_web 2019-02-19 18:22:31 +01:00
README.md prosody: Fix Readme 2018-11-22 20:07:02 +01:00

Prosody Docker image

Source: https://bitbucket.org/elfrinjo/dockerfiles/src/master/prosody-0.11/

Create an image for running prosody XMPP server version 0.11 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. 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.

Upgrading from 0.10

The module configuration has to be updated:

  • Replace mod_omemo_all_access with mod_profile
  • Replace mod_mam_muc with mod_muc_mam
  • Disable mod_omemo_all_access

Usage

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

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

. . 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 pull neilpang/acme.sh
# 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 pull neilpang/acme.sh
# docker run --rm  -it \
    --volume prosody-acme:/acme.sh \
    --net=host \
    neilpang/acme.sh --cron --standalone
# docker run --rm \
    -v prosody-acme:/acme.sh \
    -v prosody-cfg:/target \
    neilpang/acme.sh --install-cert \
                      -d example.com \
                     --key-file /target/certs/example.com/example.com.key \
                     --fullchain-file /target/certs/example.com/fullchain.cer
# docker restart prosody