Kyun logo

tobi312/prosody

Docker Hub
updated 22d ago
2.2K pulls
Prosody (XMPP) - Docker Alpine Image for amd64, arm64, arm (Raspberry Pi)
Used in Recipes

Prosody (XMPP) on x86_64 and ARM (Raspberry Pi)

Note: There is also an official image that you can use: GitHub, DockerHub & Docs

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.

wikipedia.org/wiki/Prosody_(software))

logo

  • 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 - proxy
    • 5222 - c2s
    • 5269 - s2s
    • 5280 - http
    • 5281 - https
    • 5347 - 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/ssl.crt:/etc/prosody/certs/ssl.crt:ro
      #- ./prosody/ssl/ssl.key:/etc/prosody/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
    #user: 'prosody'
ask kyoko!