snikket-server/ansible/tasks/prosody.yml

132 lines
3.0 KiB
YAML
Raw Normal View History

2020-01-31 13:46:46 +00:00
---
- name: "Install Lua 5.2"
apt:
name: lua5.2
state: present
install_recommends: no
2020-01-31 13:46:46 +00:00
- name: "Add Prosody package signing key"
apt_key:
url: "https://packages.prosody.im/debian/pubkey.asc"
- name: "Add Prosody package repo"
apt_repository:
repo: "deb https://packages.prosody.im/debian buster main"
- name: "Install Prosody package"
apt:
name: prosody-trunk
state: present
install_recommends: yes
- name: "Deploy Prosody config"
copy:
src: ../files/prosody.cfg.lua
dest: /etc/prosody/prosody.cfg.lua
- name: "Create Prosody data directory"
file:
state: directory
path: /snikket/prosody
owner: prosody
group: prosody
mode: 0750
- name: "Create Prosody modules directory"
file:
state: directory
path: /etc/prosody/modules
- name: "Create web root directory"
file:
state: directory
path: /var/www
- name: "FIXME Workaround for Prosody package bug"
file:
path: /etc/prosody/certs
state: directory
owner: prosody
group: adm
mode: 0750
recurse: yes
- name: "Disable Prosody init script"
service:
name: prosody
enabled: no
- name: "Stop Prosody if running"
service:
name: prosody
state: stopped
- name: "Allow Prosody to bind service ports"
command: setcap 'cap_net_bind_service=+ep' /usr/bin/lua5.2
2020-01-31 13:46:46 +00:00
- name: Install Mercurial
apt:
name: mercurial
state: present
install_recommends: no
- name: Clone prosody-modules
hg:
repo: https://hg.prosody.im/prosody-modules
dest: /usr/local/lib/prosody-modules
revision: 6d595857164a
2020-01-31 13:46:46 +00:00
purge: yes
update: yes
- name: Enable wanted modules
file:
state: link
src: "/usr/local/lib/prosody-modules/{{item}}"
dest: "/etc/prosody/modules/{{item}}"
loop:
- mod_smacks
- mod_cloud_notify
- mod_cloud_notify_encrypted
- mod_cloud_notify_priority_tag
- mod_cloud_notify_filters
2020-01-31 13:46:46 +00:00
- mod_block_registrations
- mod_compact_resource
- mod_conversejs
- mod_http_upload
- mod_lastlog
- mod_limit_auth
- mod_password_policy
- mod_roster_allinall
- mod_strict_https
- mod_vcard_muc
- mod_reload_modules
- mod_email
- mod_http_altconnect
- mod_bookmarks
- mod_default_bookmarks
2020-01-31 19:57:54 +00:00
- mod_firewall
- mod_turncredentials
- mod_admin_notify
2021-01-22 12:39:07 +00:00
- mod_http_oauth2
- mod_http_admin_api
- mod_rest
- mod_groups_migration
- mod_invites
- mod_invites_adhoc
- mod_invites_api
- mod_invites_groups
- mod_invites_page
- mod_invites_register
- mod_invites_register_api
- mod_invites_tracking
- mod_groups_internal
- mod_groups_muc_bookmarks
- mod_muc_defaults
- mod_muc_local_only
2020-01-31 13:46:46 +00:00
- name: Enable wanted modules
file:
state: link
src: "/usr/local/lib/snikket-modules/{{item}}"
dest: "/etc/prosody/modules/{{item}}"
loop:
- mod_update_check
- mod_update_notify
- mod_invites_default_group
- mod_invites_bootstrap
- name: "Install lua-ossl for encrypted push notifications"
apt:
name: lua-luaossl
state: present
install_recommends: no