--- - name: add users become: yes user: name="pleroma" shell="/bin/false" home="/opt/pleroma" system="yes" - name: apt install pleroma dependencies become: yes apt: name="libtinfo5" - name: create config and data directory become: yes file: path: "{{item}}" state: "directory" mode: "0755" with_items: - "{{pleroma_data_dir}}" - "/etc/pleroma" - "/opt/pleroma" - name: install pleroma config template: src: "config.exs.j2" dest: "/etc/pleroma/{{pleroma_instance}}.config.exs" owner: "pleroma" group: "pleroma" mode: "0600" become: yes notify: restart pleroma instance - name: create instance data directory become: yes file: path: "{{item}}" state: "directory" owner: "pleroma" group: "pleroma" mode: "0755" with_items: - "{{pleroma_data_dir}}/{{pleroma_instance}}" - "{{pleroma_data_dir}}/{{pleroma_instance}}/uploads" - "{{pleroma_data_dir}}/{{pleroma_instance}}/static" - "{{pleroma_data_dir}}/{{pleroma_instance}}/static/emoji" - name: install pleroma db schema file become: yes template: src: "setup_db.psql.j2" dest: "/tmp/setup_db_{{pleroma_instance}}.psql" owner: "{{pleroma_db_superuser}}" group: "{{pleroma_db_superuser}}" mode: "0600" - name: install pleroma psql become: yes become_user: "{{pleroma_db_superuser}}" command: "psql -f /tmp/setup_db_{{pleroma_instance}}.psql" changed_when: false - name: download and unarchive pleroma release become: yes unarchive: src: "{{pleroma_download_url}}" dest: "/tmp/" creates: "/tmp/release" remote_src: yes notify: restart pleroma instance - name: install pleroma release become: yes copy: remote_src: true src: "/tmp/release/" dest: "/opt/pleroma/" owner: "pleroma" group: "pleroma" changed_when: false - name: download and unarchive soapbox frontend unarchive: src: "{{pleroma_soapbox_download_url}}" dest: "/tmp/" creates: "/tmp/static" remote_src: yes when: pleroma_soapbox - name: install soapbox frontend become: yes copy: remote_src: true src: "/tmp/static/" dest: "{{pleroma_data_dir}}/{{pleroma_instance}}/static/" owner: "pleroma" group: "pleroma" mode: "0755" when: pleroma_soapbox changed_when: false - name: configure pleroma systemd service become: yes copy: src: "pleroma@.service" dest: "/lib/systemd/system/pleroma@.service" notify: restart pleroma instance - name: ensure pleroma instance is enabled and started become: yes systemd: name="pleroma@{{pleroma_instance}}.service" enabled="yes" state="started" - name: migrate db become: yes become_user: "pleroma" command: "/opt/pleroma/bin/pleroma_ctl migrate" args: chdir: "/opt/pleroma/" environment: PLEROMA_CONFIG_PATH: "/etc/pleroma/{{pleroma_instance}}.config.exs" changed_when: false