# https://docs.pleroma.social/backend/installation/otp_en/ --- - hosts: pleroma become: yes tasks: # cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.conf # ln -s /etc/nginx/sites-available/pleroma.conf /etc/nginx/sites-enabled/pleroma.conf - copy: src: /opt/pleroma/installation/pleroma.nginx dest: /etc/nginx/sites-available/pleroma.conf remote_src: yes notify: Restart nginx - file: src: /etc/nginx/sites-available/pleroma.conf dest: /etc/nginx/sites-enabled/pleroma.conf state: link notify: Restart nginx - replace: path: /etc/nginx/sites-available/pleroma.conf regexp: 'example\.tld' replace: "{{ pleroma_tld }}" notify: Restart nginx # Copy the service into a proper directory # cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service - copy: src: /opt/pleroma/installation/pleroma.service dest: /etc/systemd/system/pleroma.service remote_src: yes # Start pleroma and enable it on boot # systemctl start pleroma # systemctl enable pleroma notify: Restart pleroma # Create the directory for webroot challenges # mkdir -p /var/lib/letsencrypt - file: path: /var/lib/letsencrypt state: directory # Add it to the daily cron # echo '#!/bin/sh # certbot renew --cert-name yourinstance.tld --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx" # ' > /etc/cron.daily/renew-pleroma-cert # chmod +x /etc/cron.daily/renew-pleroma-cert - template: src: renew-pleroma-cert dest: /etc/cron.daily/renew-pleroma-cert mode: +x handlers: - name: Restart nginx service: name: nginx state: restarted - name: Restart pleroma service: name: pleroma enabled: yes state: restarted