/prosody-ansible

Ansible role for a fully-featured Prosody XMPP server setup

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

Prosody ansible role

Moved to https://gitlab.com/lxmx-tech/prosody-ansible

This role:

  1. Facilitates the Prosody XMPP server installation

  2. Enables all of the useful XMPP extensions supported by the Conversations XMPP client:

Requirements

  • CentOS 7 machine
  • SSL certificate for your domain name, put into files/ssl/example.com.key, files/ssl/example.com.pem (includes the CA chain).

Role Variables

The following variables should be set:

  • prosody_domain - the hostname of your server (e.g. example.com)
  • prosody_db_password - PostgreSQL database password (can be anything, the DB is created automatically)
  • prosody_enable_mam - whether or not to enable the MAM module (default is True).

Installation

  1. Create and run a playbook:

      - hosts: servers
        roles:
          - prosody
        vars:
          prosody_domain: 'example.com'
          prosody_db_password: 'changeme'
          prosody_enable_mam: False
    ansible-playbook -i hosts prosody.yml
    
  2. Create your admin user on the server:

    prosodyctl adduser admin@example.com
    
  3. Configure the DNS settings (replace example.com and 192.168.1.99):

    chat.example.com. 1800 IN A 192.168.1.99
    _xmpp-client._tcp.example.com. 1800 IN SRV 5 0 5222 chat.example.com.
    _xmpp-server._tcp.example.com. 1800 IN SRV 5 0 5269 chat.example.com.
    ftproxy.example.com. 1800 IN CNAME chat.example.com.
    conference.example.com. 1800 IN CNAME chat.example.com.
    _xmpp-server._tcp.conference.example.com. 1800 IN SRV 5 0 5269 chat.example.com.
    

More info

License

GNU GPLv3