This commit is contained in:
Tiara Rodney 2026-03-14 05:38:45 +01:00
commit 883f31932e
No known key found for this signature in database
GPG key ID: 5CD8EC1D46106723
169 changed files with 5676 additions and 0 deletions

View file

@ -0,0 +1,84 @@
---
-
name: Ensure install directory exists
file:
path: "{{ install_dir }}"
state: directory
mode: "0755"
-
name: Ensure modules directory exists
file:
path: "{{ install_dir }}/modules"
state: directory
mode: "0755"
when: oauth_client_id is defined or default_contacts is defined or smtp_host is defined or session_timeout is defined
-
name: Deploy mod_auth_oauth_external
copy:
src: mod_auth_oauth_external.lua
dest: "{{ install_dir }}/modules/mod_auth_oauth_external.lua"
when: oauth_client_id is defined
-
name: Deploy mod_sasl_oauthbearer_only_bosh
copy:
src: mod_sasl_oauthbearer_only_bosh.lua
dest: "{{ install_dir }}/modules/mod_sasl_oauthbearer_only_bosh.lua"
when: oauth_client_id is defined
-
name: Deploy mod_default_contacts
template:
src: mod_default_contacts.lua.j2
dest: "{{ install_dir }}/modules/mod_default_contacts.lua"
when: default_contacts is defined
-
name: Deploy mod_session_timeout
copy:
src: mod_session_timeout.lua
dest: "{{ install_dir }}/modules/mod_session_timeout.lua"
when: session_timeout is defined
-
name: Deploy mod_offline_email
template:
src: mod_offline_email.lua.j2
dest: "{{ install_dir }}/modules/mod_offline_email.lua"
when: smtp_host is defined
-
name: Deploy prosody configuration
template:
src: prosody.cfg.lua.j2
dest: "{{ install_dir }}/prosody.cfg.lua"
-
name: Deploy docker-compose file
template:
src: docker-compose.yml.j2
dest: "{{ install_dir }}/docker-compose.yml"
-
name: Start prosody stack
include_role:
name: docker
tasks_from: start-compose
vars:
compose_project_dir: "{{ install_dir }}"
-
name: Deploy prosody backup script
include_role:
name: docker
tasks_from: deploy-backup
vars:
backup_name: prosody
backup_hook_dir: /etc/restic/pre-backup.d
backup_volumes:
- prosody_prosody_data
backup_files:
- "{{ install_dir }}/docker-compose.yml"
- "{{ install_dir }}/prosody.cfg.lua"

View file

@ -0,0 +1,4 @@
---
-
name: Deploy prosody
ansible.builtin.include_tasks: deploy-prosody.yml

View file

@ -0,0 +1,36 @@
---
-
name: Set backup staging directory
set_fact:
_prosody_backup_dir: "{{ backup_staging_dir | default('/var/backups') }}/prosody"
-
name: Stop prosody stack
community.docker.docker_compose_v2:
project_src: "{{ install_dir }}"
state: absent
-
name: Restore config files
copy:
src: "{{ _prosody_backup_dir }}/{{ item }}"
dest: "{{ install_dir }}/{{ item }}"
remote_src: yes
mode: "0600"
loop:
- docker-compose.yml
- prosody.cfg.lua
-
name: Restore prosody data volume
command: >
docker run --rm
-v prosody_prosody_data:/data
-v {{ _prosody_backup_dir }}:/backup
alpine sh -c "rm -rf /data/* && tar xzf /backup/prosody_data.tar.gz -C /data"
-
name: Start prosody stack
community.docker.docker_compose_v2:
project_src: "{{ install_dir }}"
state: present