Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.
-
configure
prosody.cfg.lua
-
$ docker run --name prosody -v $(pwd)/prosody/prosody.cfg.lua:/etc/prosody/prosody.cfg.lua -v $(pwd)/prosody/conf.d:/etc/prosody/conf.d -v $(pwd)/prosody/modules-custom:/usr/lib/prosody/modules-custom -p 5222:5222 -p 5269:5269 -d tobi312/prosody:latest
-
Environment Variables:
TZ
(set timezone, example: "Europe/Berlin")SELECT_COMMUNITY_MODULES
(select community modules, string with names separate with spaces)ENABLE_CONFD
(set 1 to enable, only when using default config)ENABLE_MODULE_PATHS
(set 1 to enable, only when using default config)
-
Ports (https://prosody.im/doc/ports):
5000
- proxy5222
- c2s5269
- s2s5280
- http5281
- https5347
- components
-
In
/entrypoint.d
you can store your own shell scripts, these are executed when the container is started. You can also store configuration files (*.cfg.lua
) there, these are automatically copied to the right place (prosody.cfg.lua
->/etc/prosody/
and*.cfg.lua
->/etc/prosody/conf.d
- last you must include conf.d in prosody.cfg.lua). The Volumes/etc/prosody/prosody.cfg.lua
and/etc/prosody/conf.d
are then no needed.
version: "2.4"
services:
prosody:
image: tobi312/prosody:latest
container_name: prosody
restart: unless-stopped
ports:
- 5000:5000
- 5222:5222
- 5269:5269
- 5280:5280
- 5281:5281
- 5347:5347
volumes:
## prosody config:
- ./prosody/prosody.cfg.lua:/etc/prosody/prosody.cfg.lua
- ./prosody/conf.d:/etc/prosody/conf.d
## optional own modules:
- ./prosody/modules-custom:/usr/lib/prosody/modules-custom
## optional: mount folder with own entrypoint-file(s) or *.cfg.lua files:
#- ./prosody/entrypoint.d:/entrypoint.d:ro
## optional: own ssl-cert and -key:
#- ./prosody/ssl/mySSL.crt:/etc/ssl/certs/ssl.crt:ro
#- ./prosody/ssl/mySSL.key:/etc/ssl/certs/ssl.key:ro
environment:
TZ: "Europe/Berlin"
SELECT_COMMUNITY_MODULES: "mod_cloud_notify mod_csi mod_http_upload mod_lastlog mod_mam_muc mod_smacks"
ENABLE_CONFD: 0
ENABLE_MODULE_PATHS: 0