# prosody-docker

This is for running [prosody](https://prosody.im/) XMPP server software
as the [Netz39 Jabber-Server](https://jabber.n39.eu/) and maybe you can
use it, too?!

Based on more or less official
[prosody/prosody-docker](https://github.com/prosody/prosody-docker) with
ideas from
[OpusVL/prosody-docker](https://github.com/OpusVL/prosody-docker) and
[unclev/prosody-docker-extended](https://github.com/unclev/prosody-docker-extended)
…

## Usage

### Build

```
docker pull prosody/prosody:0.11
docker build --tag prosody:0.11 .
```

(Or whatever tag you like or need for your local deployments.)

### Run

Some things like the configuration file and the database obviously
reside outside of any image or container.  We used sqlite as database,
for other databases, you're on your own.  A local directory/file tree
could look like this:

```
.
├── etc
│   └── prosody
│       └── prosody.cfg.lua
└── var
    ├── lib
    │   └── prosody
    │       └── prosody.sqlite
    └── log
        └── prosody
```

You mount those as volumes to different points.  Some ports have to be
exposed to the host.

You can use a script to call `docker` with the required options like
this and name it `run.sh` and call it to start the container:

```sh
#!/bin/sh
docker run -d --name prosody --rm \
        -p 5222:5222 -p 5269:5269 \
        -v /srv/prosody/etc/prosody:/etc/prosody \
        -v /srv/prosody/var/lib/prosody:/var/lib/prosody \
        -v /srv/prosody/var/log/prosody:/var/log/prosody \
        prosody:0.11
```

## Development

Pull requests welcome.