Dockerfile to build a Prosody XMPP server container image.
The base Prosody image does not come with any preconfigured virtual hosts other than localhost
. Users are expected to write their own virtual host and component configuration files and then mount them into the container at /etc/prosody/vhost.d/
and /etc/prosody/cmpt.d/
respectively. There are however a number of environment variables available to modify the global configuration as desired, these are documented below.
Default value: info
Determines which log level to use for the console output, possible values are info
, warn
, error
and debug
.
Default value: none
Example: -e PROSODY_MODULES_AVAILABLE='lastlog firewall swedishchef'
A space-separated list of modules to symlink from /opt/prosody-modules-available/
to /opt/prosody-modules-enabled/
, does not enable them by default however. You then
need to specify within PROSODY_MODULES_ENABLED
if you'd like them loaded globally.
Default value: none
Example: -e PROSODY_MODULES_ENABLED='websocket server_contact_info'
A space-separated list of modules to enable within the global modules_enabled configurartion block. This variable will also attempt to deduplicate any modules passed through.
Default value: none
Example: -e PROSODY_MODULES_DISABLED='s2s carbons'
A space-separated list of modules to disable, if they would be loaded automatically by Prosody.
Default value: internal
Example: -e PROSODY_DEFAULT_STORAGE='sql'
Default value: none
Example: -e PROSODY_STORAGE_ACCOUNTS='sql' -e PROSODY_STORAGE_ARCHIVE='sql'
A dynamic variable used to construct the storage
array within the main
Prosody configuration file. Allows for extremely granular control of your Prosody
data stores.
Default value: "epoll"
Default value: false
Default value: true
Default value: true
Default value: false
Default value: none
A space-separated list of that will not be required to authenticate using certificates.
Default value: none
A space-separated list of domains which still require valid certificates
even if you leave s2s_secure_auth
disabled.
If either PROSODY_DEFAULT_STORAGE
or any of the PROSODY_STORAGE_<store>
variables are set to sql
, the entrypoint script will automatically detect this and make available the configuration options to allow for database connections as environment variables. The base image contains all three drivers needed to connect to PostgreSQL, MySQL or SQLite3 databases.
Default value: PostgreSQL
Default value: prosody
Default value: postgresql
Default value: 5432
Default value: prosody
Default value: none
(will die
if not set)