diff --git a/Dockerfile b/Dockerfile index aacff6e..938b098 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,11 @@ -FROM prosody:latest +FROM prosody/prosody:0.11 +MAINTAINER Netz39 Administrators <admin@netz39.de> -# TODO All the other things … +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + mercurial \ + telnet \ + && rm -rf /var/lib/apt/lists/* + +RUN hg clone https://hg.prosody.im/prosody-modules/ /usr/local/lib/prosody-modules \ + && hg up --cwd /usr/local/lib/prosody-modules -C 38bd4d557413 diff --git a/README.md b/README.md index f16055c..8e714eb 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,61 @@ 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.